Micro-optimize elementAffectsDirectionality().
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-02-27  Andreas Kling  <akling@apple.com>
2
3         Micro-optimize elementAffectsDirectionality().
4         <https://webkit.org/b/129444>
5
6         Tweak this function to skip an unnecessary bit check and use
7         fastHasAttribute() instead of hasAttribute() for looking up dirAttr.
8
9         ~1% speedup on DYEB/AngularJS.
10
11         Reviewed by Ryosuke Niwa.
12
13         * html/HTMLElement.cpp:
14         (WebCore::elementAffectsDirectionality):
15
16 2014-02-27  Brian Burg  <bburg@apple.com>
17
18         Web Inspector: model tests should use a special Test.html inspector page
19         https://bugs.webkit.org/show_bug.cgi?id=129190
20
21         Reviewed by Timothy Hatcher.
22
23         Convert InspectorController::isUnderTest() into a flag, and expose an
24         Internals method so it can be set by the test before opening the inspector.
25
26         Test: inspector/test-harness-trivially-works.html
27
28         * inspector/InspectorController.cpp:
29         (WebCore::InspectorController::evaluateForTestInFrontend):
30         * inspector/InspectorController.h:
31         * testing/Internals.cpp:
32         (WebCore::Internals::setInspectorIsUnderTest): Added.
33         * testing/Internals.h:
34         * testing/Internals.idl:
35
36 2014-02-27  Joseph Pecoraro  <pecoraro@apple.com>
37
38         Unreviewed build fix after r164824.
39
40         Accidentally re-added some code that was removed.
41
42         * page/ContentSecurityPolicy.cpp:
43
44 2014-02-26  Alex Christensen  <achristensen@webkit.org>
45
46         Compile fix when not using TEXTURE_MAPPER_GL.
47         https://bugs.webkit.org/show_bug.cgi?id=129417
48
49         Reviewed by Darin Adler.
50
51         * platform/graphics/texmap/TextureMapperGL.cpp:
52         Protect platformCreateAccelerated with USE(TEXTURE_MAPPER_GL).
53
54 2014-02-27  Joseph Pecoraro  <pecoraro@apple.com>
55
56         Web Inspector: JSContext inspection should report exceptions in the console
57         https://bugs.webkit.org/show_bug.cgi?id=128776
58
59         Reviewed by Timothy Hatcher.
60
61         Include some clean up of ConsoleMessage and ScriptCallStack construction.
62
63         Covered by existing tests.
64
65         * bindings/js/JSDOMBinding.cpp:
66         (WebCore::reportException):
67         Simplify code now that createStackTraceFromException handles it.
68
69         * page/ContentSecurityPolicy.cpp:
70         (WebCore::gatherSecurityPolicyViolationEventData):
71         (WebCore::ContentSecurityPolicy::reportViolation):
72         ScriptCallStack can give us the first non-native callframe.
73
74         * inspector/InspectorResourceAgent.cpp:
75         (WebCore::InspectorResourceAgent::buildInitiatorObject):
76         * inspector/PageDebuggerAgent.cpp:
77         (WebCore::PageDebuggerAgent::breakpointActionLog):
78         * inspector/TimelineRecordFactory.cpp:
79         (WebCore::TimelineRecordFactory::createGenericRecord):
80         * page/Console.cpp:
81         (WebCore::internalAddMessage):
82         (WebCore::Console::profile):
83         (WebCore::Console::profileEnd):
84         (WebCore::Console::timeEnd):
85         * page/ContentSecurityPolicy.cpp:
86         (WebCore::gatherSecurityPolicyViolationEventData):
87         (WebCore::ContentSecurityPolicy::reportViolation):
88         * page/DOMWindow.cpp:
89         (WebCore::DOMWindow::postMessage):
90
91 2014-02-27  Andreas Kling  <akling@apple.com>
92
93         Remove FeatureObserver.
94         <https://webkit.org/b/129439>
95
96         This code was only used by the Chromium port and nobody else is
97         making use of it.
98
99         Reviewed by Anders Carlsson.
100
101         * CMakeLists.txt:
102         * GNUmakefile.list.am:
103         * WebCore.vcxproj/WebCore.vcxproj:
104         * WebCore.vcxproj/WebCore.vcxproj.filters:
105         * WebCore.xcodeproj/project.pbxproj:
106         * dom/EventTarget.cpp:
107         (WebCore::EventTarget::fireEventListeners):
108         * dom/EventTarget.h:
109         * html/ColorInputType.cpp:
110         * html/ColorInputType.h:
111         * html/DateInputType.cpp:
112         * html/DateInputType.h:
113         * html/DateTimeInputType.cpp:
114         * html/DateTimeInputType.h:
115         * html/DateTimeLocalInputType.cpp:
116         * html/DateTimeLocalInputType.h:
117         * html/EmailInputType.cpp:
118         * html/EmailInputType.h:
119         * html/HTMLDataListElement.cpp:
120         (WebCore::HTMLDataListElement::create):
121         * html/HTMLFormControlElement.cpp:
122         (WebCore::HTMLFormControlElement::parseAttribute):
123         * html/HTMLInputElement.cpp:
124         (WebCore::HTMLInputElement::parseAttribute):
125         * html/HTMLTextFormControlElement.cpp:
126         (WebCore::HTMLTextFormControlElement::parseAttribute):
127         * html/InputType.cpp:
128         * html/InputType.h:
129         * html/MonthInputType.cpp:
130         * html/MonthInputType.h:
131         * html/NumberInputType.cpp:
132         * html/NumberInputType.h:
133         * html/RangeInputType.cpp:
134         * html/RangeInputType.h:
135         * html/SearchInputType.cpp:
136         * html/SearchInputType.h:
137         * html/TelephoneInputType.cpp:
138         * html/TelephoneInputType.h:
139         * html/TextInputType.cpp:
140         * html/TextInputType.h:
141         * html/TimeInputType.cpp:
142         * html/TimeInputType.h:
143         * html/URLInputType.cpp:
144         * html/URLInputType.h:
145         * html/WeekInputType.cpp:
146         * html/WeekInputType.h:
147         * loader/DocumentLoader.cpp:
148         (WebCore::DocumentLoader::responseReceived):
149         * loader/FrameLoader.cpp:
150         (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
151         (WebCore::FrameLoader::dispatchDidCommitLoad):
152         * page/ContentSecurityPolicy.cpp:
153         (WebCore::ContentSecurityPolicy::didReceiveHeader):
154         * page/EventHandler.cpp:
155         (WebCore::EventHandler::selectCursor):
156         * page/FeatureObserver.cpp: Removed.
157         * page/FeatureObserver.h: Removed.
158         * page/Page.h:
159         * rendering/RenderDeprecatedFlexibleBox.cpp:
160         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
161         * rendering/RenderLayer.cpp:
162         (WebCore::RenderLayer::calculateClipRects):
163         * workers/SharedWorker.cpp:
164         (WebCore::SharedWorker::create):
165         * workers/Worker.cpp:
166         (WebCore::Worker::create):
167
168 2014-02-27  Chris Fleizach  <cfleizach@apple.com>
169
170         speechSynthesis.speak of a zero length utterance kills future speech
171         https://bugs.webkit.org/show_bug.cgi?id=129403
172
173         Reviewed by Mario Sanchez Prada.
174
175         Empty length strings may choke a synthesizer and result in didFinishSpeaking not being called. 
176         The WebKit code should be proactive about screening out empty length strings.
177
178         Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html
179
180         * Modules/speech/SpeechSynthesis.cpp:
181         (WebCore::SpeechSynthesis::startSpeakingImmediately):
182
183 2014-02-27  Commit Queue  <commit-queue@webkit.org>
184
185         Unreviewed, rolling out r164783.
186         http://trac.webkit.org/changeset/164783
187         https://bugs.webkit.org/show_bug.cgi?id=129425
188
189         Broke number of multicol tests (Requested by anttik on
190         #webkit).
191
192         * rendering/RenderBlock.cpp:
193         (WebCore::RenderBlock::containingColumnsBlock):
194
195 2014-02-27  Antoine Quint  <graouts@webkit.org>
196
197         Respect SVG fragment identifiers in <img> src attribute
198         https://bugs.webkit.org/show_bug.cgi?id=129387
199
200         Reviewed by Antti Koivisto.
201
202         Test: svg/css/svg-resource-fragment-identifier-img-src.html
203
204         When providing an SVG image for a given renderer, check that the URL used to load
205         that image is taken into account in case it featured a fragment identifier, ensuring
206         that the CSS :target pseudo-class is correctly handled for SVG resources. This patch
207         is specific to <img> elements, specific support will also need to be added for various
208         CSS properties that support SVG images.
209
210         * svg/graphics/SVGImageCache.cpp:
211         (WebCore::SVGImageCache::imageForRenderer):
212         Check if the provided renderer is attached to an <img> element and, if so, pass the
213         resolved <img> source URL, taking into account srcset, to the SVGImageForContainer.
214
215         * svg/graphics/SVGImageForContainer.cpp:
216         (WebCore::SVGImageForContainer::setURL):
217         Trigger the FrameView machinery to ensure that the :target pseudo-class is respected
218         should the provided URL feature a fragment identifier.
219
220         * svg/graphics/SVGImageForContainer.h:
221         Declare the new setURL() method.
222
223 2014-02-27  Krzysztof Czech  <k.czech@samsung.com>
224
225         [ATK] Fix style errors in enum members
226         https://bugs.webkit.org/show_bug.cgi?id=129421
227
228         Reviewed by Mario Sanchez Prada.
229
230         No new tests. No new functionality.
231
232         Enum members should use InterCaps with an initial capital letter.
233
234         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
235         (getInterfaceMaskFromObject):
236
237 2014-02-27  Mihai Tica  <mitica@adobe.com>
238
239         [CSS Blending] Parse and implement the -webkit-isolation CSS property.
240
241         https://bugs.webkit.org/show_bug.cgi?id=128958
242
243         Reviewed by Dirk Schulze.
244
245         Parse and implement -webkit-isolation, part of the CSS Blending and Compositing spec.
246         This patch adds functionality for HTML and SVG.
247         -webkit-isolation: isolate restricts any child elements from blending with any of the content outside the isolated parent element.
248
249         Tests: css3/compositing/isolation-isolate-blended-child.html
250                css3/compositing/isolation-parsing.html
251                css3/compositing/svg-isolation-default.html
252                css3/compositing/svg-isolation-isolated-group.html
253                css3/compositing/svg-isolation-simple.html
254
255         * css/CSSComputedStyleDeclaration.cpp:
256         (WebCore::ComputedStyleExtractor::propertyValue):
257         * css/CSSParser.cpp:
258         (WebCore::isValidKeywordPropertyAndValue):
259         (WebCore::isKeywordPropertyID):
260         (WebCore::CSSParser::parseValue):
261         * css/CSSPrimitiveValueMappings.h:
262         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
263         (WebCore::CSSPrimitiveValue::operator Isolation):
264         * css/CSSPropertyNames.in: Add -webkit-isolation.
265         * css/CSSValueKeywords.in: Add the isolate value.
266         * css/DeprecatedStyleBuilder.cpp:
267         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
268         * css/StyleResolver.cpp:
269         (WebCore::StyleResolver::adjustRenderStyle): Explicitly set isolation:isolate to create a stacking context.
270         * rendering/style/RenderStyle.cpp:
271         (WebCore::RenderStyle::changeRequiresLayerRepaint): Changing isolation should trigger a repaint.
272         * rendering/style/RenderStyle.h: Setters and getters for isolation.
273         * rendering/style/RenderStyleConstants.h: Add Isolation enum.
274         * rendering/style/StyleRareNonInheritedData.cpp: Add m_isolation.
275         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
276         (WebCore::StyleRareNonInheritedData::operator==):
277         * rendering/style/StyleRareNonInheritedData.h:
278         * rendering/svg/SVGRenderingContext.cpp:
279         (WebCore::SVGRenderingContext::prepareToRenderSVGContent): If isolated, paint in a transparency layer.
280
281 2014-02-27  Krzysztof Czech  <k.czech@samsung.com>
282
283         [ATK] Utilize AtkTableCell to expose directly AccessibilityTableCell to AT
284         https://bugs.webkit.org/show_bug.cgi?id=129250
285
286         Reviewed by Mario Sanchez Prada.
287
288         Test: accessibility/table-scope.html
289
290         Exposing AtkTableCell to AT. Implementing possibility to get column headers and row headers
291         as an array of cells.
292
293         * GNUmakefile.list.am:
294         * PlatformEfl.cmake:
295         * accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: Added.
296         (convertToGPtrArray):
297         (core):
298         (webkitAccessibleTableCellGetColumnHeaderCells):
299         (webkitAccessibleTableCellGetRowHeaderCells):
300         (webkitAccessibleTableCellInterfaceInit):
301         * accessibility/atk/WebKitAccessibleInterfaceTableCell.h: Added.
302         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
303         (getInterfaceMaskFromObject):
304
305 2014-02-27  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
306
307         Improving containing column block determination
308         https://bugs.webkit.org/show_bug.cgi?id=125449
309
310         Reviewed by Darin Adler.
311
312         Making sure that the containing column block of any elements
313         can not be oneself.
314
315         Test: fast/css/crash-on-column-splitting.html
316
317         * rendering/RenderBlock.cpp:
318         (WebCore::RenderBlock::containingColumnsBlock):
319         (WebCore::RenderBlock::splitFlow):
320
321 2014-02-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
322
323         [GTK] Improve JavaScript multimedia controls
324         https://bugs.webkit.org/show_bug.cgi?id=129044
325
326         Reviewed by Jer Noble.
327
328         After webkit.org/b/123097 a follow up was needed to improve
329         accessibily and some other cosmetic problems, like cleaner CSS and
330         new missing baselines.
331
332         No new tests because of no new functionality.
333
334         * Modules/mediacontrols/mediaControlsApple.js:
335         Added hiding class name.
336         * Modules/mediacontrols/mediaControlsGtk.js:
337         (ControllerGtk.prototype.createControls): Set remaining time as
338         hidden by default and turned volumebox hidden into hiding.
339         (ControllerGtk.prototype.updateTime): Simplified the hiding and
340         showing by removing the show class and using hidden only.
341         (ControllerGtk.prototype.handleMuteButtonMouseOver):
342         (ControllerGtk.prototype.handleVolumeBoxMouseOut): Turned hidden
343         into hiding.
344         (ControllerGtk.prototype.updateReadyState): Changed coding style
345         and added down class for the panel too.
346         (ControllerGtk.prototype.updatePlaying): Change for coding style
347         coherence.
348         (ControllerGtk.prototype.handleCaptionButtonClicked): Call
349         handleCaptionButtonShowMenu.
350         (ControllerGtk.prototype.handleCaptionButtonMouseOver): Call
351         handleCaptionButtonShowMenu.
352         (ControllerGtk.prototype.handleCaptionButtonShowMenu): Created
353         with the former behavior of handleCaptionButtonMouseOver.
354         * css/mediaControlsGtk.css:
355         (.hidden): Set display none for all objects with hidden class.
356         (audio::-webkit-media-controls-panel *:focus):
357         (audio::-webkit-media-controls-panel.down *:focus): Added gradient
358         for the active and focus status.
359         (audio::-webkit-media-controls-time-remaining-display)
360         (video::-webkit-media-controls-time-remaining-display): Set
361         display block.
362         (audio::-webkit-media-controls-volume-slider-container)
363         (video::-webkit-media-controls-volume-slider-container): Set
364         display flex.
365         (video::-webkit-media-controls-volume-slider-container.hiding):
366         Changed from hidden.
367         (video::-webkit-media-controls-panel .hiding.down): Changed from
368         hidden.
369         * platform/gtk/RenderThemeGtk.cpp:
370         (WebCore::RenderThemeGtk::paintMediaButton): Returning true to
371         allow CSS painting the gradient.
372
373 2014-02-27  Zan Dobersek  <zdobersek@igalia.com>
374
375         Unreviewed. Fixing the GTK build fix after r164757.
376
377         * platform/network/NetworkStateNotifier.cpp: r164757 introduced a layering violation by including
378         the Settings.h header. The use of that class is guarded by PLATFORM(IOS), so the header inclusion
379         should be guarded as well.
380
381 2014-02-26  Ryosuke Niwa  <rniwa@webkit.org>
382
383         Extract named items caches in HTMLCollection as a class
384         https://bugs.webkit.org/show_bug.cgi?id=129365
385
386         Reviewed by Antti Koivisto.
387
388         Extracted CollectionNamedElementCache, like CollectionIndexCache, out of HTMLCollection.
389         We can move more named item related functions into this class in the future.
390
391         HTMLCollection's member variables m_isNameCacheValid, m_idCache, and m_nameCache were replaced by
392         a single unique_ptr that holds an instance of CollectionNamedElementCache since this object rarely
393         exists in most HTMLCollections.
394
395         Also removed m_isItemRefElementsCacheValid since it was only used by Microdata API removed in r153772
396         and renamed a whole bunch of member functions and variables for consistency.
397
398         * dom/Document.cpp:
399         (WebCore::Document::collectionCachedIdNameMap):
400         (WebCore::Document::collectionWillClearIdNameMap):
401         * dom/Document.h:
402         * dom/NodeRareData.h:
403         (WebCore::NodeListsNodeData::adoptDocument):
404         * html/HTMLAllCollection.cpp:
405         (WebCore::HTMLAllCollection::namedItemWithIndex):
406         * html/HTMLCollection.cpp:
407         (WebCore::HTMLCollection::HTMLCollection):
408         (WebCore::HTMLCollection::~HTMLCollection):
409         (WebCore::HTMLCollection::invalidateCache):
410         (WebCore::HTMLCollection::invalidateNamedElementCache): Renamed from invalidateIdNameCacheMaps.
411         (WebCore::HTMLCollection::namedItem):
412         (WebCore::HTMLCollection::updateNamedElementCache): Renamed from updateNameCache.
413         (WebCore::HTMLCollection::namedItems):
414
415         * html/HTMLCollection.h:
416         (WebCore::CollectionNamedElementCache::findElementsWithId): Renamed from HTMLCollection::idCache.
417         (WebCore::CollectionNamedElementCache::findElementsWithName): Renamed from HTMLCollection::nameCache.
418         (WebCore::CollectionNamedElementCache::appendIdCache): Moved from HTMLCollection.
419         (WebCore::CollectionNamedElementCache::appendNameCache): Ditto.
420         (WebCore::CollectionNamedElementCache::find): Ditto.
421         (WebCore::CollectionNamedElementCache::append): Ditto.
422
423         (WebCore::HTMLCollection::invalidateCache):
424         (WebCore::HTMLCollection::hasNamedElementCache): Renamed from hasIdNameCache.
425         (WebCore::HTMLCollection::createNameItemCache): Added.
426         (WebCore::HTMLCollection::namedItemCaches): Added.
427
428         * html/HTMLFormControlsCollection.cpp:
429         (WebCore::HTMLFormControlsCollection::updateNamedElementCache):
430         * html/HTMLFormControlsCollection.h:
431
432 2014-02-26  Ryosuke Niwa  <rniwa@webkit.org>
433
434         Indenting an indented image element resulted in an extra indentation
435         https://bugs.webkit.org/show_bug.cgi?id=129201
436
437         Reviewed by Enrica Casucci.
438
439         The bug was caused by endOfParagraph returning a position at the beginning of a block when the position
440         passed into the function was at the beginning of the block. Consider the following DOM:
441         <blockquote><img></blockquote>
442
443         When endOfParagraph is called on (blockquote, 0), the condition r->isBR() || isBlock(n) in endOfParagraph
444         matches immediately on startNode and it returns (blockquote, 0) again.
445
446         This resulted in moveParagraphWithClones invoked by indentIntoBlockquote to erroneously clone the inner
447         blockquote. Worked around this bug in ApplyBlockElementCommand::formatSelection by checking this specific
448         condition and moving the position to the end of the block. Unfortunately, a lot of existing code depends
449         on the current behavior of endOfParagraph so fixing the function itself was not possible.
450
451         There was another bug in indentIntoBlockquote to incorrectly insert a new blockquote into the existing
452         blockquote due to the code introduced in r99594 to avoid inserting before the root editable element.
453         Since this happens only if outerBlock is the root editable element, which is nodeToSplitTo or an ancestor
454         of nodeToSplitTo, explicitly look for this condition.
455
456         Test: editing/execCommand/indent-img-twice.html
457
458         * editing/ApplyBlockElementCommand.cpp:
459         (WebCore::ApplyBlockElementCommand::formatSelection):
460         (WebCore::isNewLineAtPosition):
461         * editing/IndentOutdentCommand.cpp:
462         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
463         * editing/VisibleUnits.cpp:
464         (WebCore::endOfParagraph): Added a FIXME.
465
466 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
467
468         Fix two assertions/crashes in compositing code
469         https://bugs.webkit.org/show_bug.cgi?id=129414
470
471         Reviewed by Dean Jackson.
472
473         Fix two issues introduced in r164759.
474
475         * rendering/RenderLayerCompositor.cpp:
476         (WebCore::RenderLayerCompositor::removeFromScrollCoordinatedLayers): Don't call
477         ourselves recursively!
478         (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): We call this
479         function unconditionally on layer teardown, so this assertion is bogus.
480
481 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
482
483         Fix the build with some compiler configurations.
484
485         * platform/mac/ScrollAnimatorMac.mm:
486         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
487         (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
488         (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
489
490 2014-02-26  Myles C. Maxfield  <mmaxfield@apple.com>
491
492         Ranges given to createMarkupInternal might not be canonicalized
493         https://bugs.webkit.org/show_bug.cgi?id=129408
494
495         Reviewed by Ryosuke Niwa.
496
497         When WebKit clients (such as Mail) call WKWebArchiveCreateFromRange() with a range,
498         that range is not necessarily canonicalized. Therefore, comparing it for equality
499         with a canonicalized range might return a false negative. Instead, we should compare
500         canonicalized ranges.
501
502         No new tests because this codepath will only be reached via SPI.
503
504         * editing/markup.cpp:
505         (WebCore::createMarkupInternal):
506
507 2014-02-26  Enrica Casucci  <enrica@apple.com>
508
509         [iOS WebKit2] Form controls handling: implement date and time controls.
510         https://bugs.webkit.org/show_bug.cgi?id=129344
511
512         Reviewed by Simon Fraser and Joseph Pecoraro.
513
514         Adding one localizable string.
515
516         * English.lproj/Localizable.strings:
517
518 2014-02-26  Simon Fraser  <simon.fraser@apple.com>
519
520         Prepare for overflow scrolling nodes in the scrolling tree
521         https://bugs.webkit.org/show_bug.cgi?id=129398
522
523         Reviewed by Tim Horton.
524
525         Lay some groundwork for overflow:scrolling nodes in the scrolling tree.
526         Change terminology to refer to "scroll-coordinatored" layers now, not just viewport-constrained
527         layers.
528         
529         A given layer can be both viewport-constrained and overflow-scrolling (e.g. position:fixed,
530         overflow:scroll), so handle that in RenderLayerBacking, and use some "reason" flags
531         in RenderLayerCompositor.
532
533         * page/FrameView.cpp:
534         (WebCore::FrameView::scrollLayerID): Rename
535         * page/scrolling/ScrollingStateTree.cpp:
536         (WebCore::ScrollingStateTree::attachNode): Remove invalid assertion.
537         * rendering/RenderLayerBacking.cpp:
538         (WebCore::RenderLayerBacking::RenderLayerBacking):
539         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
540         (WebCore::RenderLayerBacking::updateScrollingLayers): Simplify the logic with
541         an early return.
542         (WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
543         Allow a layer to play both viewport-constrained and scrolling roles
544         in the scrolling tree.
545         * rendering/RenderLayerBacking.h:
546         (WebCore::RenderLayerBacking::viewportConstrainedNodeID):
547         (WebCore::RenderLayerBacking::setViewportConstrainedNodeID):
548         (WebCore::RenderLayerBacking::scrollingNodeID):
549         (WebCore::RenderLayerBacking::setScrollingNodeID):
550         (WebCore::RenderLayerBacking::scrollingNodeIDForChildren):
551         * rendering/RenderLayerCompositor.cpp:
552         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
553         (WebCore::RenderLayerCompositor::didFlushChangesForLayer):
554         (WebCore::RenderLayerCompositor::updateBacking):
555         (WebCore::RenderLayerCompositor::layerWillBeRemoved):
556         (WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged):
557         (WebCore::RenderLayerCompositor::clearBackingForLayerIncludingDescendants):
558         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
559         (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
560         (WebCore::RenderLayerCompositor::reasonsForCompositing):
561         (WebCore::RenderLayerCompositor::requiresCompositingForScrolling):
562         (WebCore::isViewportConstrainedFixedOrStickyLayer):
563         (WebCore::isMainFrameScrollingOrOverflowScrolling):
564         (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
565         (WebCore::RenderLayerCompositor::updateScrollCoordinatedStatus):
566         (WebCore::RenderLayerCompositor::removeFromScrollCoordinatedLayers):
567         (WebCore::nearestScrollCoordinatedAncestor):
568         (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
569         (WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer):
570         (WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers):
571         (WebCore::RenderLayerCompositor::willRemoveScrollingLayer):
572         (WebCore::RenderLayerCompositor::didAddScrollingLayer):
573         * rendering/RenderLayerCompositor.h:
574
575 2014-02-26  Andy Estes  <aestes@apple.com>
576
577         [iOS] Support network state notification using CPNetworkObserver
578         https://bugs.webkit.org/show_bug.cgi?id=129358
579
580         Reviewed by Dan Bernstein.
581
582         Add iOS support for navigator.onLine and online/offline events. Since
583         it can be expensive to query CPNetworkObserver, wait to do so until
584         someone calls NetworkStateObserver::onLine() or
585         NetworkStateObserver::addNetworkStateChangeListener(). For clients that
586         don't wish to observe network reachability at all, add a global opt-out.
587         These clients will only pay the cost of CPNetworkObserver if they load
588         a page that explicitly accesses navigator.onLine.
589
590         No new tests. Covered by existing tests.
591
592         * WebCore.exp.in: Stopped exporting NetworkStateNotifier::setIsOnLine()
593         and started exporting Settings::gShouldOptOutOfNetworkStateObservation.
594         * WebCore.xcodeproj/project.pbxproj: Renamed NetworkStateNotifierIOS.cpp
595         to NetworkStateNotifierIOS.mm.
596         * page/Settings.cpp: Defaulted gShouldOptOutOfNetworkStateObservation
597         to false.
598         * page/Settings.h:
599         (WebCore::Settings::setShouldOptOutOfNetworkStateObservation):
600         (WebCore::Settings::shouldOptOutOfNetworkStateObservation):
601         * platform/network/NetworkStateNotifier.cpp:
602         (WebCore::NetworkStateNotifier::addNetworkStateChangeListener): Ignored
603         the listener if Settings::shouldOptOutOfNetworkStateObservation().
604         Called registerObserverIfNecessary() and added the listener otherwise.
605         (WebCore::NetworkStateNotifier::notifyNetworkStateChange): Const qualified.
606         * platform/network/NetworkStateNotifier.h
607         (NetworkStateNotifier::onLine):
608         * platform/network/ios/NetworkStateNotifierIOS.cpp: Removed.
609         * platform/network/ios/NetworkStateNotifierIOS.mm: Added.
610         (-[NetworkStateObserver initWithNotifier:WebCore::]): Registered self
611         as a network reachable observer on CPNetworkObserver.
612         (-[NetworkStateObserver dealloc]): Removed self as a network reachable
613         observer.
614         (-[NetworkStateObserver networkStateChanged:]): Called setOnLine() on
615         the web thread, passing the reachability value from the notification.
616         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
617         (WebCore::NetworkStateNotifier::~NetworkStateNotifier): Cleared
618         m_observer's pointer back to us.
619         (WebCore::NetworkStateNotifier::registerObserverIfNecessary): Initialized
620         m_observer if necessary.
621         (WebCore::NetworkStateNotifier::onLine): Called
622         registerObserverIfNecessary() and set an initial value for m_isOnLine
623         if m_isOnLineInitialized is false. Returned m_isOnLine.
624         (WebCore::setOnLine): Set m_isOnLine and called
625         notifyNetworkStateChange() if needed. Unconditionally set
626         m_isOnLineInitialized to true.
627
628 2014-02-26  Brian Burg  <bburg@apple.com>
629
630         Unreviewed build fix for !ENABLE(CONTEXT_MENUS).
631
632         I forgot to add guards to handleContextMenuEvent().
633
634         * replay/UserInputBridge.cpp:
635         * replay/UserInputBridge.h:
636
637 2014-02-26  Dean Jackson  <dino@apple.com>
638
639         [WebGL] Only skip context error retrieval if a pending context
640         https://bugs.webkit.org/show_bug.cgi?id=129397
641
642         Reviewed by Tim Horton.
643
644         A lost context should still ask the GC3D what the error is. Only
645         a pending context should return early.
646
647         * html/canvas/WebGLRenderingContext.cpp:
648         (WebCore::WebGLRenderingContext::getError):
649
650 2014-02-26  Brian Burg  <bburg@apple.com>
651
652         Web Replay: route through UserInputBridge when delivering user inputs to WebCore
653         https://bugs.webkit.org/show_bug.cgi?id=128150
654
655         Reviewed by Timothy Hatcher.
656
657         Add an UserInputBridge instance to each Page. WebKit2 routes a page's user inputs through
658         the WebCore page's user input bridge so that the inputs can be selectively captured, filtered,
659         and replayed using instrumentation inside the UserInputBridge.
660
661         For now, the routing methods of UserInputBridge have no replay-specific code paths, and just
662         put the input delivery code inside WebCore rather than its external clients. Replay-specific
663         code paths will be added once https://bugs.webkit.org/show_bug.cgi?id=128782 is fixed. However,
664         once complete the code will work as follows:
665
666         - When neither capturing or replaying, behavior is unchanged.
667
668         - When capturing user inputs, each external input is saved into a replay log as it crosses
669         the bridge from outside WebCore.
670
671         - When replaying, the bridge closes and user inputs from WebKit2 are not accepted. Instead,
672         the saved inputs from the replay log are re-dispatched as if they had crossed the bridge.
673
674         * CMakeLists.txt:
675         * GNUmakefile.am:
676         * GNUmakefile.list.am:
677         * WebCore.exp.in: Add symbols for input routing methods.
678         * WebCore.vcxproj/WebCore.vcxproj:
679         * WebCore.vcxproj/WebCore.vcxproj.filters:
680         * WebCore.xcodeproj/project.pbxproj:
681         * page/Page.cpp:
682         (WebCore::Page::Page): Initialize the owned UserInputBridge in the Page constructor.
683         * page/Page.h:
684         (WebCore::Page::inputBridge): Added a by-reference getter.
685         * replay/UserInputBridge.cpp: Added.
686         (WebCore::UserInputBridge::UserInputBridge):
687         (WebCore::UserInputBridge::~UserInputBridge):
688         (WebCore::UserInputBridge::handleContextMenuEvent):
689         (WebCore::UserInputBridge::handleMousePressEvent):
690         (WebCore::UserInputBridge::handleMouseReleaseEvent):
691         (WebCore::UserInputBridge::handleMouseMoveEvent):
692         (WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent):
693         (WebCore::UserInputBridge::handleKeyEvent):
694         (WebCore::UserInputBridge::handleAccessKeyEvent):
695         (WebCore::UserInputBridge::handleWheelEvent):
696         (WebCore::UserInputBridge::focusSetActive):
697         (WebCore::UserInputBridge::focusSetFocused):
698         (WebCore::UserInputBridge::scrollRecursively):
699         (WebCore::UserInputBridge::logicalScrollRecursively):
700         (WebCore::UserInputBridge::loadRequest):
701         (WebCore::UserInputBridge::reloadFrame):
702         (WebCore::UserInputBridge::stopLoadingFrame):
703         (WebCore::UserInputBridge::tryClosePage):
704         * replay/UserInputBridge.h: Added.
705
706 2014-02-26  Dean Jackson  <dino@apple.com>
707
708         [WebGL] Protect more WebGL entry points for pending contexts
709         https://bugs.webkit.org/show_bug.cgi?id=129386
710
711         Reviewed by Tim Horton.
712
713         There are entry points into a WebGLRenderingContext that don't
714         come from the web-exposed API directly, such as drawImage with
715         the WebGL canvas. Protect these by returning early if we're
716         a pending context.
717
718         Also a bunch of drive-by 0 -> nullptr changes.
719
720         * html/canvas/WebGLRenderingContext.cpp:
721         (WebCore::WebGLRenderingContext::markLayerComposited):
722         (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
723         (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
724         (WebCore::WebGLRenderingContext::reshape):
725         (WebCore::WebGLRenderingContext::createBuffer):
726         (WebCore::WebGLRenderingContext::createFramebuffer):
727         (WebCore::WebGLRenderingContext::createTexture):
728         (WebCore::WebGLRenderingContext::createProgram):
729         (WebCore::WebGLRenderingContext::createRenderbuffer):
730         (WebCore::WebGLRenderingContext::createShader):
731         (WebCore::WebGLRenderingContext::getActiveAttrib):
732         (WebCore::WebGLRenderingContext::getActiveUniform):
733         (WebCore::WebGLRenderingContext::getContextAttributes):
734         (WebCore::WebGLRenderingContext::getError):
735         (WebCore::WebGLRenderingContext::getExtension):
736         (WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
737         (WebCore::WebGLRenderingContext::getUniformLocation):
738         (WebCore::WebGLRenderingContext::drawImageIntoBuffer):
739         (WebCore::WebGLRenderingContext::videoFrameToImage):
740         (WebCore::WebGLRenderingContext::validateBufferDataParameters):
741         (WebCore::WebGLRenderingContext::LRUImageBufferCache::imageBuffer):
742
743 2014-02-26  Bem Jones-Bey  <bjonesbe@adobe.com>
744
745         [CSS Shapes] inset and inset-rectangle trigger assert with replaced element and large percentage dimension
746         https://bugs.webkit.org/show_bug.cgi?id=129060
747
748         Reviewed by Simon Fraser.
749
750         A bounds check was omitted when computing the width and height for inset
751         rectangles, making it possible for the width or height to end up being
752         negative. This patch adds in that check for both. It seems that only
753         replaced elements like iframe and img trigger this problem.
754
755         Tests: fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-negative-width-crash.html
756                fast/shapes/shape-outside-floats/shape-outside-floats-img-inset-rectangle-negative-width-crash.html
757
758         * rendering/shapes/Shape.cpp:
759         (WebCore::Shape::createShape):
760
761 2014-02-26  Myles C. Maxfield  <mmaxfield@apple.com>
762
763         Underlines are too thick when zoomed in
764         https://bugs.webkit.org/show_bug.cgi?id=129352
765
766         Reviewed by Dean Jackson.
767
768         The input to the underline drawing code is in user-space, not device-space.
769         The underlines were getting scaled twice, once in InlineTextBox and the other
770         in GraphicsContext.
771
772         Test: fast/css3-text/css3-text-decoration/text-decoration-scaled.html
773
774         * rendering/InlineTextBox.cpp:
775         (WebCore::InlineTextBox::paintDecoration):
776
777 2014-02-26  Andreas Kling  <akling@apple.com>
778
779         Remove unused InspectorCounters.
780         <https://webkit.org/b/129367>
781
782         The InspectorCounters code was only used to implement two layout test
783         APIs (window.internals.numberOfLive{Nodes,Documents}) yet it had hooks
784         in crazy places like Node construction and destruction.
785
786         Rewrote the internals APIs to iterate over all live Documents instead,
787         totaling up their referencing Node count. Added a process-global
788         Document::allDocuments() HashSet to make this whole thing possible.
789
790         Reviewed by Sam Weinig.
791
792         * CMakeLists.txt:
793         * GNUmakefile.list.am:
794         * WebCore.exp.in:
795         * WebCore.vcxproj/WebCore.vcxproj:
796         * WebCore.vcxproj/WebCore.vcxproj.filters:
797         * WebCore.xcodeproj/project.pbxproj:
798         * bindings/js/JSEventListener.cpp:
799         * dom/Document.cpp:
800         (WebCore::Document::allDocuments):
801         (WebCore::Document::Document):
802         (WebCore::Document::~Document):
803         * dom/Document.h:
804         (WebCore::Node::Node):
805         * dom/Node.cpp:
806         (WebCore::Node::~Node):
807         * inspector/InspectorAllInOne.cpp:
808         * inspector/InspectorCounters.cpp: Removed.
809         * inspector/InspectorCounters.h: Removed.
810         * inspector/InspectorTimelineAgent.cpp:
811         (WebCore::InspectorTimelineAgent::start):
812         (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
813         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
814         * inspector/InspectorTimelineAgent.h:
815         * inspector/protocol/Timeline.json:
816         * platform/ThreadGlobalData.cpp:
817         * testing/Internals.cpp:
818         (WebCore::Internals::numberOfLiveNodes):
819         (WebCore::Internals::numberOfLiveDocuments):
820         * testing/Internals.h:
821         * testing/Internals.idl:
822
823 2014-02-26  Joseph Pecoraro  <pecoraro@apple.com>
824
825         Web Inspector: Remove console.profiles from window.console API
826         https://bugs.webkit.org/show_bug.cgi?id=116883
827
828         Reviewed by Timothy Hatcher.
829
830         console.profiles has been removed or never implemented by other
831         browsers. We should remove it as well. However, since tests
832         rely on it, keep it as window.internals.consoleProfiles.
833
834         * WebCore.exp.in:
835         * page/Console.idl:
836         * testing/Internals.cpp:
837         (WebCore::Internals::consoleProfiles):
838         * testing/Internals.h:
839         * testing/Internals.idl:
840
841 2014-02-26  Martin Hock  <mhock@apple.com>
842
843         Create SessionID value-style class for session IDs.
844         https://bugs.webkit.org/show_bug.cgi?id=129141
845
846         Reviewed by Sam Weinig.
847
848         * GNUmakefile.list.am:
849         * WebCore.exp.in:
850         * WebCore.xcodeproj/project.pbxproj:
851         * page/Page.cpp: Add SessionID member.
852         (WebCore::Page::Page):
853         (WebCore::Page::sessionID): Retrieve sessionID or use settings if not set.
854         * page/Page.h:
855         (WebCore::Page::isSessionIDSet):
856         (WebCore::Page::setSessionID):
857         * page/SessionID.h: Session ID class consisting solely of its uint64_t session ID.
858         (WebCore::SessionID::SessionID):
859         (WebCore::SessionID::isValid): Not empty.
860         (WebCore::SessionID::isEphemeral):
861         (WebCore::SessionID::sessionID):
862         (WebCore::SessionID::operator==): Value-based equality.
863         (WebCore::SessionID::operator!=):
864         (WebCore::SessionID::emptySessionID): Zero value also used for HashTraits emptyValue.
865         (WebCore::SessionID::defaultSessionID):
866         (WebCore::SessionID::legacyPrivateSessionID):
867         * page/SessionIDHash.h:
868         (WTF::SessionIDHash::hash): Just the casted session ID (low order bytes)
869         (WTF::SessionIDHash::equal):
870         (WTF::HashTraits<WebCore::SessionID>::emptyValue): Equal to emptySessionID.
871         (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): -1 value.
872         (WTF::HashTraits<WebCore::SessionID>::isDeletedValue):
873
874 2014-02-26  Eric Carlson  <eric.carlson@apple.com>
875
876         Fix builds that don't define IMAGE_CONTROLS.
877
878         * page/ContextMenuContext.cpp:
879         (WebCore::ContextMenuContext::ContextMenuContext):
880
881 2014-02-26  Eric Carlson  <eric.carlson@apple.com>
882
883         Build fix for OS X after r164720.
884
885         * page/ContextMenuContext.cpp:
886
887 2014-02-26  Brady Eidson  <beidson@apple.com>
888
889         Pipe experimental image controls menu up to WebKit2
890         https://bugs.webkit.org/show_bug.cgi?id=129339
891
892         Reviewed by Simon Fraser.
893
894         Handle events for the image control, starting down the context menu code path if appropriate:
895         * html/shadow/mac/ImageControlsRootElementMac.cpp:
896         (WebCore::ImageControlsRootElementMac::defaultEventHandler):
897         * html/shadow/mac/ImageControlsRootElementMac.h:
898
899         Add a class to hold a HitTestResult and addition info about the current ContextMenu invocation:
900         * page/ContextMenuContext.cpp: Added.
901         (WebCore::ContextMenuContext::ContextMenuContext):
902         * page/ContextMenuContext.h: Added.
903         (WebCore::ContextMenuContext::hitTestResult):
904         (WebCore::ContextMenuContext::isImageControl):
905
906         Update ContextMenuController to work with ContextMenuContext instead of HitTestResult directly:
907         * page/ContextMenuController.cpp:
908         (WebCore::ContextMenuController::showContextMenu):
909         (WebCore::ContextMenuController::createContextMenu):
910         (WebCore::ContextMenuController::contextMenuItemSelected):
911         (WebCore::ContextMenuController::populate):
912         (WebCore::ContextMenuController::addInspectElementItem):
913         (WebCore::ContextMenuController::checkOrEnableIfNeeded):
914         (WebCore::ContextMenuController::showImageControlsMenu):
915         * page/ContextMenuController.h:
916         (WebCore::ContextMenuController::contextMenu):
917         (WebCore::ContextMenuController::setContextMenuContext):
918         (WebCore::ContextMenuController::context):
919         (WebCore::ContextMenuController::hitTestResult):
920
921         * CMakeLists.txt:
922         * GNUmakefile.list.am:
923         * WebCore.vcxproj/WebCore.vcxproj:
924         * WebCore.xcodeproj/project.pbxproj:
925
926 2014-02-26  Zan Dobersek  <zdobersek@igalia.com>
927
928         REGRESSION(r162947): Document::topDocument() returns an incorrect reference for cached Documents
929         https://bugs.webkit.org/show_bug.cgi?id=128175
930
931         Reviewed by Antti Koivisto.
932
933         * dom/Document.cpp:
934         (WebCore::Document::topDocument): Fall back to pre-r162947 way of determining the top document
935         when the Document is in page cache or is in the middle of having its render tree destroyed.
936         In the first case, the determined top document is actually the document currently loaded in the
937         Frame to which the cached document is still connected, which is obviously not desired. In the
938         second case the top document is similarly incorrectly deduced, leading to non-deletion of the
939         proper top document's AXObjectCache. Because of this AccessibilityRenderObjects are not detached
940         which results in assertions in RenderObject destructor where the objects are found to be still
941         flagged as in use by the AX cache.
942
943 2014-02-26  Mihnea Ovidenie  <mihnea@adobe.com>
944
945         [CSSRegions] Remove unused method RenderFlowThread::updateLayerToRegionMappings()
946         https://bugs.webkit.org/show_bug.cgi?id=129368
947
948         Reviewed by Andrei Bucur.
949
950         Remove unused code, no new tests.
951
952         * rendering/RenderFlowThread.h:
953
954 2014-02-26  Xabier Rodriguez Calvar  <calvaris@igalia.com>
955
956         [GTK] Regression when showing the captions menu
957         https://bugs.webkit.org/show_bug.cgi?id=129106
958
959         Reviewed by Martin Robinson.
960
961         In some cases, when clicking the captions button the menu was not
962         shown.
963
964         Updated test: media/video-controls-captions-trackmenu.html
965
966         * Modules/mediacontrols/mediaControlsGtk.js:
967         (ControllerGtk.prototype.buildCaptionMenu):
968         (ControllerGtk.prototype.showCaptionMenu): Specify sizes in
969         pixels.
970
971 2014-02-26  Ryosuke Niwa  <rniwa@webkit.org>
972
973         Avoid unnecessary HTML Collection invalidations for id and name attribute changes
974         https://bugs.webkit.org/show_bug.cgi?id=129361
975
976         Reviewed by Benjamin Poulain.
977
978         Before this patch, setting id and name attributes resulted in traversing all the ancestors to invalidate
979         HTML collections on those nodes whenever we had more than one HTMLCollection alive.
980
981         Avoid the traversal when HTMLCollections don't have any valid id and name map caches by making each
982         HTMLCollection explicitly call collectionCachedIdNameMap and collectionWillClearIdNameMap when it caches
983         or clears the id and name map.
984
985         Inspired by https://chromium.googlesource.com/chromium/blink/+/5b06b91b79098f7d42e480f85be32198315d2440
986
987         * dom/Document.cpp:
988         (WebCore::Document::registerCollection): Takes a boolean to indicate whether collection has a valid cache
989         for the id and name map.
990         (WebCore::Document::unregisterCollection): Ditto.
991         (WebCore::Document::collectionCachedIdNameMap): Added.
992         (WebCore::Document::collectionWillClearIdNameMap): Added.
993         * dom/Document.h:
994
995         * dom/NodeRareData.h:
996         (WebCore::NodeListsNodeData::adoptDocument): Call invalidateCache on HTML collections after, not before,
997         calling unregisterCollection and registerCollection since collections' owner nodes have already been
998         moved to the new document here and invalidateCache uses owner node's document to call
999         collectionWillClearIdNameMap. So calling invalidateCache before calling unregister/registerCollection
1000         would result in collectionWillClearIdNameMap getting called on a wrong document.
1001
1002         * html/HTMLCollection.cpp:
1003         (WebCore::HTMLCollection::HTMLCollection):
1004         (WebCore::HTMLCollection::~HTMLCollection):
1005         (WebCore::HTMLCollection::invalidateCache):
1006         (WebCore::HTMLCollection::invalidateIdNameCacheMaps): Added the code to uncount itself from the number
1007         of live node lists and HTML collections that need to be invalidated upon id and name attribute changes.
1008         (WebCore::HTMLCollection::updateNameCache):
1009
1010         * html/HTMLCollection.h:
1011         (WebCore::HTMLCollection::invalidateCache):
1012         (WebCore::HTMLCollection::hasIdNameCache): Renamed from hasNameCache.
1013         (WebCore::HTMLCollection::setHasIdNameCache): Renamed from setHasIdNameCache.
1014
1015         * html/HTMLFormControlsCollection.cpp:
1016         (WebCore::HTMLFormControlsCollection::updateNameCache):
1017
1018 2014-02-25  Frédéric Wang  <fred.wang@free.fr>
1019
1020         Add support for minsize/maxsize attributes.
1021         https://bugs.webkit.org/show_bug.cgi?id=122567
1022
1023         Reviewed by Chris Fleizach.
1024
1025         This change implements the minsize/maxsize attributes of the mo element.
1026         We also switch stretch sizes from int to LayoutUnit to improve accuracy.
1027
1028         Tests: mathml/presentation/stretchy-minsize-maxsize-dynamic.html
1029                mathml/presentation/stretchy-minsize-maxsize.html
1030
1031         * rendering/mathml/RenderMathMLOperator.cpp:
1032         (WebCore::RenderMathMLOperator::SetOperatorProperties):
1033         (WebCore::RenderMathMLOperator::stretchTo):
1034         * rendering/mathml/RenderMathMLOperator.h:
1035         * rendering/mathml/RenderMathMLRow.cpp:
1036         (WebCore::RenderMathMLRow::layout):
1037
1038 2014-02-25  Mihnea Ovidenie  <mihnea@adobe.com>
1039
1040         [CSSRegions] Small clean-up of flow threads accelerated compositing code
1041         https://bugs.webkit.org/show_bug.cgi?id=129312
1042
1043         Reviewed by Andrei Bucur.
1044
1045         Some clean-up for the code used for regions in accelerated compositing functionality:
1046         1. Rename updateRenderFlowThreadLayersIfNeeded -> updateFlowThreadsLayerToRegionMappingsIfNeeded
1047         as the function updates the mapping between the flow threads layers and their corresponding regions
1048         2. Remove RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded and move the code in place
1049         at call site since the function body does not require a dedicated function.
1050
1051         No new functionality, no new tests.
1052
1053         * rendering/FlowThreadController.cpp:
1054         (WebCore::FlowThreadController::updateFlowThreadsLayerToRegionMappingsIfNeeded):
1055         Now that the regions are always layers, we do not need to iterate backwards.
1056         * rendering/FlowThreadController.h:
1057         * rendering/RenderLayerCompositor.cpp:
1058         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1059         * rendering/RenderLayerCompositor.h:
1060
1061 2014-02-25  Zalan Bujtas  <zalan@apple.com>
1062
1063         Subpixel rendering: Ensure consistent border painting width.
1064         https://bugs.webkit.org/show_bug.cgi?id=129259
1065
1066         Reviewed by Simon Fraser.
1067
1068         Border edges are painted as (semi)independent rectangles. When snapping an edge rectangle
1069         to device pixels, its painted dimensions depend on its size and its fractional position.
1070         Specific combination of position and border width can result in painting edges sized differently.
1071         Using device snapped border width to calculate inner/outer rectangles helps to maintain
1072         uniform border width.
1073
1074         Currently not testable.
1075
1076         * rendering/RenderBoxModelObject.cpp:
1077         (WebCore::BorderEdge::BorderEdge):
1078         (WebCore::BorderEdge::shouldRender):
1079         (WebCore::BorderEdge::presentButInvisible):
1080         (WebCore::BorderEdge::widthForPainting):
1081         (WebCore::BorderEdge::getDoubleBorderStripeWidths):
1082         (WebCore::RenderBoxModelObject::paintOneBorderSide):
1083         (WebCore::calculateSideRect):
1084         (WebCore::RenderBoxModelObject::paintBorderSides):
1085         (WebCore::RenderBoxModelObject::paintBorder):
1086         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
1087         (WebCore::calculateSideRectIncludingInner):
1088
1089 2014-02-25  Zalan Bujtas  <zalan@apple.com>
1090
1091         Subpixel layout: Remove explicit static_cast<LayoutUnit> conversions.
1092         https://bugs.webkit.org/show_bug.cgi?id=129359
1093
1094         Reviewed by Simon Fraser.
1095
1096         No testable change in behavior.
1097
1098         * css/LengthFunctions.cpp:
1099         (WebCore::minimumValueForLength):
1100         * page/FrameView.cpp:
1101         (WebCore::FrameView::forceLayoutForPagination):
1102         * rendering/InlineFlowBox.cpp:
1103         (WebCore::InlineFlowBox::paintFillLayer):
1104         * rendering/InlineFlowBox.h:
1105         (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
1106         (WebCore::InlineFlowBox::logicalRightVisualOverflow):
1107         * rendering/InlineTextBox.cpp:
1108         (WebCore::InlineTextBox::isSelected):
1109         * rendering/RenderBlock.cpp:
1110         (WebCore::RenderBlock::computeColumnCountAndWidth):
1111         (WebCore::getBPMWidth):
1112         * rendering/RenderBlockFlow.cpp:
1113         (WebCore::RenderBlockFlow::adjustForBorderFit):
1114         * rendering/RenderDeprecatedFlexibleBox.cpp:
1115         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1116         * rendering/RenderFieldset.cpp:
1117         (WebCore::RenderFieldset::paintBoxDecorations):
1118         * rendering/RenderTable.h:
1119         (WebCore::RenderTable::borderSpacingInRowDirection):
1120         * rendering/RenderTextControlMultiLine.cpp:
1121         (WebCore::RenderTextControlMultiLine::preferredContentLogicalWidth):
1122         * rendering/RenderTextControlSingleLine.cpp:
1123         (WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
1124         * rendering/RootInlineBox.cpp:
1125         (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
1126         (WebCore::RootInlineBox::ascentAndDescentForBox):
1127         * rendering/svg/RenderSVGRoot.cpp:
1128         (WebCore::resolveLengthAttributeForSVG):
1129
1130 2014-02-25  Anders Carlsson  <andersca@apple.com>
1131
1132         Build fixes.
1133
1134         * CMakeLists.txt:
1135         * GNUmakefile.list.am:
1136         * WebCore.vcxproj/WebCore.vcxproj:
1137         * WebCore.vcxproj/WebCore.vcxproj.filters:
1138
1139 2014-02-25  Benjamin Poulain  <bpoulain@apple.com>
1140
1141         Build fix for OS X after r164690
1142
1143         * WebCore.exp.in:
1144
1145 2014-02-25  Anders Carlsson  <andersca@apple.com>
1146
1147         Rename WebCore::VisitedLinkProvider to WebCore::VisitedLinkStore
1148         https://bugs.webkit.org/show_bug.cgi?id=129357
1149
1150         Reviewed by Sam Weinig.
1151
1152         * WebCore.exp.in:
1153         * WebCore.xcodeproj/project.pbxproj:
1154         * dom/VisitedLinkState.cpp:
1155         (WebCore::VisitedLinkState::determineLinkStateSlowCase):
1156         * loader/HistoryController.cpp:
1157         (WebCore::addVisitedLink):
1158         * page/DefaultVisitedLinkStore.cpp: Renamed from Source/WebCore/page/DefaultVisitedLinkProvider.cpp.
1159         (WebCore::DefaultVisitedLinkStore::create):
1160         (WebCore::DefaultVisitedLinkStore::DefaultVisitedLinkStore):
1161         (WebCore::DefaultVisitedLinkStore::~DefaultVisitedLinkStore):
1162         (WebCore::DefaultVisitedLinkStore::isLinkVisited):
1163         (WebCore::DefaultVisitedLinkStore::addVisitedLink):
1164         * page/DefaultVisitedLinkStore.h: Renamed from Source/WebCore/page/DefaultVisitedLinkProvider.h.
1165         * page/Page.cpp:
1166         (WebCore::Page::Page):
1167         (WebCore::Page::visitedLinkStore):
1168         * page/Page.h:
1169         * page/PageGroup.cpp:
1170         (WebCore::PageGroup::visitedLinkStore):
1171         * page/PageGroup.h:
1172         * page/VisitedLinkStore.cpp: Renamed from Source/WebCore/page/VisitedLinkProvider.cpp.
1173         (WebCore::VisitedLinkStore::VisitedLinkStore):
1174         (WebCore::VisitedLinkStore::~VisitedLinkStore):
1175         * page/VisitedLinkStore.h: Renamed from Source/WebCore/page/VisitedLinkProvider.h.
1176
1177 2014-02-25  Enrica Casucci  <enrica@apple.com>
1178
1179         [WebKit2] Form controls handling.
1180         https://bugs.webkit.org/show_bug.cgi?id=129344
1181         <rdar://problem/16053643>
1182
1183         Reviewed by Simon Fraser and Joseph Pecoraro.
1184
1185         Adding some exports.
1186         
1187         * WebCore.exp.in:
1188
1189 2014-02-25  Samuel White  <samuel_white@apple.com>
1190
1191         Add accessibility search predicate support for AXOutlines
1192         https://bugs.webkit.org/show_bug.cgi?id=123748
1193
1194         Reviewed by Chris Fleizach.
1195
1196         Added new AXOutlineSearchKey to support finding elements with aria role=tree.
1197
1198         No new tests, updated existing search-predicate.html test to cover AXOutlineSearchKey.
1199
1200         * accessibility/AccessibilityObject.cpp:
1201         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
1202         * accessibility/AccessibilityObject.h:
1203         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1204         (createAccessibilitySearchKeyMap):
1205
1206 2014-02-25  Mark Lam  <mark.lam@apple.com>
1207
1208         Need to initialize VM stack data even when the VM is on an exclusive thread.
1209         <https://webkit.org/b/129265>
1210
1211         Not reviewed.
1212
1213         No new tests.
1214
1215         Relanding r164627 now that <https://webkit.org/b/129341> is fixed.
1216
1217         * bindings/js/JSDOMBinding.cpp:
1218         (WebCore::reportException):
1219         * bindings/js/JSDOMWindowBase.cpp:
1220         (WebCore::JSDOMWindowBase::commonVM):
1221
1222 2014-02-25  Mark Lam  <mark.lam@apple.com>
1223
1224         JSDOMPromise methods should acquire VM lock before calling into JS.
1225         <https://webkit.org/b/129341>
1226
1227         Reviewed by Geoffrey Garen.
1228
1229         No new tests.
1230
1231         * bindings/js/JSDOMPromise.h:
1232         (WebCore::DeferredWrapper::resolve):
1233         (WebCore::DeferredWrapper::reject):
1234         (WebCore::DeferredWrapper::resolve<String>):
1235         (WebCore::DeferredWrapper::resolve<bool>):
1236         (WebCore::char>>):
1237         (WebCore::DeferredWrapper::reject<String>):
1238
1239 2014-02-25  Anders Carlsson  <andersca@apple.com>
1240
1241         Simplify visited link style invalidation
1242         https://bugs.webkit.org/show_bug.cgi?id=129340
1243
1244         Reviewed by Dan Bernstein.
1245
1246         Get rid of the static Page::allVisitedStateChanged and Page::visitedStateChanged
1247         member functions and add functions to invalidate all styles on a single page or the style
1248         for a single link hash on a single page.
1249
1250         * WebCore.exp.in:
1251         * page/Page.cpp:
1252         (WebCore::Page::invalidateStylesForAllLinks):
1253         (WebCore::Page::invalidateStylesForLink):
1254         * page/Page.h:
1255         * page/PageGroup.cpp:
1256         (WebCore::PageGroup::addVisitedLink):
1257         (WebCore::PageGroup::removeVisitedLink):
1258         (WebCore::PageGroup::removeVisitedLinks):
1259
1260 2014-02-25  Andreas Kling  <akling@apple.com>
1261
1262         Remove unused ThreadSpecificInspectorCounters.
1263         <https://webkit.org/b/129337>
1264
1265         We were keeping count of all the JS event listeners in every thread
1266         to support an old Chromium feature that's no longer relevant.
1267
1268         Removing this gets rid of expensive thread-local storage lookups.
1269
1270         Reviewed by Anders Carlsson.
1271
1272         * bindings/js/JSEventListener.cpp:
1273         (WebCore::JSEventListener::JSEventListener):
1274         (WebCore::JSEventListener::~JSEventListener):
1275         * inspector/InspectorCounters.cpp:
1276         * inspector/InspectorCounters.h:
1277         * inspector/InspectorTimelineAgent.cpp:
1278         (WebCore::InspectorTimelineAgent::setDOMCounters):
1279         * inspector/protocol/Timeline.json:
1280         * platform/ThreadGlobalData.cpp:
1281         (WebCore::ThreadGlobalData::ThreadGlobalData):
1282         (WebCore::ThreadGlobalData::destroy):
1283         * platform/ThreadGlobalData.h:
1284
1285 2014-02-25  Laszlo Vidacs  <lvidacs.u-szeged@partner.samsung.com>
1286
1287         display:table with padding and/or borders in border-box calculates height incorrectly
1288         https://bugs.webkit.org/show_bug.cgi?id=126576
1289
1290         Reviewed by David Hyatt.
1291
1292         Based on blink issue https://codereview.chromium.org/25206002/
1293
1294         Tests: fast/box-sizing/css-table-collapse.html
1295                fast/box-sizing/css-table-no-collapse.html
1296                fast/box-sizing/table-collapse.html
1297                fast/box-sizing/table-no-collapse.html
1298
1299         * rendering/RenderBox.cpp:
1300         (WebCore::RenderBox::computePositionedLogicalHeightUsing):
1301
1302 2014-02-25  Anders Carlsson  <andersca@apple.com>
1303
1304         Get rid of VisitedLinkStrategy
1305         https://bugs.webkit.org/show_bug.cgi?id=129324
1306
1307         Reviewed by Dan Bernstein.
1308
1309         * GNUmakefile.list.am:
1310         * WebCore.vcxproj/WebCore.vcxproj:
1311         * WebCore.vcxproj/WebCore.vcxproj.filters:
1312         * WebCore.xcodeproj/project.pbxproj:
1313         * platform/PlatformStrategies.h:
1314         (WebCore::PlatformStrategies::PlatformStrategies):
1315         * platform/VisitedLinkStrategy.h: Removed.
1316
1317 2014-02-25  Alexey Proskuryakov  <ap@apple.com>
1318
1319         Rolling out http://trac.webkit.org/changeset/164611, because it broke
1320         WebKit2.PrivateBrowsingPushStateNoHistoryCallback API test
1321
1322         The change was for:
1323
1324         https://bugs.webkit.org/show_bug.cgi?id=129141
1325         Create SessionID class
1326
1327 2014-02-25  Commit Queue  <commit-queue@webkit.org>
1328
1329         Unreviewed, rolling out r164627.
1330         http://trac.webkit.org/changeset/164627
1331         https://bugs.webkit.org/show_bug.cgi?id=129325
1332
1333         Broke SubtleCrypto tests (Requested by ap on #webkit).
1334
1335         * bindings/js/JSDOMBinding.cpp:
1336         (WebCore::reportException):
1337         * bindings/js/JSDOMWindowBase.cpp:
1338         (WebCore::JSDOMWindowBase::commonVM):
1339
1340 2014-02-25  Anders Carlsson  <andersca@apple.com>
1341
1342         DefaultVisitedLinkProvider can just call into the page group directly
1343         https://bugs.webkit.org/show_bug.cgi?id=129320
1344
1345         Reviewed by Andreas Kling.
1346
1347         * page/DefaultVisitedLinkProvider.cpp:
1348         (WebCore::DefaultVisitedLinkProvider::isLinkVisited):
1349         (WebCore::DefaultVisitedLinkProvider::addVisitedLink):
1350
1351 2014-02-25  Commit Queue  <commit-queue@webkit.org>
1352
1353         Unreviewed, rolling out r164638.
1354         http://trac.webkit.org/changeset/164638
1355         https://bugs.webkit.org/show_bug.cgi?id=129321
1356
1357         Broke Windows build. (Requested by bfulgham on #webkit).
1358
1359         * dom/ContainerNode.h:
1360         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
1361         (WebCore::ChildNodesLazySnapshot::hasSnapshot):
1362         * dom/Element.cpp:
1363         (WebCore::ensureAttrNodeListForElement):
1364         (WebCore::Element::attributes):
1365         * dom/ElementIteratorAssertions.h:
1366         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
1367         * dom/ElementRareData.h:
1368         (WebCore::ElementRareData::create):
1369         (WebCore::ElementRareData::setAttributeMap):
1370         * dom/MutationObserverRegistration.cpp:
1371         (WebCore::MutationObserverRegistration::create):
1372         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
1373         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
1374         (WebCore::MutationObserverRegistration::addRegistrationNodesToSet):
1375         * dom/MutationObserverRegistration.h:
1376         * dom/NamedNodeMap.h:
1377         (WebCore::NamedNodeMap::create):
1378         (WebCore::NamedNodeMap::NamedNodeMap):
1379         * dom/Node.cpp:
1380         (WebCore::Node::ensureRareData):
1381         (WebCore::Node::didMoveToNewDocument):
1382         (WebCore::Node::ensureEventTargetData):
1383         (WebCore::Node::mutationObserverRegistry):
1384         (WebCore::Node::registerMutationObserver):
1385         (WebCore::Node::unregisterMutationObserver):
1386         (WebCore::Node::notifyMutationObserversNodeWillDetach):
1387         * dom/Node.h:
1388         * dom/NodeRareData.h:
1389         (WebCore::NodeListsNodeData::create):
1390         (WebCore::NodeListsNodeData::NodeListsNodeData):
1391         (WebCore::NodeMutationObserverData::create):
1392         (WebCore::NodeMutationObserverData::NodeMutationObserverData):
1393         (WebCore::NodeRareData::create):
1394         (WebCore::NodeRareData::clearNodeLists):
1395         (WebCore::NodeRareData::ensureNodeLists):
1396         (WebCore::NodeRareData::ensureMutationObserverData):
1397         (WebCore::NodeRareData::NodeRareData):
1398         * dom/StyledElement.cpp:
1399         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1400
1401 2014-02-25  Eric Carlson  <eric.carlson@apple.com>
1402
1403         [iOS] Show status image when playing video to external device
1404         https://bugs.webkit.org/show_bug.cgi?id=129277
1405
1406         Reviewed by Jer Noble.
1407
1408         * Modules/mediacontrols/mediaControlsApple.js:
1409         (Controller.prototype.handleEvent): Restructure the code so it is possible to handle events
1410             that target the video element which aren't in the HandledVideoEvents array.
1411
1412         * Modules/mediacontrols/mediaControlsiOS.js:
1413         (ControllerIOS.prototype.currentPlaybackTargetIsWireless): webkitCurrentPlaybackTargetIsWireless
1414             is an attribute, not a function.
1415         (ControllerIOS.prototype.updateWirelessPlaybackStatus): Fix style.
1416         (ControllerIOS.prototype.updateWirelessTargetAvailable): Ditto.
1417         (ControllerIOS.prototype.updateProgress): Ditto.
1418         (ControllerIOS.prototype.handleWrapperTouchStart): Show the controls if the wireless status
1419             display is touched.
1420         (ControllerIOS.prototype.handleFullscreenButtonClicked): Fix style
1421         (ControllerIOS.prototype.handleWirelessPlaybackChange): Ditto.
1422         (ControllerIOS.prototype.handleWirelessTargetAvailableChange):
1423         (ControllerIOS.prototype.handleWirelessPickerButtonClicked): Ditto. Stop even propagation.
1424
1425         Move "playback target" logic into HTMLMediaSession.
1426         * html/HTMLMediaElement.cpp:
1427         (WebCore::HTMLMediaElement::~HTMLMediaElement): Call media session.
1428         (WebCore::HTMLMediaElement::loadResource): Tell media session to apply media player
1429             restrictions now that it has a url.
1430         (WebCore::HTMLMediaElement::invalidateCachedTime): Only log when cached time is not 
1431             already invalie.
1432         (WebCore::HTMLMediaElement::webkitShowPlaybackTargetPicker): Call media session.
1433         (WebCore::HTMLMediaElement::webkitCurrentPlaybackTargetIsWireless): Ditto.
1434         (WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Ditto.
1435         (WebCore::HTMLMediaElement::addEventListener): Ditto.
1436         (WebCore::HTMLMediaElement::removeEventListen): Ditto.
1437         (WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Ditto.
1438         (WebCore::HTMLMediaElement::createMediaPlayer): Ditto.
1439
1440         * html/HTMLMediaSession.cpp:
1441         (WebCore::restrictionName): Log new WirelessVideoPlaybackDisabled restriction.
1442         (WebCore::HTMLMediaSession::showingPlaybackTargetPickerPermitted): Return false if there
1443             is no page, or if wireless playback is disabled.
1444         (WebCore::HTMLMediaSession::currentPlaybackTargetIsWireless): New, logic from HTMLMediaElement.
1445         (WebCore::HTMLMediaSession::showPlaybackTargetPicker): Ditto.
1446         (WebCore::HTMLMediaSession::hasWirelessPlaybackTargets): Ditto.
1447         (WebCore::HTMLMediaSession::wirelessVideoPlaybackDisabled): Ditto.
1448         (WebCore::HTMLMediaSession::setWirelessVideoPlaybackDisabled): Ditto.
1449         (WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners): Ditto.
1450         (WebCore::HTMLMediaSession::applyMediaPlayerRestrictions): New, apply media player specific
1451             restriction.
1452         * html/HTMLMediaSession.h:
1453
1454         Move "playback target" logic into HTMLMediaSession.
1455         * html/HTMLVideoElement.cpp:
1456         (WebCore::HTMLVideoElement::parseAttribute): Call media session.
1457         (WebCore::HTMLVideoElement::webkitWirelessVideoPlaybackDisabled): Call media session.
1458
1459         * platform/audio/MediaSessionManager.h:
1460         (WebCore::MediaSessionManager::showPlaybackTargetPicker): New method, does nothing in base class.
1461
1462         * platform/audio/ios/MediaSessionManagerIOS.h:
1463         * platform/audio/ios/MediaSessionManagerIOS.mm:
1464         (WebCore::MediaSessionManageriOS::showPlaybackTargetPicker): Add non-functional stub.
1465
1466         Implement wireless playback control and status API.
1467         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1468         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Dispatch TargetIsWirelessChanged.
1469         (WebCore::MediaPlayerPrivateAVFoundation::playbackTargetIsWirelessChanged): Pass through to
1470             media element.
1471         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
1472
1473         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
1474         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1475         (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
1476             m_allowsWirelessVideoPlayback.
1477         (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Remove "externalPlaybackActive" observer.
1478         (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoLayer): Fix broken logging.
1479         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Add "externalPlaybackActive" observer,
1480             set initial wireless playback.
1481         (WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):  Fix broken logging.
1482         (WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack): Ditto.
1483         (WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless): New.
1484         (WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled): New.
1485         (WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled): New.
1486         (WebCore::MediaPlayerPrivateAVFoundationObjC::playbackTargetIsWirelessDidChange): New.
1487         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Deal with 
1488             externalPlaybackActive.
1489
1490 2014-02-24  Brent Fulgham  <bfulgham@apple.com>
1491
1492         [Win] Gracefully recover from missing 'naturalSize' parameter for media
1493         https://bugs.webkit.org/show_bug.cgi?id=129278
1494
1495         Reviewed by Eric Carlson.
1496
1497         * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add declaration for
1498         missing function call.
1499         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
1500         (WebCore::MediaPlayerPrivateAVFoundationCF::assetStatus): Don't treat missing 'naturalSize'
1501         as a fatal error.
1502         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged): Handle case of asset track
1503         not being available yet. 
1504         (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged): If the 'naturalSize' is empty,
1505         use the Player Item's 'presentationSize' instead.
1506         (WebCore::AVFWrapper::processNotification): Add missing handler for duration changed.
1507
1508 2014-02-25  Sergio Villar Senin  <svillar@igalia.com>
1509
1510         [CSS Grid Layout] Add ENABLE flag
1511         https://bugs.webkit.org/show_bug.cgi?id=129153
1512
1513         Reviewed by Simon Fraser.
1514
1515         Added ENABLE_CSS_GRID_LAYOUT feature flag.
1516
1517         * Configurations/FeatureDefines.xcconfig:
1518         * css/CSSComputedStyleDeclaration.cpp:
1519         (WebCore::isLayoutDependent):
1520         (WebCore::ComputedStyleExtractor::propertyValue):
1521         * css/CSSGridTemplateAreasValue.cpp:
1522         * css/CSSGridTemplateAreasValue.h:
1523         * css/CSSParser.cpp:
1524         (WebCore::CSSParserContext::CSSParserContext):
1525         (WebCore::operator==):
1526         (WebCore::isValidKeywordPropertyAndValue):
1527         (WebCore::isKeywordPropertyID):
1528         (WebCore::CSSParser::parseValue):
1529         * css/CSSParser.h:
1530         * css/CSSParserMode.h:
1531         * css/CSSPrimitiveValueMappings.h:
1532         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1533         * css/CSSPropertyNames.in:
1534         * css/CSSValue.cpp:
1535         (WebCore::CSSValue::equals):
1536         (WebCore::CSSValue::cssText):
1537         (WebCore::CSSValue::destroy):
1538         * css/DeprecatedStyleBuilder.cpp:
1539         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1540         * css/StyleProperties.cpp:
1541         (WebCore::StyleProperties::getPropertyValue):
1542         * css/StylePropertyShorthand.cpp:
1543         (WebCore::shorthandForProperty):
1544         (WebCore::matchingShorthandsForLonghand):
1545         * css/StyleResolver.cpp:
1546         (WebCore::equivalentBlockDisplay):
1547         (WebCore::StyleResolver::adjustRenderStyle):
1548         (WebCore::StyleResolver::applyProperty):
1549         * css/StyleResolver.h:
1550         * dom/Document.cpp:
1551         * dom/Document.h:
1552         * rendering/RenderElement.cpp:
1553         (WebCore::RenderElement::createFor):
1554         * rendering/RenderGrid.cpp:
1555         * rendering/RenderGrid.h:
1556         * rendering/style/GridCoordinate.h:
1557         * rendering/style/GridLength.h:
1558         * rendering/style/GridPosition.h:
1559         * rendering/style/GridTrackSize.h:
1560         * rendering/style/RenderStyle.cpp:
1561         (WebCore::RenderStyle::changeRequiresLayout):
1562         * rendering/style/RenderStyle.h:
1563         * rendering/style/RenderStyleConstants.h:
1564         * rendering/style/StyleAllInOne.cpp:
1565         * rendering/style/StyleGridData.cpp:
1566         * rendering/style/StyleGridData.h:
1567         * rendering/style/StyleGridItemData.cpp:
1568         * rendering/style/StyleGridItemData.h:
1569         * rendering/style/StyleRareNonInheritedData.cpp:
1570         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1571         (WebCore::StyleRareNonInheritedData::operator==):
1572         * rendering/style/StyleRareNonInheritedData.h:
1573
1574 2014-02-25  Jer Noble  <jer.noble@apple.com>
1575
1576         [EME][Mac] Fix a few issues in CDMSessionMediaSourceAVFObjC.
1577         https://bugs.webkit.org/show_bug.cgi?id=129310
1578
1579         Reviewed by Eric Carlson.
1580
1581         Only send a 'keyerror' event if an actual error code was returned, not just
1582         when no key was added:
1583         * Modules/encryptedmedia/MediaKeySession.cpp:
1584         (WebCore::MediaKeySession::addKeyTimerFired):
1585
1586         The 'length' parameter to a typed ArrayBufferView is the number of entries
1587         in the array, not the byte length:
1588         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1589         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):
1590
1591         The return value of streamingContentKeyRequestDataForApp:contentIdentifier:trackId:options:error
1592         is autoreleased; do not wrap it in an adoptNS:
1593         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
1594         (WebCore::CDMSessionMediaSourceAVFObjC::update):
1595
1596 2014-02-25  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
1597
1598         [MediaStream] Adding mock implementation of UserMediaClient
1599         https://bugs.webkit.org/show_bug.cgi?id=129274
1600
1601         Reviewed by Eric Carlson.
1602
1603         * platform/mock/UserMediaClientMock.h: Added.
1604         (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier):
1605         * testing/Internals.cpp:
1606         (WebCore::Internals::Internals):
1607
1608 2014-02-25  Ryosuke Niwa  <rniwa@webkit.org>
1609
1610         Tighten bitfields in live NodeLists and HTMLCollections
1611         https://bugs.webkit.org/show_bug.cgi?id=129300
1612
1613         Reviewed by Geoffrey Garen.
1614
1615         Reduce the number of bits used for m_rootType and m_type in LiveNodeList.
1616         Also use enum class for LiveNodeList types. We keep "Type" suffix not to
1617         confuse old-ish compilers.
1618
1619         * dom/ClassNodeList.cpp:
1620         (WebCore::ClassNodeList::ClassNodeList):
1621         * dom/ContainerNode.cpp:
1622         (WebCore::ContainerNode::getElementsByTagName):
1623         (WebCore::ContainerNode::getElementsByName):
1624         (WebCore::ContainerNode::getElementsByClassName):
1625         (WebCore::ContainerNode::radioNodeList):
1626         * dom/LiveNodeList.cpp:
1627         (WebCore::LiveNodeList::collectionFirst):
1628         (WebCore::LiveNodeList::collectionTraverseForward):
1629         * dom/LiveNodeList.h:
1630         (WebCore::LiveNodeList::LiveNodeList):
1631         * dom/NameNodeList.cpp:
1632         (WebCore::NameNodeList::NameNodeList):
1633         * dom/NameNodeList.h:
1634         (WebCore::NameNodeList::create):
1635         * dom/NodeRareData.h:
1636         (WebCore::NodeListsNodeData::namedNodeListKey):
1637         * dom/TagNodeList.cpp:
1638         (WebCore::HTMLTagNodeList::HTMLTagNodeList):
1639         * dom/TagNodeList.h:
1640         (WebCore::TagNodeList::create):
1641         (WebCore::HTMLTagNodeList::create):
1642         * html/HTMLCollection.h:
1643         * html/LabelableElement.cpp:
1644         (WebCore::LabelableElement::labels):
1645         * html/LabelsNodeList.cpp:
1646         (WebCore::LabelsNodeList::LabelsNodeList):
1647         * html/LabelsNodeList.h:
1648         * html/RadioNodeList.cpp:
1649         (WebCore::RadioNodeList::RadioNodeList):
1650         * html/RadioNodeList.h:
1651         (WebCore::RadioNodeList::create):
1652
1653 2014-02-24  Anders Carlsson  <andersca@apple.com>
1654
1655         Make it possible to set the visited link provider on a per page basis
1656         https://bugs.webkit.org/show_bug.cgi?id=129288
1657
1658         Reviewed by Andreas Kling.
1659
1660         * WebCore.exp.in:
1661         Export symbols needed by WebKit2.
1662
1663         * WebCore.xcodeproj/project.pbxproj:
1664         Make VisitedLinkProvider a private header.
1665
1666         * page/Page.cpp:
1667         (WebCore::Page::Page):
1668         Take the visited link provider from the PageClients object.
1669
1670         (WebCore::Page::visitedLinkProvider):
1671         If the page has a visited link provider set, return it.
1672
1673         * page/Page.h:
1674         Add VisitedLinkProvider to Page and PageClients.
1675
1676 2014-02-25  Morten Stenshorne  <mstensho@opera.com>
1677
1678         [New Multicolumn] -webkit-column-break-inside:avoid doesn't work
1679         https://bugs.webkit.org/show_bug.cgi?id=129299
1680
1681         Reviewed by Andrei Bucur.
1682
1683         adjustForUnsplittableChild() simply forgot to check whether we
1684         were inside flow thread based multicol.
1685
1686         Test: fast/multicol/newmulticol/avoid-column-break-inside.html
1687
1688         * rendering/RenderBlockFlow.cpp:
1689         (WebCore::RenderBlockFlow::adjustForUnsplittableChild):
1690
1691 2014-02-25  Mihnea Ovidenie  <mihnea@adobe.com>
1692
1693         [CSSRegions] Remove unused function RenderFlowThread::regionForCompositedLayer
1694         https://bugs.webkit.org/show_bug.cgi?id=129303
1695
1696         Reviewed by Andrei Bucur.
1697
1698         Cleanup, no funtionality change, no new tests.
1699
1700         * rendering/RenderFlowThread.h:
1701
1702 2014-02-25  Mihai Tica  <mitica@adobe.com>
1703
1704         [CSS Blending] -webkit-mix-blend-mode should force transform-style: flat.
1705         https://bugs.webkit.org/show_bug.cgi?id=126158
1706
1707         Reviewed by Mihnea Ovidenie.
1708
1709         As stated in the http://www.w3.org/TR/css3-transforms/#propdef-transform-style, an element with blending
1710         should force transform-style: flat.
1711
1712         Test: css3/compositing/blend-mode-transform-style.html
1713
1714         * css/StyleResolver.cpp:
1715         (WebCore::StyleResolver::adjustRenderStyle): If blending is detected, set transform-style to flat.
1716
1717 2014-02-25  Zan Dobersek  <zdobersek@igalia.com>
1718
1719         Move to using std::unique_ptr for Element, Node and related classes
1720         https://bugs.webkit.org/show_bug.cgi?id=129058
1721
1722         Reviewed by Anders Carlsson.
1723
1724         Replace uses of OwnPtr and PassOwnPtr in Element, Node and the related
1725         classes with std::unique_ptr and move semantics.
1726
1727         * dom/ContainerNode.h:
1728         (WebCore::ChildNodesLazySnapshot::takeSnapshot):
1729         (WebCore::ChildNodesLazySnapshot::hasSnapshot):
1730         * dom/Element.cpp:
1731         (WebCore::ensureAttrNodeListForElement):
1732         (WebCore::Element::attributes):
1733         * dom/ElementIteratorAssertions.h:
1734         (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
1735         * dom/ElementRareData.h:
1736         (WebCore::ElementRareData::setAttributeMap):
1737         * dom/MutationObserverRegistration.cpp:
1738         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
1739         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
1740         (WebCore::MutationObserverRegistration::addRegistrationNodesToSet):
1741         * dom/MutationObserverRegistration.h:
1742         * dom/NamedNodeMap.h:
1743         (WebCore::NamedNodeMap::NamedNodeMap):
1744         * dom/Node.cpp:
1745         (WebCore::Node::ensureRareData):
1746         (WebCore::Node::didMoveToNewDocument):
1747         (WebCore::Node::ensureEventTargetData):
1748         (WebCore::Node::mutationObserverRegistry):
1749         (WebCore::Node::registerMutationObserver):
1750         (WebCore::Node::unregisterMutationObserver):
1751         (WebCore::Node::notifyMutationObserversNodeWillDetach):
1752         * dom/Node.h:
1753         * dom/NodeRareData.h:
1754         (WebCore::NodeListsNodeData::NodeListsNodeData):
1755         (WebCore::NodeRareData::NodeRareData):
1756         (WebCore::NodeRareData::clearNodeLists):
1757         (WebCore::NodeRareData::ensureNodeLists):
1758         (WebCore::NodeRareData::ensureMutationObserverData):
1759         * dom/StyledElement.cpp:
1760         (WebCore::StyledElement::rebuildPresentationAttributeStyle):
1761
1762 2014-02-25  Andreas Kling  <akling@apple.com>
1763
1764         Prune dead code for Web Inspector memory instrumentation.
1765         <https://webkit.org/b/129286>
1766
1767         This was leftover code from Chromium's inspector. It's not used by
1768         today's WebKit inspector.
1769
1770         Reviewed by Sam Weinig.
1771
1772         * CMakeLists.txt:
1773         * DerivedSources.make:
1774         * GNUmakefile.am:
1775         * GNUmakefile.list.am:
1776         * WebCore.vcxproj/WebCore.vcxproj:
1777         * WebCore.vcxproj/WebCore.vcxproj.filters:
1778         * WebCore.xcodeproj/project.pbxproj:
1779         * inspector/InspectorAllInOne.cpp:
1780         * inspector/InspectorController.cpp:
1781         (WebCore::InspectorController::InspectorController):
1782         * inspector/InspectorController.h:
1783         * inspector/InspectorMemoryAgent.cpp: Removed.
1784         * inspector/InspectorMemoryAgent.h: Removed.
1785         * inspector/InspectorTimelineAgent.cpp:
1786         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
1787         * inspector/InspectorTimelineAgent.h:
1788         * inspector/WorkerInspectorController.cpp:
1789         (WebCore::WorkerInspectorController::WorkerInspectorController):
1790         * inspector/protocol/Memory.json: Removed.
1791
1792 2014-02-24  Chris Fleizach  <cfleizach@apple.com>
1793
1794         AX: Support abbr, acronym
1795         https://bugs.webkit.org/show_bug.cgi?id=128860
1796
1797         Reviewed by Mario Sanchez Prada.
1798
1799         Expose the data in <abbr>, <acronym> and <th abbr=""> as an 
1800         alternateTextValue() parameter.
1801
1802         Test: platform/mac/accessibility/abbr-acronym-tags.html
1803
1804         * accessibility/AccessibilityObject.cpp:
1805         (WebCore::AccessibilityObject::hasTagName):
1806         * accessibility/AccessibilityObject.h:
1807         (WebCore::AccessibilityObject::alternateTextValue):
1808         (WebCore::AccessibilityObject::supportsAlternateTextValue):
1809         * accessibility/AccessibilityRenderObject.cpp:
1810         (WebCore::AccessibilityRenderObject::alternateTextValue):
1811         (WebCore::AccessibilityRenderObject::supportsAlternateTextValue):
1812         * accessibility/AccessibilityRenderObject.h:
1813         * accessibility/AccessibilityTableCell.cpp:
1814         (WebCore::AccessibilityTableCell::alternateTextValue):
1815         (WebCore::AccessibilityTableCell::supportsAlternateTextValue):
1816         * accessibility/AccessibilityTableCell.h:
1817         * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
1818         (AXAttributeStringSetAlternateTextValue):
1819         (AXAttributedStringAppendText):
1820         (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1821         (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
1822
1823 2014-02-24  Martin Robinson  <mrobinson@igalia.com>
1824
1825         [GTK] generate-gtkdoc should not generate documentation for source files for unbuilt source files
1826         https://bugs.webkit.org/show_bug.cgi?id=128417
1827
1828         Reviewed by Carlos Garcia Campos.
1829
1830         * bindings/gobject/GNUmakefile.am: Generate a config file for webkitdom documentation generation.
1831
1832 2014-02-24  Mark Lam  <mark.lam@apple.com>
1833
1834         Need to initialize VM stack data even when the VM is on an exclusive thread.
1835         <https://webkit.org/b/129265>
1836
1837         Reviewed by Geoffrey Garen.
1838
1839         No new tests.
1840
1841         * bindings/js/JSDOMBinding.cpp:
1842         (WebCore::reportException):
1843         - Added an assertion to ensure that we are holding the JSLock.
1844         * bindings/js/JSDOMWindowBase.cpp:
1845         (WebCore::JSDOMWindowBase::commonVM):
1846         - Updated to use the new VM::setExclusiveThread().
1847
1848 2014-02-24  Anders Carlsson  <andersca@apple.com>
1849
1850         Add a DefaultVisitedLinkProvider and route visited link actions through it
1851         https://bugs.webkit.org/show_bug.cgi?id=129285
1852
1853         Reviewed by Dan Bernstein.
1854
1855         DefaultVisitedLinkProvider currently just forwards everything to the visited link strategy,
1856         but will soon take over the responsibilities of visited link handling from PageGroup.
1857         
1858         * CMakeLists.txt:
1859         * GNUmakefile.list.am:
1860         * WebCore.vcxproj/WebCore.vcxproj:
1861         * WebCore.vcxproj/WebCore.vcxproj.filters:
1862         * WebCore.xcodeproj/project.pbxproj:
1863         * dom/VisitedLinkState.cpp:
1864         (WebCore::VisitedLinkState::determineLinkStateSlowCase):
1865         * loader/HistoryController.cpp:
1866         (WebCore::addVisitedLink):
1867         (WebCore::HistoryController::updateForStandardLoad):
1868         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
1869         (WebCore::HistoryController::updateForClientRedirect):
1870         (WebCore::HistoryController::updateForSameDocumentNavigation):
1871         (WebCore::HistoryController::pushState):
1872         (WebCore::HistoryController::replaceState):
1873         * page/DefaultVisitedLinkProvider.cpp: Copied from Source/WebCore/page/VisitedLinkProvider.h.
1874         (WebCore::DefaultVisitedLinkProvider::create):
1875         (WebCore::DefaultVisitedLinkProvider::DefaultVisitedLinkProvider):
1876         (WebCore::DefaultVisitedLinkProvider::~DefaultVisitedLinkProvider):
1877         (WebCore::DefaultVisitedLinkProvider::isLinkVisited):
1878         (WebCore::DefaultVisitedLinkProvider::addVisitedLink):
1879         * page/DefaultVisitedLinkProvider.h: Copied from Source/WebCore/page/VisitedLinkProvider.h.
1880         * page/Page.cpp:
1881         (WebCore::Page::visitedLinkProvider):
1882         * page/Page.h:
1883         * page/PageGroup.cpp:
1884         (WebCore::PageGroup::PageGroup):
1885         (WebCore::PageGroup::visitedLinkProvider):
1886         * page/PageGroup.h:
1887         * page/VisitedLinkProvider.h:
1888
1889 2014-02-24  Jeremy Jones  <jeremyj@apple.com>
1890
1891         WK2 AVKit fullscreen doesn't display video.
1892         https://bugs.webkit.org/show_bug.cgi?id=128564
1893
1894         Reviewed by Simon Fraser.
1895
1896         * WebCore.exp.in:
1897         Export WebCore::PlatformCALayer::platformCALayer()
1898
1899         * platform/ios/WebVideoFullscreenInterface.h:
1900         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
1901         Remove SetVideoLayerID(). 
1902
1903         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
1904         (WebVideoFullscreenInterfaceAVKit::setVideoLayer):
1905         Wrap make video layer look like an AVAVPlayerLayer with WebAVPlayerLayer
1906
1907         * platform/ios/WebVideoFullscreenModelMediaElement.mm:
1908         (WebVideoFullscreenModelMediaElement::setMediaElement):
1909         Pass along the videoLayer before borrowing it so the interface will be ready to
1910         catch the transaction that removes it.
1911
1912 2014-02-24  Samuel White  <samuel_white@apple.com>
1913
1914         AX: AccessibilityObject::findMatchingObjects should never include 'this' in results.
1915         https://bugs.webkit.org/show_bug.cgi?id=129243
1916
1917         Reviewed by Chris Fleizach.
1918
1919         Fix removes the container object from the search results when searching backwards. This
1920         makes backwards & forwards search results consistent with each other.
1921
1922         Test: platform/mac/accessibility/search-predicate-container-not-included.html
1923
1924         * accessibility/AccessibilityObject.cpp:
1925         (WebCore::AccessibilityObject::findMatchingObjects):
1926
1927 2014-02-24  Samuel White  <samuel_white@apple.com>
1928
1929         AX: findMatchingObjects backwards start position inconsistent with forwards start position when startObject == nullptr.
1930         https://bugs.webkit.org/show_bug.cgi?id=129266
1931
1932         Reviewed by Chris Fleizach.
1933
1934         When searching forward with no start object, the first thing considered is the first child of
1935         the container. However, when searching backwards with no start object nothing in the container
1936         is considered; this basically negates the search. This patch makes backwards searching without
1937         a start object start from the last child of the container to match forward search expectations.
1938
1939         Test: platform/mac/accessibility/search-predicate-start-not-specified.html
1940
1941         * accessibility/AccessibilityObject.cpp:
1942         (WebCore::AccessibilityObject::findMatchingObjects):
1943
1944 2014-02-24  Andreas Kling  <akling@apple.com>
1945
1946         Prune dead code for Web Inspector canvas instrumentation.
1947         <https://webkit.org/b/129269>
1948
1949         This was leftover code from Chromium's inspector. It's not used by
1950         today's WebKit inspector.
1951
1952         Reviewed by Timothy Hatcher.
1953
1954         * CMakeLists.txt:
1955         * DerivedSources.make:
1956         * GNUmakefile.am:
1957         * GNUmakefile.list.am:
1958         * WebCore.vcxproj/WebCore.vcxproj:
1959         * WebCore.vcxproj/WebCore.vcxproj.filters:
1960         * WebCore.xcodeproj/project.pbxproj:
1961         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1962         (WebCore::JSHTMLCanvasElement::getContext):
1963         * inspector/InjectedScriptCanvasModule.cpp: Removed.
1964         * inspector/InjectedScriptCanvasModule.h: Removed.
1965         * inspector/InspectorAllInOne.cpp:
1966         * inspector/InspectorCanvasAgent.cpp: Removed.
1967         * inspector/InspectorCanvasAgent.h: Removed.
1968         * inspector/InspectorCanvasInstrumentation.h: Removed.
1969         * inspector/InspectorController.cpp:
1970         (WebCore::InspectorController::InspectorController):
1971         (WebCore::InspectorController::didBeginFrame):
1972         * inspector/InspectorInstrumentation.cpp:
1973         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
1974         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1975         * inspector/InspectorInstrumentation.h:
1976         * inspector/InstrumentingAgents.cpp:
1977         (WebCore::InstrumentingAgents::InstrumentingAgents):
1978         (WebCore::InstrumentingAgents::reset):
1979         * inspector/InstrumentingAgents.h:
1980
1981 2014-02-24  Zoltan Horvath  <zoltan@webkit.org>
1982
1983         [CSS Shapes] Adjust lineTop position to the next available wrapping location at shape-outsides
1984         https://bugs.webkit.org/show_bug.cgi?id=128693
1985
1986         Reviewed by David Hyatt.
1987
1988         When we don't have space next to the floating container, but we have space inside the floating-container next
1989         to the defined shape-outside, we should wrap around the shape-outside. This patch fixes the behavior both for
1990         cases when there is no space to fit at the first line, and for the additional lines cases.
1991
1992         Test: fast/shapes/shape-outside-floats/shape-outside-floats-linetop-adjustment.html
1993
1994         * rendering/line/BreakingContextInlineHeaders.h:
1995         (WebCore::BreakingContext::handleText):
1996         (WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
1997         * rendering/line/LineWidth.cpp:
1998         (WebCore::availableWidthAtOffset):
1999         (WebCore::LineWidth::updateLineDimension): Added new helper.
2000         (WebCore::isWholeLineFit): Added new helper.
2001         (WebCore::LineWidth::wrapNextToShapeOutside): Added new helper.
2002         (WebCore::LineWidth::fitBelowFloats): Add optional parameter for the function.
2003         * rendering/line/LineWidth.h:
2004
2005 2014-02-24  Martin Hock  <mhock@apple.com>
2006
2007         Create SessionID value-style class for session IDs.
2008         https://bugs.webkit.org/show_bug.cgi?id=129141
2009
2010         Reviewed by Brady Eidson.
2011
2012         * GNUmakefile.list.am:
2013         * WebCore.exp.in:
2014         * WebCore.xcodeproj/project.pbxproj:
2015         * page/Page.cpp: Add SessionID member.
2016         (WebCore::Page::Page):
2017         (WebCore::Page::sessionID): Retrieve sessionID or use settings if not set.
2018         * page/Page.h:
2019         (WebCore::Page::setSessionID):
2020         * page/SessionID.h: Session ID class consisting solely of its uint64_t session ID.
2021         (WebCore::SessionID::SessionID):
2022         (WebCore::SessionID::isValid): Not empty.
2023         (WebCore::SessionID::isEphemeral):
2024         (WebCore::SessionID::sessionID):
2025         (WebCore::SessionID::operator==): Value-based equality.
2026         (WebCore::SessionID::operator!=):
2027         (WebCore::SessionID::emptySessionID): Zero value also used for HashTraits emptyValue.
2028         (WebCore::SessionID::defaultSessionID):
2029         (WebCore::SessionID::legacyPrivateSessionID):
2030         * page/SessionIDHash.h:
2031         (WTF::SessionIDHash::hash): Just the casted session ID (low order bytes)
2032         (WTF::SessionIDHash::equal):
2033         (WTF::HashTraits<WebCore::SessionID>::emptyValue): Equal to emptySessionID.
2034         (WTF::HashTraits<WebCore::SessionID>::constructDeletedValue): -1 value.
2035         (WTF::HashTraits<WebCore::SessionID>::isDeletedValue):
2036
2037 2014-02-24  Javier Fernandez  <jfernandez@igalia.com>
2038
2039         [CSS Grid Layout] handle undefined RemainingSpace in computeUsedBreadthOfGridTracks algorithm
2040         https://bugs.webkit.org/show_bug.cgi?id=128372
2041
2042         Reviewed by David Hyatt.
2043
2044         From Blink r165692 by <svillar@igalia.com>
2045
2046         The spec defines a different code path for the computeUsedBreadthOfGridTracks algorithm
2047         http://dev.w3.org/csswg/css-grid/#function-ComputeUsedBreadthOfGridTracks.
2048
2049         Basically the track breadth is different when the available size is undefined and thus,
2050         cannot be taken into account during the computations.
2051         The available size is undefined whenever the height is auto or the grid element has a
2052         shrink-to-fit behavior.
2053
2054         It was also renamed the function to match the specs so the function name starts with
2055         'compute' instead of 'computed'.
2056
2057         No new tests, but added new cases to some of them.
2058
2059         * rendering/RenderGrid.cpp:
2060         (WebCore::RenderGrid::computeIntrinsicLogicalWidths):
2061         (WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
2062         (WebCore::gridElementIsShrinkToFit):
2063         (WebCore::RenderGrid::computeNormalizedFractionBreadth):
2064         (WebCore::RenderGrid::layoutGridItems):
2065         * rendering/RenderGrid.h:
2066
2067 2014-02-24  Roger Fong  <roger_fong@apple.com>
2068
2069         [Windows] Unreviewed pre-emptive build fix.
2070
2071         * WebCore.vcxproj/WebCoreCommon.props: Add replay directory to include path.
2072
2073 2014-02-24  Brady Eidson  <beidson@apple.com>
2074
2075         Break out ImageControls style into an external stylesheet
2076         https://bugs.webkit.org/show_bug.cgi?id=129273
2077
2078         Reviewed by Jer Noble.
2079
2080         * DerivedSources.make:
2081         * WebCore.xcodeproj/project.pbxproj:
2082
2083         * css/CSSDefaultStyleSheets.cpp:
2084         (WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
2085         * css/CSSDefaultStyleSheets.h:
2086
2087         * html/shadow/mac/ImageControlsRootElementMac.cpp:
2088         (WebCore::ImageControlsRootElementMac::maybeCreate):
2089
2090         * html/shadow/mac/imageControlsMac.css:
2091         (.x-webkit-imagemenu):
2092         (.x-webkit-imagemenu:hover):
2093
2094         * rendering/RenderTheme.h:
2095         (WebCore::RenderTheme::mediaControlsScript):
2096         (WebCore::RenderTheme::imageControlsStyleSheet):
2097         * rendering/RenderThemeMac.h:
2098         * rendering/RenderThemeMac.mm:
2099         (WebCore::RenderThemeMac::imageControlsStyleSheet):
2100
2101 2014-02-24  Thiago de Barros Lacerda  <thiago.lacerda@openbossa.org>
2102
2103         [WebRTC] Validating RTCConfiguration according to the spec
2104         https://bugs.webkit.org/show_bug.cgi?id=129182
2105
2106         Reviewed by Eric Carlson.
2107
2108         Spec states that:
2109             - iceServers should not be an empty list
2110             - the entry in the configuration dictionary is "urls", instead of "url"
2111             - urls can be either a list or a string
2112         Fixing all that in RTCConfiguration validation when creating a RTCPeerConnection
2113
2114         Existing tests were updated.
2115
2116         * Modules/mediastream/RTCPeerConnection.cpp:
2117         (WebCore::appendIceServer): Added.
2118         (WebCore::processIceServer): Added.
2119         (WebCore::RTCPeerConnection::parseConfiguration):
2120
2121 2014-02-24  Radu Stavila  <stavila@adobe.com>
2122
2123         [CSS Regions] Relative positioned elements overflowing the region do not get painted into the next tile
2124         https://bugs.webkit.org/show_bug.cgi?id=129254
2125
2126         Reviewed by Antti Koivisto.
2127
2128         The painting of the region's layer should not be aborted so early if the region's fragment shouldn't be painted
2129         because that would prevent all the layer's children from being painted.
2130
2131         Another problem this patch addresses is that clipping should also be performed when the clip rect is empty,
2132         which is what happens when painting in a tile in which the flowed element would normally be painted
2133         if it wasn't clipped by the region.
2134
2135         Test: fast/regions/content-relative-next-tile.html
2136
2137         * rendering/RenderLayer.cpp:
2138         (WebCore::RenderLayer::paintFlowThreadIfRegionForFragments):
2139
2140 2014-02-24  Renata Hodovan  <rhodovan.u-szeged@partner.samsung.com>
2141         
2142         Get rid of the unused 'immediate' parameters from repaint related functions
2143         https://bugs.webkit.org/show_bug.cgi?id=129111
2144
2145         Reviewed by Simon Fraser.
2146
2147         Removing the 'immediate' parameters from repaint related functions - accoring
2148         to the FIXME in RenderView::repaintViewRectangle() - since they have no effect.
2149
2150         No new tests are necessary because there is no behavior change
2151
2152         * dom/Element.cpp:
2153         (WebCore::Element::setActive):
2154         * loader/EmptyClients.h:
2155         * page/Chrome.cpp:
2156         (WebCore::Chrome::invalidateRootView):
2157         (WebCore::Chrome::invalidateContentsAndRootView):
2158         (WebCore::Chrome::invalidateContentsForSlowScroll):
2159         * page/Chrome.h:
2160         * page/ChromeClient.h:
2161         * page/Frame.cpp:
2162         (WebCore::Frame::tiledBackingStorePaintEnd):
2163         * page/FrameView.cpp:
2164         (WebCore::FrameView::invalidateRect):
2165         (WebCore::FrameView::scrollContentsFastPath):
2166         (WebCore::FrameView::repaintContentRectangle):
2167         (WebCore::FrameView::shouldUpdate):
2168         * page/FrameView.h:
2169         * platform/HostWindow.h:
2170         * platform/ScrollView.cpp:
2171         (WebCore::ScrollView::scrollContents):
2172         (WebCore::ScrollView::scrollContentsSlowPath):
2173         (WebCore::ScrollView::repaintContentRectangle):
2174         (WebCore::ScrollView::updateOverhangAreas):
2175         (WebCore::ScrollView::addPanScrollIcon):
2176         (WebCore::ScrollView::removePanScrollIcon):
2177         (WebCore::ScrollView::platformRepaintContentRectangle):
2178         * platform/ScrollView.h:
2179         * rendering/RenderBox.cpp:
2180         (WebCore::RenderBox::repaintLayerRectsForImage):
2181         * rendering/RenderFlowThread.cpp:
2182         (WebCore::RenderFlowThread::repaintRectangleInRegions):
2183         * rendering/RenderFlowThread.h:
2184         * rendering/RenderLayer.cpp:
2185         (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
2186         * rendering/RenderLayer.h:
2187         * rendering/RenderMultiColumnSet.cpp:
2188         (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
2189         * rendering/RenderMultiColumnSet.h:
2190         * rendering/RenderObject.cpp:
2191         (WebCore::RenderObject::repaintUsingContainer):
2192         (WebCore::RenderObject::repaint):
2193         (WebCore::RenderObject::repaintRectangle):
2194         (WebCore::RenderObject::repaintSlowRepaintObject):
2195         * rendering/RenderObject.h:
2196         * rendering/RenderRegion.cpp:
2197         (WebCore::RenderRegion::repaintFlowThreadContent):
2198         (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
2199         * rendering/RenderRegion.h:
2200         * rendering/RenderView.cpp:
2201         (WebCore::RenderView::repaintViewRectangle):
2202         (WebCore::RenderView::flushAccumulatedRepaintRegion):
2203         (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
2204         * rendering/RenderView.h:
2205         * svg/graphics/SVGImageChromeClient.h:
2206
2207 2014-02-24  Tamas Gergely  <tgergely.u-szeged@partner.samsung.com>
2208
2209         Code cleanup: remove leftover ENABLE(WORKERS) macros and support.
2210         https://bugs.webkit.org/show_bug.cgi?id=129255
2211
2212         Reviewed by Csaba Osztrogonác.
2213
2214         ENABLE_WORKERS macro was removed in r159679, but r161589 added back some occurrences.
2215         Support is now also removed from xcconfig files.
2216
2217         No new tests needed.
2218
2219         * Configurations/FeatureDefines.xcconfig:
2220         * platform/ThreadGlobalData.cpp:
2221         * platform/ThreadGlobalData.h:
2222         * platform/Timer.h:
2223         (WebCore::TimerBase::isActive):
2224         * platform/ios/wak/WebCoreThread.mm:
2225         (RunWebThread):
2226         (StartWebThread):
2227
2228 2014-02-24  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
2229
2230         [CMake] Get rid of "FIXME: The Blackberry port ..." from WebCore/CmakeLists.txt
2231         https://bugs.webkit.org/show_bug.cgi?id=129152
2232
2233         Reviewed by Gyuyoung Kim.
2234
2235         * CMakeLists.txt:
2236
2237 2014-02-24  David Kilzer  <ddkilzer@apple.com>
2238
2239         Remove redundant setting in FeatureDefines.xcconfig
2240
2241         * Configurations/FeatureDefines.xcconfig:
2242
2243 2014-02-24  Mihai Tica  <mitica@adobe.com>
2244
2245         [CSS Blending] An element having -webkit-mix-blend-mode should only blend with the contents of the parent stacking context
2246         https://bugs.webkit.org/show_bug.cgi?id=129154
2247
2248         Reviewed by Dean Jackson.
2249
2250         The blending operation of an element having -webkit-mix-blend-mode should be restricted to the parent stacking context.
2251         This change isolates blending, preventing it from blending with other underlying elements besides the parent stacking context.
2252
2253         Tests: css3/compositing/blend-mode-isolated-group-1.html
2254                css3/compositing/blend-mode-isolated-group-2.html
2255                css3/compositing/blend-mode-isolated-group-3.html
2256
2257         * rendering/RenderLayer.cpp:
2258         (WebCore::RenderLayer::RenderLayer): Initialize added members to false.
2259         (WebCore::RenderLayer::updateBlendMode): Check if a blend mode was set or unset. If so, set the m_updateParentStackingContextShouldIsolateBlendingDirty to true.
2260         (WebCore::RenderLayer::updateParentStackingContextShouldIsolateBlending): Traverse to the parent stacking context and update the
2261         m_isolatesBlending member accordingly.
2262         * rendering/RenderLayer.h:
2263         - Add isolatesBlending() as a condition for creating a transparency layer in the paintsWithTransparency method.
2264         - Add m_updateParentStackingContextShouldIsolateBlendingDirty member.
2265         - Add m_isolatesBlending member and getter.
2266         * rendering/RenderLayerCompositor.cpp:
2267         (WebCore::RenderLayerCompositor::computeCompositingRequirements): Call updateParentStackingContextShouldIsolateBlending. 
2268
2269 2014-02-24  Krzysztof Czech  <k.czech@samsung.com>
2270
2271         [ATK] Wrong selected element at a given index in a list box.
2272         https://bugs.webkit.org/show_bug.cgi?id=129039
2273
2274         Reviewed by Chris Fleizach.
2275
2276         Test: accessibility/select-element-at-index.html
2277
2278         The selected element at a given index was wrong. One should be considered among the
2279         all children of a list box, not only selected ones.
2280
2281         * accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:
2282         (core):
2283         (listObjectForSelection):
2284         (optionFromList):
2285         (optionFromSelection):
2286         (webkitAccessibleSelectionRefSelection):
2287
2288 2014-02-23  Dean Jackson  <dino@apple.com>
2289
2290         [WebGL] Allow ANGLE to initialize unused varyings
2291         https://bugs.webkit.org/show_bug.cgi?id=129240
2292         <rdar://problem/15203342>
2293
2294         Reviewed by Sam Weinig.
2295
2296         Covered by: conformance/glsl/misc/shaders-with-varyings.html
2297
2298         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
2299         (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
2300         Add SH_INIT_VARYINGS_WITHOUT_STATIC_USE to compiler flags.
2301
2302 2014-02-23  Sam Weinig  <sam@webkit.org>
2303
2304         Update FeatureDefines.xcconfig
2305
2306         Rubber-stamped by Anders Carlsson.
2307
2308         * Configurations/FeatureDefines.xcconfig:
2309
2310 2014-02-23  Dean Jackson  <dino@apple.com>
2311
2312         Sort the project file with sort-Xcode-project-file.
2313
2314         Rubber-stamped by Sam Weinig.
2315
2316         * WebCore.xcodeproj/project.pbxproj:
2317
2318 2014-02-23  Sam Weinig  <sam@webkit.org>
2319
2320         Fix incorrectly commented out code.
2321
2322         * platform/TelephoneNumberDetector.h:
2323
2324 2014-02-23  Sam Weinig  <sam@webkit.org>
2325
2326         Extract platform specific parts of telephone number detection 
2327         https://bugs.webkit.org/show_bug.cgi?id=129238
2328
2329         Reviewed by Dean Jackson.
2330
2331         * WebCore.xcodeproj/project.pbxproj:
2332         Add new files.
2333
2334         * html/parser/HTMLTreeBuilder.cpp:
2335         (WebCore::HTMLTreeBuilder::linkifyPhoneNumbers):
2336         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
2337         * platform/TelephoneNumberDetector.h: Added.
2338         * platform/cocoa/TelephoneNumberDetectorCocoa.cpp: Added.
2339         (WebCore::TelephoneNumberDetector::phoneNumbersScanner):
2340         (WebCore::TelephoneNumberDetector::isSupported):
2341         (WebCore::TelephoneNumberDetector::find):
2342         Move code to TelephoneNumberDetector.
2343
2344 2014-02-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2345
2346         Change a url parameter type with URL in NavigatorContentUtils
2347         https://bugs.webkit.org/show_bug.cgi?id=129202
2348
2349         Reviewed by Sam Weinig.
2350
2351         It would be good if we use *URL* for url parameters instead of using String.
2352
2353         Merge from blink. https://src.chromium.org/viewvc/blink?view=rev&revision=165458.
2354
2355         * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
2356         (WebCore::verifyCustomHandlerURL):
2357         (WebCore::NavigatorContentUtils::registerProtocolHandler):
2358         (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
2359         (WebCore::NavigatorContentUtils::unregisterProtocolHandler):
2360         * Modules/navigatorcontentutils/NavigatorContentUtilsClient.h:
2361
2362 2014-02-23  Dean Jackson  <dino@apple.com>
2363
2364         Update ANGLE to 836bd2176e5607b14846cf1fbc5932dbc91318f4
2365         https://bugs.webkit.org/show_bug.cgi?id=129232
2366
2367         Reviewed by Brent Fulgham.
2368
2369         New files added, derived sources compiled directly, and generated
2370         steps removed for both EFL and GTK, with much-needed help from
2371         Sergio Correia.
2372
2373         * CMakeLists.txt:
2374         * GNUMakefile.am:
2375
2376 2014-02-23  Sam Weinig  <sam@webkit.org>
2377
2378         Move RenderMathMLMenclose.h/cpp to the right place in the Xcode project and sort.
2379
2380         Rubber-stamped by Anders Carlsson.
2381
2382         * WebCore.xcodeproj/project.pbxproj:
2383
2384 2014-02-23  Sam Weinig  <sam@webkit.org>
2385
2386         Move telephone number detection behind its own ENABLE macro
2387         https://bugs.webkit.org/show_bug.cgi?id=129236
2388
2389         Reviewed by Dean Jackson.
2390
2391         * Configurations/FeatureDefines.xcconfig:
2392         Add ENABLE_TELEPHONE_NUMBER_DETECTION.
2393
2394         * dom/Document.cpp:
2395         (WebCore::Document::Document):
2396         * dom/Document.h:
2397         * html/parser/HTMLConstructionSite.h:
2398         * html/parser/HTMLTreeBuilder.cpp:
2399         (WebCore::HTMLTreeBuilder::processCharacterBufferForInBody):
2400         * html/parser/HTMLTreeBuilder.h:
2401         Use ENABLE(TELEPHONE_NUMBER_DETECTION).
2402
2403         * platform/mac/SoftLinking.h:
2404         Remove PLATOFORM(IOS) from SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL, it is not iOS specific.
2405
2406 2014-02-23  Zalan Bujtas  <zalan@apple.com>
2407
2408         Subpixel rendering: Fix bleed avoidance subpixel calculation.
2409         https://bugs.webkit.org/show_bug.cgi?id=129225
2410
2411         Reviewed by Simon Fraser.
2412         
2413         static_cast<LayoutUnit>(int value) only produces the desired result when subpixel is off.
2414
2415         Currently not testable.
2416
2417         * rendering/RenderBoxModelObject.cpp:
2418         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
2419         (WebCore::shrinkRectByOneDevicePixel):
2420         (WebCore::RenderBoxModelObject::borderInnerRectAdjustedForBleedAvoidance):
2421         (WebCore::RenderBoxModelObject::backgroundRoundedRectAdjustedForBleedAvoidance):
2422         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2423         * rendering/RenderBoxModelObject.h:
2424
2425 2014-02-23  Zalan Bujtas  <zalan@apple.com>
2426
2427         Subpixel rendering: Add devicepixel based computation to BorderEdge class.
2428         https://bugs.webkit.org/show_bug.cgi?id=129224
2429
2430         Reviewed by Simon Fraser.
2431
2432         To produce correct width (and type) results, BorderEdge class needs to take device pixel ratio into account.
2433
2434         Currently not testable.
2435
2436         * rendering/RenderBoxModelObject.cpp:
2437         (WebCore::BorderEdge::BorderEdge):
2438         (WebCore::BorderEdge::obscuresBackgroundEdge):
2439         (WebCore::BorderEdge::getDoubleBorderStripeWidths): this does not always produce the same
2440         result as before, but the sum of inner and outer is not different.
2441         (WebCore::BorderEdge::borderWidthInDevicePixel):
2442         (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
2443
2444 2014-02-22  Dan Bernstein  <mitz@apple.com>
2445
2446         REGRESSION (r164507): Crash beneath JSGlobalObjectInspectorController::reportAPIException at facebook.com, twitter.com, youtube.com
2447         https://bugs.webkit.org/show_bug.cgi?id=129227
2448
2449         Reviewed by Eric Carlson.
2450
2451         Reverted r164507.
2452
2453         * bindings/js/JSDOMBinding.cpp:
2454         (WebCore::reportException):
2455         * inspector/InspectorResourceAgent.cpp:
2456         (WebCore::InspectorResourceAgent::buildInitiatorObject):
2457         * inspector/PageDebuggerAgent.cpp:
2458         (WebCore::PageDebuggerAgent::breakpointActionLog):
2459         * inspector/TimelineRecordFactory.cpp:
2460         (WebCore::TimelineRecordFactory::createGenericRecord):
2461         * page/Console.cpp:
2462         (WebCore::internalAddMessage):
2463         (WebCore::Console::profile):
2464         (WebCore::Console::profileEnd):
2465         (WebCore::Console::timeEnd):
2466         * page/ContentSecurityPolicy.cpp:
2467         (WebCore::gatherSecurityPolicyViolationEventData):
2468         (WebCore::ContentSecurityPolicy::reportViolation):
2469         * page/DOMWindow.cpp:
2470         (WebCore::DOMWindow::postMessage):
2471
2472 2014-02-22  Joseph Pecoraro  <pecoraro@apple.com>
2473
2474         Remove some unreachable code (-Wunreachable-code)
2475         https://bugs.webkit.org/show_bug.cgi?id=129220
2476
2477         Reviewed by Eric Carlson.
2478
2479         * html/parser/HTMLTreeBuilder.cpp:
2480         (WebCore::HTMLTreeBuilder::processCharacterBuffer):
2481         (WebCore::HTMLTreeBuilder::processEndTag):
2482         The only tricky case. Here there was a break inside the
2483         #if, but not the #else, and a break after the #endif.
2484         Remove the break inside the #if, and always use the
2485         break after the #endif.
2486
2487         * Modules/indexeddb/IDBTransaction.cpp:
2488         (WebCore::IDBTransaction::modeToString):
2489         * bindings/js/JSTrackCustom.cpp:
2490         (WebCore::toJS):
2491         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2492         (WebCore::functionForUniform):
2493         * css/SelectorChecker.cpp:
2494         (WebCore::SelectorChecker::checkOne):
2495         * html/HTMLMediaElement.cpp:
2496         (WebCore::HTMLMediaElement::parseAttribute):
2497         * page/CaptionUserPreferencesMediaAF.cpp:
2498         (WebCore::CaptionUserPreferencesMediaAF::captionDisplayMode):
2499
2500 2014-02-22  Dean Jackson  <dino@apple.com>
2501
2502         Letterpress effect disabled for synthetic italic
2503         https://bugs.webkit.org/show_bug.cgi?id=129218
2504         <rdar://problem/15997846>
2505
2506         Reviewed by Dan Bernstein.
2507
2508         There was no need to guard against synthetic italics and letterpress.
2509
2510         * platform/graphics/mac/FontMac.mm:
2511         (WebCore::Font::drawGlyphs): Remove !useLetterpressEffect from conditional.
2512
2513 2014-02-21  Sam Weinig  <sam@webkit.org>
2514
2515         Expose phase and momentum phase as SPI on DOMWheelEvent
2516         <rdar://problem/16110871>
2517         https://bugs.webkit.org/show_bug.cgi?id=129184
2518
2519         Reviewed by Anders Carlsson.
2520
2521         * WebCore.exp.in:
2522         Export core(DOMWheelEvent).
2523
2524         * WebCore.xcodeproj/project.pbxproj:
2525         Make DOMWheelEventInternal.h available in WebKit.
2526
2527         * dom/Element.cpp:
2528         (WebCore::Element::dispatchWheelEvent):
2529         * dom/WheelEvent.cpp:
2530         (WebCore::determineDeltaMode):
2531         (WebCore::WheelEvent::WheelEvent):
2532         (WebCore::WheelEvent::initWheelEvent):
2533         (WebCore::WheelEvent::initWebKitWheelEvent):
2534         Move PlatformWheelEvent -> DOMWheelEvent conversion to DOMWheelEvent.
2535
2536         * dom/WheelEvent.h:
2537         (WebCore::WheelEvent::create):
2538         (WebCore::WheelEvent::phase):
2539         (WebCore::WheelEvent::momentumPhase):
2540         Store phase and momentumPhase on the WheelEvent.
2541
2542 2014-02-22  Alexey Proskuryakov  <ap@apple.com>
2543
2544         Rename JWK key_ops values from wrap/unwrap to wrapKey/unwrapKey
2545         https://bugs.webkit.org/show_bug.cgi?id=129121
2546
2547         Reviewed by Sam Weinig.
2548
2549         * bindings/js/JSCryptoKeySerializationJWK.cpp:
2550         (WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated to newer names.
2551         (WebCore::addUsagesToJSON): Ditto.
2552         (WebCore::JSCryptoKeySerializationJWK::serialize): rsa-oaep-key-manipulation test
2553         started ot fail, because RSA-OAEP with 2048 bit key and sha-1 can only encrypt
2554         214 bytes, and the new longer names made JSON serialization slightly longer.
2555         Compensate by not doing any indentation in JSON.
2556
2557 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
2558
2559         Only skip stretchy operators when determining the stretch height.
2560         https://bugs.webkit.org/show_bug.cgi?id=126842
2561
2562         Reviewed by Chris Fleizach.
2563
2564         The MathML code only takes into account non-mo children for the computation of the stretch size. This change includes non-stretchy mo in that computation. A new test is added into mathml/presentation/stretchy-depth-height.html.
2565
2566         * rendering/mathml/RenderMathMLRow.cpp:
2567         (WebCore::RenderMathMLRow::layout):
2568
2569 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
2570
2571         Implement asymmetric/symmetric stretching of vertical operators.
2572         https://bugs.webkit.org/show_bug.cgi?id=124827.
2573
2574         Reviewed by Chris Fleizach.
2575
2576         The MathML code stretches vertical operators asymmetrically by default. This patch takes into account the symmetric attribute or the symmetric property of the operator dictionary to stretch operators symmetrically.
2577
2578         Test: mathml/presentation/stretchy-depth-height-symmetric.html
2579
2580         * rendering/mathml/RenderMathMLOperator.cpp:
2581         (WebCore::RenderMathMLOperator::stretchTo):
2582         (WebCore::RenderMathMLOperator::updateFromElement):
2583         (WebCore::RenderMathMLOperator::updateStyle):
2584
2585 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
2586
2587         Bug 119043 - Large stretch size error for MathML operators.
2588         https://bugs.webkit.org/show_bug.cgi?id=119043
2589
2590         Reviewed by Chris Fleizach.
2591
2592         The MathML code used some arbitrary gOperatorExpansion factor for the
2593         stretch size and 2/3 1/2 constants for the baseline. This change tries
2594         to consider height/depth of siblings of the stretchy operator so that
2595         the stretchy operator now matches its target.
2596
2597         Test: mathml/presentation/stretchy-depth-height.html
2598
2599         * rendering/RenderObject.h:
2600         (WebCore::RenderObject::isRenderMathMLTable):
2601         * rendering/mathml/RenderMathMLBlock.h:
2602         * rendering/mathml/RenderMathMLOperator.cpp:
2603         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
2604         (WebCore::RenderMathMLOperator::stretchTo):
2605         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
2606         (WebCore::RenderMathMLOperator::updateStyle):
2607         (WebCore::RenderMathMLOperator::firstLineBaseline):
2608         (WebCore::RenderMathMLOperator::computeLogicalHeight):
2609         * rendering/mathml/RenderMathMLOperator.h:
2610         * rendering/mathml/RenderMathMLRow.cpp:
2611         (WebCore::RenderMathMLRow::layout):
2612
2613 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
2614
2615         Unreviewed, rolling out r164534.
2616         http://trac.webkit.org/changeset/164534
2617         https://bugs.webkit.org/show_bug.cgi?id=119043
2618
2619         missing tests
2620
2621         * rendering/RenderObject.h:
2622         * rendering/mathml/RenderMathMLBlock.h:
2623         * rendering/mathml/RenderMathMLOperator.cpp:
2624         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
2625         (WebCore::RenderMathMLOperator::expandedStretchHeight):
2626         (WebCore::RenderMathMLOperator::stretchToHeight):
2627         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
2628         (WebCore::RenderMathMLOperator::updateStyle):
2629         (WebCore::RenderMathMLOperator::firstLineBaseline):
2630         (WebCore::RenderMathMLOperator::computeLogicalHeight):
2631         * rendering/mathml/RenderMathMLOperator.h:
2632         * rendering/mathml/RenderMathMLRow.cpp:
2633         (WebCore::RenderMathMLRow::layout):
2634
2635 2014-02-22  Frédéric Wang  <fred.wang@free.fr>
2636
2637         Bug 119043 - Large stretch size error for MathML operators.
2638         https://bugs.webkit.org/show_bug.cgi?id=119043
2639
2640         Reviewed by Chris Fleizach.
2641
2642         The MathML code used some arbitrary gOperatorExpansion factor for the
2643         stretch size and 2/3 1/2 constants for the baseline. This change tries
2644         to consider height/depth of siblings of the stretchy operator so that
2645         the stretchy operator now matches its target.
2646
2647         Test: mathml/presentation/stretchy-depth-height.html
2648
2649         * rendering/RenderObject.h:
2650         (WebCore::RenderObject::isRenderMathMLTable):
2651         * rendering/mathml/RenderMathMLBlock.h:
2652         * rendering/mathml/RenderMathMLOperator.cpp:
2653         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
2654         (WebCore::RenderMathMLOperator::stretchTo):
2655         (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter):
2656         (WebCore::RenderMathMLOperator::updateStyle):
2657         (WebCore::RenderMathMLOperator::firstLineBaseline):
2658         (WebCore::RenderMathMLOperator::computeLogicalHeight):
2659         * rendering/mathml/RenderMathMLOperator.h:
2660         * rendering/mathml/RenderMathMLRow.cpp:
2661         (WebCore::RenderMathMLRow::layout):
2662
2663 2014-02-21  Zalan Bujtas  <zalan@apple.com>
2664
2665         REGRESSION(r164412): Pixel cracks when zooming in to any web content.
2666         https://bugs.webkit.org/show_bug.cgi?id=129195
2667
2668         Reviewed by Simon Fraser.
2669
2670         Integral clipping of the repaint rect was prematurely removed in RenderLayerBacking::paintContents().
2671         Repaint rects needs a uniform, device pixel precise clipping across the painting flow including RenderLayer,
2672         RenderView and TileController.
2673
2674         * rendering/RenderLayerBacking.cpp:
2675         (WebCore::RenderLayerBacking::paintContents):
2676         (WebCore::RenderLayerBacking::compositedBoundsIncludingMargin):
2677
2678 2014-02-21  Jer Noble  <jer.noble@apple.com>
2679
2680         Unreviewed Mac build fix after r164529.
2681
2682         Replace the string-to-array algorithm with a archictecture-independant
2683         one.
2684
2685         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
2686         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):
2687
2688 2014-02-21  Jer Noble  <jer.noble@apple.com>
2689
2690         [EME] Add a CDMSession for MediaPlayerPrivateMediaSourceAVFObjC
2691         https://bugs.webkit.org/show_bug.cgi?id=129166
2692
2693         Reviewed by Eric Carlson.
2694
2695         Add a new CDMSession, cerated by MediaPlayerPrivateMediaSourceAVFObjC allowing
2696         media-source-backed media elements to play protected content.
2697
2698         Add a new CDMSessionMediaSourceAVFObjC class:
2699         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h: Added.
2700         (WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):
2701         * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm: Added.
2702         (WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
2703         (WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest): Do not actually generate a
2704             key request until the certificate data has been added via update();
2705         (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): No-op.
2706         (WebCore::CDMSessionMediaSourceAVFObjC::update): If no certificate data has yet been
2707             added, assume the incoming message contains it.
2708
2709         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
2710         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
2711         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Add supportsKeySystem.
2712         (WebCore::keySystemIsSupported): Use "com.apple.fps.2_0" to distinguish from the not-media-source scheme.
2713         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Check the keySystem type.
2714         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsKeySystem): Added.
2715         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::createSession): Added, pass through to MediaSourcePrivate.
2716         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
2717         * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
2718         (WebCore::MediaSourcePrivateAVFObjC::createSession): Added.
2719         (WebCore::MediaSourcePrivateAVFObjC::sourceBufferKeyNeeded): Pass through to MediaPlayer.
2720         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
2721         * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
2722         (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):
2723             Added, pass through to SourceBufferPrivate.
2724         (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
2725         (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Remember
2726             which track is requesting the key, and pass the request to MediaSourcePrivate.
2727
2728         Add new files to the project.
2729         * WebCore.xcodeproj/project.pbxproj:
2730
2731 2014-02-21  Alexey Proskuryakov  <ap@apple.com>
2732
2733         CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify contains seemingly accidental unreachable code
2734         https://bugs.webkit.org/show_bug.cgi?id=129193
2735
2736         Reviewed by Joseph Pecoraro.
2737
2738         * crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
2739         (WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify): Fix the accidental code.
2740
2741 2014-02-21  Brent Fulgham  <bfulgham@apple.com>
2742
2743         Extend media support for WebVTT sources
2744         https://bugs.webkit.org/show_bug.cgi?id=129156
2745
2746         Reviewed by Eric Carlson.
2747
2748         * Configurations/FeatureDefines.xcconfig: Add new feature define for AVF_CAPTIONS
2749         * html/HTMLMediaElement.cpp:
2750         (WebCore::HTMLMediaElement::outOfBandTrackSources): Added.
2751         * html/HTMLMediaElement.h:
2752         * platform/graphics/MediaPlayer.cpp:
2753         (WebCore::MediaPlayer::outOfBandTrackSources): Added.
2754         * platform/graphics/MediaPlayer.h:
2755         (WebCore::MediaPlayerClient::outOfBandTrackSources): Added.
2756         * platform/graphics/PlatformTextTrack.h:
2757         (WebCore::PlatformTextTrack::create): Update for new constructor signature.
2758         (WebCore::PlatformTextTrack::createOutOfBand): Added.
2759         (WebCore::PlatformTextTrack::url): Added.
2760         (WebCore::PlatformTextTrack::isDefault): Added.
2761         (WebCore::PlatformTextTrack::PlatformTextTrack): Revised to take new URL and
2762         'isDefault' arguments.
2763         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2764         (WebCore::mediaDescriptionForKind): Added.
2765         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation about any
2766         WebVTT tracks supplied by the web page.
2767         (WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Filter out any out-of-band
2768         WebVTT tracks returned by the media engine to avoid double-counting tracks.
2769
2770 2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2771
2772         Inner text element should not use -webkit-user-modify
2773         https://bugs.webkit.org/show_bug.cgi?id=129035
2774
2775         Reviewed by Andreas Kling.
2776
2777         To eliminate the internal use of -webkit-user-modify, use contenteditable attribute in the inner text elements
2778         instead of manually inspecting disabled-ness and readonly-ness in RenderTextControl.
2779
2780         Unfortunately, we still have to manually set UserModify value in RenderTextControl::adjustInnerTextStyle since
2781         RenderTextControl::styleDidChange creates RenderStyle for its inner text from scratch via createInnerTextStyle.    
2782
2783         * html/HTMLFieldSetElement.cpp:
2784         (WebCore::HTMLFieldSetElement::disabledStateChanged): Don't use childrenOfType iterator which asserts that DOM
2785         isn't mutated during the traversal since we now set contenteditable attribute inside disabledStateChanged via
2786         updateFromControlElementsAncestorDisabledStateUnder.
2787
2788         * html/HTMLFormControlElement.cpp:
2789         (WebCore::HTMLFormControlElement::parseAttribute): Extracted readOnlyAttributeChanged out of this function so
2790         that HTMLTextFormControl could override it to call updateInnerTextElementEditability.
2791         (WebCore::HTMLFormControlElement::readOnlyAttributeChanged): Ditto.
2792         * html/HTMLFormControlElement.h:
2793
2794         * html/HTMLInputElement.cpp:
2795         (WebCore::HTMLInputElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability after creating
2796         shadow DOM for the current input type.
2797         (WebCore::HTMLInputElement::updateType): Ditto.
2798         (WebCore::HTMLInputElement::parseAttribute): Ditto.
2799
2800         * html/HTMLTextAreaElement.cpp:
2801         (WebCore::HTMLTextAreaElement::didAddUserAgentShadowRoot): Call updateInnerTextElementEditability.
2802
2803         * html/HTMLTextFormControlElement.cpp:
2804         (WebCore::HTMLTextFormControlElement::disabledStateChanged): Added to update contenteditable attribute since
2805         the editability of the inner text element depends on disabled-ness of the element.
2806         (WebCore::HTMLTextFormControlElement::readOnlyAttributeChanged): Ditto for the readonly-ness of the element.
2807         (WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability): Added.
2808         * html/HTMLTextFormControlElement.h:
2809
2810         * rendering/RenderTextControl.cpp:
2811         (WebCore::RenderTextControl::adjustInnerTextStyle): Use the inner text element's presentationAttributeStyle() to
2812         compute the appropriate EUserModify value instead of hard-coding it here.
2813         * rendering/RenderTextControl.h:
2814
2815 2014-02-21  ChangSeok Oh  <changseok.oh@collabora.com>
2816
2817         [GTK] Support WEBGL_draw_buffers extension.
2818         https://bugs.webkit.org/show_bug.cgi?id=129143
2819
2820         Reviewed by Dean Jackson.
2821
2822         Support the WEBGL_draw_buffers WebGL extension for gtk port. Relevant opengl APIs
2823         are exposed for WebGLRenderingContext to access them properly.
2824
2825         Covered by fast/canvas/webgl/webgl-draw-buffers.html
2826
2827         * platform/graphics/OpenGLShims.cpp:
2828         (WebCore::initializeOpenGLShims):
2829         * platform/graphics/OpenGLShims.h:
2830         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2831         (WebCore::Extensions3DOpenGL::supportsExtension):
2832         (WebCore::Extensions3DOpenGL::drawBuffersEXT):
2833
2834 2014-02-21  ChangSeok Oh  <changseok.oh@collabora.com>
2835
2836         Mac port uses ANGLE_instanced_arrays related apis through those in GraphicsContext3DCommon.cpp
2837         https://bugs.webkit.org/show_bug.cgi?id=128803
2838
2839         Reviewed by Dean Jackson.
2840
2841         Merge mac port implementation of ANGLE_instanced_arrays into common code.
2842
2843         No new tests, no functionality changed.
2844
2845         * platform/graphics/mac/GraphicsContext3DMac.mm:
2846         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2847         (WebCore::Extensions3DOpenGL::drawArraysInstanced):
2848         (WebCore::Extensions3DOpenGL::drawElementsInstanced):
2849         (WebCore::Extensions3DOpenGL::vertexAttribDivisor):
2850         * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
2851         (WebCore::GraphicsContext3D::vertexAttribDivisor):
2852
2853 2014-02-21  Myles C. Maxfield  <mmaxfield@apple.com>
2854
2855         After copy and paste, cursor may appear to be above the bottom of content
2856         https://bugs.webkit.org/show_bug.cgi?id=129167
2857
2858         Reviewed by Ryosuke Niwa.
2859
2860         Adding a clear:both to the end of content.
2861
2862         I can't handle the case of the cursor appearing above the bottom of
2863         absolutely positioned divs (of the case of floats inside absolutely
2864         positioned divs) because you can't know where the bottom of a div
2865         will end up being rendered (it is affected by things like browser
2866         window width and text size settings). Therefore, the only case I
2867         can handle is the case where there is a floating div in the same
2868         level as the document itself.
2869
2870         Test: editing/pasteboard/copy-paste-inserts-clearing-div.html
2871
2872         * editing/EditingStyle.cpp:
2873         (WebCore::EditingStyle::isFloating):
2874         * editing/EditingStyle.h:
2875         * editing/markup.cpp:
2876         (WebCore::StyledMarkupAccumulator::StyledMarkupAccumulator):
2877         (WebCore::StyledMarkupAccumulator::appendElement):
2878         (WebCore::createMarkupInternal):
2879
2880 2014-02-21  Dean Jackson  <dino@apple.com>
2881
2882         [iOS Media] Wireless target UI
2883         https://bugs.webkit.org/show_bug.cgi?id=129189
2884         <rdar://problem/15349928>
2885         <rdar://problem/16100060>
2886
2887         Reviewed by Eric Carlson.
2888
2889         Implement a prototype UI for wireless playback targets. The UI
2890         doesn't currently work, but can be simulated via a class variable
2891         in ControllerIOS.
2892
2893         * Modules/mediacontrols/mediaControlsiOS.css:
2894         (audio::-webkit-media-controls-panel button): Reset the default style of
2895         button elements, to avoid getting a border.
2896         (audio::-webkit-media-controls-wireless-playback-status): Holds the UI showing
2897         the user that the media is playing on another target.
2898         (audio::-webkit-media-controls-wireless-playback-status.hidden):
2899         (audio::-webkit-media-controls-wireless-playback-picker-button): The button to
2900         trigger selection of targets.
2901         (audio::-webkit-media-controls-wireless-playback-picker-button.active):
2902         (audio::-webkit-media-controls-panel): This needs to be position absolute for
2903         the wireless playback status to fill the viewport.
2904         * Modules/mediacontrols/mediaControlsiOS.js:
2905         (ControllerIOS): Check for targets.
2906         (ControllerIOS.prototype.addVideoListeners):
2907         (ControllerIOS.prototype.removeVideoListeners):
2908         (ControllerIOS.prototype.UIString): New method to return localized strings (with
2909         a FIXME).
2910         (ControllerIOS.prototype.shouldHaveAnyUI): Needs to display if there is a wireless
2911         target.
2912         (ControllerIOS.prototype.currentPlaybackTargetIsWireless):
2913         (ControllerIOS.prototype.updateWirelessPlaybackStatus): Create the status content,
2914         replacing the device name if it is available.
2915         (ControllerIOS.prototype.updateWirelessTargetAvailable):
2916         (ControllerIOS.prototype.createControls):
2917         (ControllerIOS.prototype.configureInlineControls):
2918         (ControllerIOS.prototype.handleWirelessPlaybackChange):
2919         (ControllerIOS.prototype.handleWirelessTargetAvailableChange):
2920         (ControllerIOS.prototype.handleWirelessPickerButtonClicked):
2921
2922 2014-02-21  Jer Noble  <jer.noble@apple.com>
2923
2924         Make a generic CDMPrivateMediaPlayer and move its CDMSession into platform/.
2925         https://bugs.webkit.org/show_bug.cgi?id=129164
2926
2927         Reviewed by Eric Carlson.
2928
2929         Move the session created by CDMPrivateAVFoundation into platform, and rename
2930         CDMPrivateAVFoundation to CDMPrivateMediaPlayer. Future media engines who want
2931         to support a keysystem from within the media engine can create their own
2932         CDMSession as part of the MediaPlayerPrivate interface.
2933
2934         * Modules/encryptedmedia/CDM.cpp:
2935         (WebCore::installedCDMFactories):
2936         (WebCore::CDM::createSession):
2937         * Modules/encryptedmedia/CDM.h:
2938         * Modules/encryptedmedia/CDMPrivate.h:
2939         * Modules/encryptedmedia/MediaKeySession.cpp:
2940         * Modules/encryptedmedia/MediaKeySession.h:
2941         * Modules/encryptedmedia/CDMPrivateAVFoundation.mm: Removed.
2942         * Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.cpp.
2943         (WebCore::CDMPrivateMediaPlayer::supportsKeySystem):
2944         (WebCore::CDMPrivateMediaPlayer::supportsKeySystemAndMimeType):
2945         (WebCore::CDMPrivateMediaPlayer::supportsMIMEType):
2946         (WebCore::CDMPrivateMediaPlayer::createSession):
2947         * Modules/encryptedmedia/CDMPrivateMediaPlayer.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.
2948         (WebCore::CDMPrivateMediaPlayer::create):
2949         (WebCore::CDMPrivateMediaPlayer::~CDMPrivateMediaPlayer):
2950         (WebCore::CDMPrivateMediaPlayer::cdm):
2951         (WebCore::CDMPrivateMediaPlayer::CDMPrivateMediaPlayer):
2952         * WebCore.xcodeproj/project.pbxproj:
2953         * platform/graphics/CDMSession.h: Extracted from CDMPrivateAVFoundation.h.
2954         (WebCore::CDMSessionClient::~CDMSessionClient):
2955         (WebCore::CDMSession::CDMSession):
2956         (WebCore::CDMSession::~CDMSession):
2957         * platform/graphics/MediaPlayer.cpp:
2958         (WebCore::MediaPlayer::createSession):
2959         * platform/graphics/MediaPlayer.h:
2960         * platform/graphics/MediaPlayerPrivate.h:
2961         (WebCore::MediaPlayerPrivateInterface::createSession):
2962         * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.h.
2963         (WebCore::CDMSessionAVFoundationObjC::~CDMSessionAVFoundationObjC):
2964         * platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm: Renamed from Source/WebCore/Modules/encryptedmedia/CDMPrivateAVFoundation.mm.
2965         (WebCore::CDMSessionAVFoundationObjC::CDMSessionAVFoundationObjC):
2966         (WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
2967         (WebCore::CDMSessionAVFoundationObjC::releaseKeys):
2968         (WebCore::CDMSessionAVFoundationObjC::update):
2969         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2970         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2971         (WebCore::MediaPlayerPrivateAVFoundationObjC::createSession):
2972         * testing/MockCDM.cpp:
2973         (WebCore::MockCDMSession::setClient):
2974         (WebCore::MockCDM::createSession):
2975         * testing/MockCDM.h:
2976
2977 2014-02-21  Jer Noble  <jer.noble@apple.com>
2978
2979         Add a supportsKeySystem media engine factory parameter.
2980         https://bugs.webkit.org/show_bug.cgi?id=129161
2981
2982         Reviewed by Eric Carlson.
2983
2984         Add a new parameter to the MediaPlayerFactory to allow registered media
2985         engines to be queried for keySystem support:
2986         * platform/graphics/MediaPlayer.cpp:
2987         (WebCore::MediaPlayerFactory::MediaPlayerFactory):
2988         (WebCore::MediaPlayer::supportsKeySystem):
2989         * platform/graphics/MediaPlayer.h:
2990
2991         Support this new field in MediaPlayerPrivateAVFoundationObjC:
2992         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
2993         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2994         (WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
2995         (WebCore::keySystemIsSupported):
2996         (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
2997         (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
2998
2999         Add an empty field for SupportsKeySystem to the remaining media engines:
3000         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3001         (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
3002         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3003         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
3004         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3005         (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
3006         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
3007         (WebCore::MediaPlayerPrivateIOS::registerMediaEngine):
3008         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3009         (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
3010         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3011         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine):
3012         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
3013         (WebCore::MockMediaPlayerMediaSource::registerMediaEngine):
3014
3015 2014-02-21  Benjamin Poulain  <bpoulain@apple.com>
3016
3017         Fix WebCore's internals after r164505
3018
3019         * testing/Internals.cpp:
3020         (WebCore::Internals::findEditingDeleteButton): The call became ambiguous after r164505.
3021
3022 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
3023
3024         Web Inspector: JSContext inspection should report exceptions in the console
3025         https://bugs.webkit.org/show_bug.cgi?id=128776
3026
3027         Reviewed by Timothy Hatcher.
3028
3029         Include some clean up of ConsoleMessage and ScriptCallStack construction.
3030
3031         Covered by existing tests.
3032
3033         * bindings/js/JSDOMBinding.cpp:
3034         (WebCore::reportException):
3035         Simplify code now that createStackTraceFromException handles it.
3036
3037         * page/ContentSecurityPolicy.cpp:
3038         (WebCore::gatherSecurityPolicyViolationEventData):
3039         (WebCore::ContentSecurityPolicy::reportViolation):
3040         ScriptCallStack can give us the first non-native callframe.
3041
3042         * inspector/InspectorResourceAgent.cpp:
3043         (WebCore::InspectorResourceAgent::buildInitiatorObject):
3044         * inspector/PageDebuggerAgent.cpp:
3045         (WebCore::PageDebuggerAgent::breakpointActionLog):
3046         * inspector/TimelineRecordFactory.cpp:
3047         (WebCore::TimelineRecordFactory::createGenericRecord):
3048         * page/Console.cpp:
3049         (WebCore::internalAddMessage):
3050         (WebCore::Console::profile):
3051         (WebCore::Console::profileEnd):
3052         (WebCore::Console::timeEnd):
3053         * page/ContentSecurityPolicy.cpp:
3054         (WebCore::gatherSecurityPolicyViolationEventData):
3055         (WebCore::ContentSecurityPolicy::reportViolation):
3056         * page/DOMWindow.cpp:
3057         (WebCore::DOMWindow::postMessage):
3058
3059 2014-02-21  Benjamin Poulain  <benjamin@webkit.org>
3060
3061         jsDocumentPrototypeFunctionGetElementById should not create an AtomicString for the function argument
3062         https://bugs.webkit.org/show_bug.cgi?id=128893
3063
3064         Reviewed by Darin Adler.
3065
3066         The declaration of TreeScope::getElementById() was taking an AtomicString as the parameter.
3067         Because of this, all the call sites manipulating String were creating and keeping alive an AtomicString
3068         to make the call.
3069
3070         This had two negative consequences:
3071         -The call sites were ref-ing the ID's atomic string for no reason.
3072         -When there is no ID associated with the input string, an atomic string was created for the sole
3073          purpose of failing the query. Since IDs are stored as AtomicString, if there is not an existing
3074          AtomicString for the input, there is no reason to query anything.
3075
3076         * WebCore.exp.in:
3077         * bindings/js/JSDOMBinding.cpp:
3078         (WebCore::findAtomicString): Update this after the rename.
3079
3080         * bindings/scripts/CodeGeneratorObjC.pm:
3081         (GenerateImplementation):
3082         * bindings/scripts/IDLAttributes.txt:
3083         Now that there are two overloads for TreeScope::getElementById(), the conversion from NSString*
3084         is ambiguous. I add the keyword ObjCExplicitAtomicString to force an explicit conversion to AtomicString.
3085
3086         * dom/Document.idl:
3087         * dom/TreeScope.cpp:
3088         (WebCore::TreeScope::getElementById):
3089         When getting an AtomicString, the case of a empty string is not important, use isNull() instead.
3090         When getting a String, get the corresponding AtomicString if any and use that for getting the element.
3091
3092         * dom/TreeScope.h:
3093         * html/FTPDirectoryDocument.cpp:
3094         (WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
3095         Solve the ambiguous call.
3096
3097         * svg/SVGAElement.cpp:
3098         (WebCore::SVGAElement::defaultEventHandler):
3099         This is a wonderful candidate for substringSharingImpl. The substring does not survive the call since
3100         the new getElementById never create any AtomicString.
3101
3102         * svg/SVGSVGElement.cpp:
3103         (WebCore::SVGSVGElement::getElementById):
3104         It looks like there are opportunities to get faster here, Ryosuke should have a look.
3105
3106         * svg/SVGSVGElement.h:
3107         * xml/XMLTreeViewer.cpp:
3108         (WebCore::XMLTreeViewer::transformDocumentToTreeView):
3109         Unrelated cleanup: noStyleMessage was useless.
3110
3111 2014-02-21  Daniel Bates  <dabates@apple.com>
3112
3113         COL element in table has 0 for offsetWidth
3114         https://bugs.webkit.org/show_bug.cgi?id=15277
3115
3116         Reviewed by David Hyatt.
3117
3118         Implements offset{Left, Top, Width, Height} for table columns and column groups
3119         per section Extensions to the HTMLElement Interface of the CSSOM View spec,
3120         <http://www.w3.org/TR/cssom-view/#extensions-to-the-htmlelement-interface> (Draft 17 December 2013).
3121
3122         For now, we fail almost all of the offset{Height, Top} sub-tests in the included test
3123         for the separate border model as we need to fix <https://bugs.webkit.org/show_bug.cgi?id=128988>.
3124
3125         Test: fast/table/col-and-colgroup-offsets.html
3126
3127         * rendering/RenderTable.cpp:
3128         (WebCore::RenderTable::RenderTable): Initialize cached column offset top and offset height.
3129         We cache these offsets since they are the same for all columns in the table.
3130         (WebCore::RenderTable::invalidateCachedColumns): Clear cached effective column index map.
3131         (WebCore::RenderTable::invalidateCachedColumnOffsets): Added.
3132         (WebCore::RenderTable::layout): Invalidate cached column offsets as the location or height
3133         of one or more sections may have changed.
3134         (WebCore::RenderTable::updateColumnCache): Modified to build effective column index map.
3135         (WebCore::RenderTable::effectiveIndexOfColumn): Added.
3136         (WebCore::RenderTable::offsetTopForColumn): Added.
3137         (WebCore::RenderTable::offsetLeftForColumn): Added.
3138         (WebCore::RenderTable::offsetWidthForColumn): Added.
3139         (WebCore::RenderTable::offsetHeightForColumn): Added.
3140         * rendering/RenderTable.h: Make isTableColumnGroupWithColumnChildren() const.
3141         * rendering/RenderTableCol.cpp:
3142         (WebCore::RenderTableCol::offsetLeft): Added; turns around and calls RenderTable::offsetLeftForColumn().
3143         (WebCore::RenderTableCol::offsetTop): Added; turns around and calls RenderTable::offsetTopForColumn().
3144         (WebCore::RenderTableCol::offsetWidth): Added; turns around and calls RenderTable::offsetWidthForColumn().
3145         (WebCore::RenderTableCol::offsetHeight): Added; turns around and calls RenderTable::offsetHeightForColumn().
3146         * rendering/RenderTableCol.h:
3147
3148 2014-02-21  Enrica Casucci  <enrica@apple.com>
3149
3150         Build fix for iOS after r164498.
3151
3152         Unreviewed.
3153
3154         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
3155         (WebCore::MediaPlayerPrivateIOS::buffered):
3156
3157 2014-02-21  Ryosuke Niwa  <rniwa@webkit.org>
3158
3159         Disallow the use of -webkit-user-modify on shadow pseudo elements
3160         https://bugs.webkit.org/show_bug.cgi?id=129144
3161
3162         Reviewed by Geoffrey Garen.
3163
3164         Completely disallow -webkit-user-modify on user agent (builtin) pseudo elements.
3165
3166         We've already had rules to do this in html.css but just hard code it into the engine
3167         in order to eliminate the all uses of -webkit-user-modify in html.css.
3168
3169         * css/StyleResolver.cpp:
3170         (WebCore::StyleResolver::adjustRenderStyle):
3171         * css/html.css:
3172         (input::-webkit-textfield-decoration-container):
3173         (input::-webkit-clear-button):
3174         (input[type="search"]::-webkit-search-cancel-button):
3175         (input[type="search"]::-webkit-search-decoration):
3176         (input[type="search"]::-webkit-search-results-decoration):
3177         (input[type="search"]::-webkit-search-results-button):
3178         (input::-webkit-inner-spin-button):
3179         (input::-webkit-input-speech-button):
3180         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
3181         (input[type="file"]::-webkit-file-upload-button):
3182         (input[type="range"]::-webkit-slider-container, input[type="range"]::-webkit-media-slider-container):
3183         (input[type="range"]::-webkit-slider-runnable-track):
3184         (input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
3185         (input[type="color"]::-webkit-color-swatch-wrapper):
3186         (input[type="color"]::-webkit-color-swatch):
3187         (::-webkit-validation-bubble):
3188         (::-webkit-validation-bubble-message):
3189         (::-webkit-validation-bubble-text-block):
3190         (::-webkit-validation-bubble-heading):
3191         (::-webkit-validation-bubble-arrow):
3192         (::-webkit-validation-bubble-arrow-clipper):
3193         (meter::-webkit-meter-inner-element):
3194         (meter::-webkit-meter-bar):
3195         (meter::-webkit-meter-optimum-value):
3196         (meter::-webkit-meter-suboptimum-value):
3197         (meter::-webkit-meter-even-less-good-value):
3198         (progress::-webkit-progress-inner-element):
3199         (progress::-webkit-progress-bar):
3200         (progress::-webkit-progress-value):
3201
3202 2014-02-21  Eric Carlson  <eric.carlson@apple.com>
3203
3204         Fix TimeRanges layering violations
3205         https://bugs.webkit.org/show_bug.cgi?id=128717
3206
3207         Reviewed by Jer Noble.
3208
3209         No new tests, no functionality changed.
3210
3211         * CMakeLists.txt:
3212         * GNUmakefile.list.am: Add PlatformTimeRanges.
3213
3214         * Modules/mediasource/MediaSource.cpp:
3215         (WebCore::MediaSource::buffered): TimeRanges -> PlatformTimeRanges.
3216         * Modules/mediasource/MediaSource.h:
3217
3218         * Modules/mediasource/SourceBuffer.cpp:
3219         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): TimeRanges* -> TimeRanges&.
3220
3221         * WebCore.exp.in: Update for signature changes.
3222
3223         * WebCore.vcxproj/WebCore.vcxproj:
3224         * WebCore.vcxproj/WebCore.vcxproj.filters:
3225         * WebCore.xcodeproj/project.pbxproj: Add PlatformTimeRanges.
3226
3227         * html/HTMLMediaElement.cpp:
3228         (WebCore::HTMLMediaElement::percentLoaded): Create TimeRanges from PlatformTimeRanges.
3229         (WebCore::HTMLMediaElement::buffered): Ditto.
3230         (WebCore::HTMLMediaElement::seekable): Ditto.
3231
3232         * html/MediaController.cpp:
3233         (MediaController::buffered): TimeRanges* -> TimeRanges&.
3234         (MediaController::seekable): Ditto.
3235         (MediaController::played): Ditto.
3236
3237         Move all of the logic into PlatformTimeRanges. Change API to take TimeRanges& instead of TimeRanges*.
3238         * html/TimeRanges.cpp:
3239         (WebCore::TimeRanges::create): Move to .cpp from .h.
3240         (WebCore::TimeRanges::TimeRanges): Initialize the PlatformTimeRanges member variable.
3241         (WebCore::TimeRanges::start): Passthrough to PlatformTimeRanges.
3242         (WebCore::TimeRanges::end): Ditto.
3243         (WebCore::TimeRanges::invert): Ditto.
3244         (WebCore::TimeRanges::copy): Ditto.
3245         (WebCore::TimeRanges::intersectWith): Ditto.
3246         (WebCore::TimeRanges::unionWith): Ditto.
3247         (WebCore::TimeRanges::length): Ditto.
3248         (WebCore::TimeRanges::add): Ditto.
3249         (WebCore::TimeRanges::contain): Ditto.
3250         (WebCore::TimeRanges::find): Ditto.
3251         (WebCore::TimeRanges::nearest): Ditto.
3252         (WebCore::TimeRanges::totalDuration): Ditto.
3253         * html/TimeRanges.h:
3254
3255         * platform/graphics/MediaPlayer.cpp:
3256         (WebCore::NullMediaPlayerPrivate::buffered): TimeRanges -> PlatformTimeRanges.
3257         (WebCore::MediaPlayer::buffered): Ditto.
3258         (WebCore::MediaPlayer::seekable): Ditto.
3259         * platform/graphics/MediaPlayer.h:
3260         * platform/graphics/MediaPlayerPrivate.h:
3261
3262         * platform/graphics/MediaSourcePrivateClient.h:
3263
3264         * platform/graphics/PlatformTimeRanges.cpp: Added.
3265         * platform/graphics/PlatformTimeRanges.h: Added.
3266
3267         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3268         (WebCore::MediaPlayerPrivateAVFoundation::buffered): TimeRanges -> PlatformTimeRanges.
3269         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Drive-by fix to log
3270             FunctionType notifications. ASSERT when passed an unknown notification.
3271
3272         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3273         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
3274         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):  TimeRanges -> PlatformTimeRanges.
3275         * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
3276         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
3277         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
3278         (WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Ditto.
3279         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges): Ditto.
3280
3281         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
3282         * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
3283         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable): Ditto.
3284         (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Ditto.
3285
3286         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3287         (WebCore::MediaPlayerPrivateGStreamer::buffered): Ditto.
3288         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3289
3290         * platform/graphics/ios/MediaPlayerPrivateIOS.h:
3291         * platform/graphics/ios/MediaPlayerPrivateIOS.mm:
3292         (WebCore::MediaPlayerPrivateIOS::buffered): Ditto.
3293
3294         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3295         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3296         (WebCore::MediaPlayerPrivateQTKit::buffered): Ditto.
3297
3298         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
3299         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::buffered): Ditto.
3300         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
3301
3302         * platform/graphics/wince/MediaPlayerPrivateWinCE.h:
3303
3304         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
3305         (WebCore::MockMediaPlayerMediaSource::buffered): Ditto.
3306         (WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.
3307         * platform/mock/mediasource/MockMediaPlayerMediaSource.h:
3308
3309 2014-02-21  Enrica Casucci  <enrica@apple.com>
3310
3311         Support WebSelections in WK2 on iOS.
3312         https://bugs.webkit.org/show_bug.cgi?id=127015
3313         <rdar://problem/15211964>
3314
3315         Reviewed by Benjamin Poulain.
3316
3317         Adding some exports.
3318
3319         * WebCore.exp.in:
3320
3321 2014-02-21  Benjamin Poulain  <bpoulain@apple.com>
3322
3323         'mouseenter' mouse compat event not fired when listeners for touch events
3324         https://bugs.webkit.org/show_bug.cgi?id=128534
3325
3326         Reviewed by Andreas Kling.
3327
3328         The code dispatching mouseenter and mouseleave events was making the assumption that
3329         only mouse move would cause Document::updateHoverActiveState.
3330
3331         This is not true in some cases. In the case of this bug, the first touch handler sets
3332         the hover state. From there, the code handling enter/leave is in an inconsistent state.
3333
3334         This patch changes the delivery of mouse enter/leave events to be done through the regular
3335         processing of mouse events. The update is done with the mouseover and mouseout events.
3336
3337         * dom/Document.cpp:
3338         (WebCore::Document::prepareMouseEvent):
3339         (WebCore::Document::updateHoverActiveState):
3340         * dom/Document.h:
3341         * page/EventHandler.cpp:
3342         (WebCore::nearestCommonHoverAncestor):
3343         (WebCore::hierarchyHasCapturingEventListeners):
3344         (WebCore::EventHandler::updateMouseEventTargetNode):
3345
3346 2014-02-21  Jon Honeycutt  <jhoneycutt@apple.com>
3347
3348         Crash reloading page with position: fixed content
3349         https://bugs.webkit.org/show_bug.cgi?id=129119
3350         <rdar://problem/16127090>
3351
3352         Reviewed by Brent Fulgham.
3353
3354         Test: platform/mac-wk2/tiled-drawing/crash-reloading-with-position-fixed-content.html
3355
3356         * page/scrolling/ScrollingTree.cpp:
3357         (WebCore::ScrollingTree::removeDestroyedNodes):
3358         Check the node's ID against the latched node's ID before the node is
3359         removed from the tree.
3360
3361 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
3362
3363         Revert r164486, causing a number of test failures.
3364
3365         Unreviewed rollout.
3366
3367 2014-02-21  David Kilzer  <ddkilzer@apple.com>
3368
3369         StyleResolver::loadPendingImage() should take a reference to StylePendingImage
3370         <http://webkit.org/b/129021>
3371
3372         Reviewed by Brent Fulgham.
3373
3374         * css/StyleResolver.cpp:
3375         (WebCore::StyleResolver::loadPendingImage): Change pendingImage
3376         parameter to a reference.
3377         (WebCore::StyleResolver::loadPendingShapeImage): Update to use
3378         references.
3379         (WebCore::StyleResolver::loadPendingImages): Ditto.
3380         * css/StyleResolver.h:
3381         (WebCore::StyleResolver::loadPendingImage): Change pendingImage
3382         parameter to a reference.
3383
3384 2014-02-21  Joseph Pecoraro  <pecoraro@apple.com>
3385
3386         Web Inspector: JSContext inspection should report exceptions in the console
3387         https://bugs.webkit.org/show_bug.cgi?id=128776
3388
3389         Reviewed by Timothy Hatcher.
3390
3391         Include some clean up of ConsoleMessage and ScriptCallStack construction.
3392
3393         Covered by existing tests.
3394
3395         * bindings/js/JSDOMBinding.cpp:
3396         (WebCore::reportException):
3397         Simplify code now that createStackTraceFromException handles it.
3398
3399         * page/ContentSecurityPolicy.cpp:
3400         (WebCore::gatherSecurityPolicyViolationEventData):
3401         (WebCore::ContentSecurityPolicy::reportViolation):
3402         ScriptCallStack can give us the first non-native callframe.
3403
3404         * inspector/InspectorResourceAgent.cpp:
3405         (WebCore::InspectorResourceAgent::buildInitiatorObject):
3406         * inspector/PageDebuggerAgent.cpp:
3407         (WebCore::PageDebuggerAgent::breakpointActionLog):
3408         * inspector/TimelineRecordFactory.cpp:
3409         (WebCore::TimelineRecordFactory::createGenericRecord):
3410         * page/Console.cpp:
3411         (WebCore::internalAddMessage):
3412         (WebCore::Console::profile):
3413         (WebCore::Console::profileEnd):
3414         (WebCore::Console::timeEnd):
3415         * page/ContentSecurityPolicy.cpp:
3416         (WebCore::gatherSecurityPolicyViolationEventData):
3417         (WebCore::ContentSecurityPolicy::reportViolation):
3418         * page/DOMWindow.cpp:
3419         (WebCore::DOMWindow::postMessage):
3420
3421 2014-02-21  Martin Hodovan  <mhodovan@inf.u-szeged.hu>
3422
3423         Fixing the !ENABLE(SVG_FONTS) build
3424         https://bugs.webkit.org/show_bug.cgi?id=129150
3425
3426         Reviewed by Anders Carlsson.
3427
3428         No new tests required.
3429
3430         * svg/SVGAltGlyphElement.cpp:
3431         * svg/SVGAltGlyphElement.h:
3432         * svg/svgtags.in:
3433
3434 2014-02-21  Radu Stavila  <stavila@adobe.com>
3435
3436         [CSS Regions] Use the named-flow-specific object RenderNamedFlowFragment instead of the generic RenderRegion whenever possible
3437         https://bugs.webkit.org/show_bug.cgi?id=128599
3438
3439         Reviewed by Andrei Bucur.
3440
3441         Use the named flow specific RenderNamedFlowFragment instead of the generic RenderRegion, whenever possible.
3442         Move named flow specific methods from RenderRegion to RenderNamedFlowFragment.
3443
3444         No new tests required.
3445
3446         * dom/Element.cpp:
3447         (WebCore::Element::renderNamedFlowFragment):
3448         (WebCore::Element::webkitRegionOverset):
3449         (WebCore::Element::webkitGetRegionFlowRanges):
3450         * dom/Element.h:
3451         * inspector/InspectorCSSAgent.cpp:
3452         (WebCore::InspectorCSSAgent::buildArrayForRegions):
3453         * rendering/PaintInfo.h:
3454         (WebCore::PaintInfo::PaintInfo):
3455         * rendering/RenderBlock.cpp:
3456         (WebCore::RenderBlock::paint):
3457         (WebCore::RenderBlock::paintObject):
3458         * rendering/RenderBox.cpp:
3459         (WebCore::RenderBox::paintBoxDecorations):
3460         (WebCore::RenderBox::pushContentsClip):
3461         (WebCore::RenderBox::layoutOverflowRectForPropagation):
3462         * rendering/RenderBox.h:
3463         * rendering/RenderBoxModelObject.cpp:
3464         (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
3465         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3466         * rendering/RenderBoxModelObject.h:
3467         * rendering/RenderInline.h:
3468         * rendering/RenderLayer.cpp:
3469         (WebCore::RenderLayer::paint):
3470         (WebCore::RenderLayer::paintLayer):
3471         (WebCore::RenderLayer::paintLayerContents):
3472         (WebCore::RenderLayer::paintLayerByApplyingTransform):
3473         (WebCore::RenderLayer::updatePaintingInfoForFragments):
3474         (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
3475         (WebCore::RenderLayer::paintBackgroundForFragments):
3476         (WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
3477         (WebCore::RenderLayer::paintOutlineForFragments):