794bd0dbed61cf48c0516905b7ac0bae4390679b
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2014-12-16  Enrica Casucci  <enrica@apple.com>
2
3         Fix iOS builders for 8.0
4         https://bugs.webkit.org/show_bug.cgi?id=139495
5
6         Reviewed by Jer Noble
7
8         * WebCore.exp.in:
9         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
10         (-[WebVideoFullscreenController enterFullscreen:mode:]):
11         (-[WebVideoFullscreenController requestHideAndExitFullscreen]):
12         (-[WebVideoFullscreenController enterFullscreen:]): Deleted.
13         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
14
15 2014-12-16  Myles C. Maxfield  <mmaxfield@apple.com>
16
17         Ruby overhang uses ints instead of floats
18         https://bugs.webkit.org/show_bug.cgi?id=139624
19
20         Reviewed by Dave Hyatt.
21
22         Simply change the type.
23
24         Updated existing tests.
25
26         * rendering/RenderBlockLineLayout.cpp:
27         (WebCore::RenderBlockFlow::setMarginsForRubyRun):
28         * rendering/RenderRubyRun.cpp:
29         (WebCore::RenderRubyRun::getOverhang):
30         * rendering/RenderRubyRun.h:
31         * rendering/line/LineWidth.cpp:
32         (WebCore::LineWidth::applyOverhang):
33
34 2014-12-16  Gavin Barraclough  <barraclough@apple.com>
35
36         Move Mac process suppression from WebCore to WebKit2
37         https://bugs.webkit.org/show_bug.cgi?id=139705
38
39         Reviewed by Geoff Garen.
40
41         Currently PageThrottler constructs the PageActivityState, holds a copy of the ViewState,
42         and an optional UserActivity.
43
44         Instead, still construct the PageActivityState but just pass this out via the Page to WebPage.
45         Logic From PageThrottler::updateUserActivity merged into WebPage::updateUserActivity.
46
47         * WebCore.exp.in:
48             - removed createUserActivity.
49         * page/ChromeClient.h:
50         (WebCore::ChromeClient::setPageActivityState):
51             - added to propagate PageActivityState to WebPage.
52         * page/Page.cpp:
53         (WebCore::Page::Page):
54             - PageThrottler constructor now takes a Page&.
55         (WebCore::Page::setViewState):
56             - no longer necessary to pass this to PageThrottler.
57         (WebCore::Page::setPageActivityState):
58             - added to propagate PageActivityState to WebPage.
59         (WebCore::Page::enablePageThrottler): Deleted.
60             - PageThrottler no longer has a UserActivity.
61         * page/Page.h:
62         (WebCore::Page::pageThrottler):
63             - added setPageActivityState, removed enablePageThrottler.
64         * page/PageThrottler.cpp:
65         (WebCore::PageThrottler::PageThrottler):
66             - removed m_viewState, added m_page.
67         (WebCore::PageThrottler::setActivityFlag):
68             - propagate PageActivityState via Page to WebPage.
69         (WebCore::PageThrottler::createUserActivity): Deleted.
70         (WebCore::PageThrottler::updateUserActivity): Deleted.
71         (WebCore::PageThrottler::setViewState): Deleted.
72             - removed; PageThrottler no longer has a PageThrottler or UserActivity.
73         * page/PageThrottler.h:
74             - removed createUserActivity, setViewState, m_viewState, m_activity; added m_page.
75
76 2014-12-16  Jer Noble  <jer.noble@apple.com>
77
78         Unreviewed build fix after r177375; explicitly cast to NSUInteger.
79
80         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
81         (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions):
82         (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions):
83
84 2014-12-16  peavo@outlook.com  <peavo@outlook.com>
85
86         [Win] Compiling WebCore fails because of invalid project file.
87         https://bugs.webkit.org/show_bug.cgi?id=139686
88
89         Reviewed by Alex Christensen.
90
91         A WebCore project file contains illegal characters.
92
93         * WebCore.vcxproj/WebCore.vcxproj.filters:
94
95 2014-12-16  Gavin Barraclough  <barraclough@apple.com>
96
97         Introduce PageActivityState
98         https://bugs.webkit.org/show_bug.cgi?id=139687
99
100         Reviewed by Anders Carlsson.
101
102         Add a bitfield to track each of the activities on the page separately.
103         Split the hysteresis & counters so we can track these separately.
104
105         * page/PageThrottler.cpp:
106         (WebCore::PageThrottler::PageThrottler):
107             - initialze new hysteresis, counters; closures call setActivityFlag.
108         (WebCore::PageThrottler::mediaActivityToken):
109         (WebCore::PageThrottler::pageLoadActivityToken):
110             - split m_pageActivityCounter -> m_mediaActivityCounter, m_pageLoadActivityCounter.
111         (WebCore::PageThrottler::updateUserActivity):
112             - use m_activityState to check for activity.
113         (WebCore::PageThrottler::setActivityFlag):
114             - helper to clear/set a bit in m_activityState, and call updateUserActivity as necessary.
115         * page/PageThrottler.h:
116         (WebCore::PageThrottler::didReceiveUserInput):
117         (WebCore::PageThrottler::pluginDidEvaluateWhileAudioIsPlaying):
118             - split m_hysteresis -> m_userInputHysteresis, m_audiblePluginHysteresis
119
120 2014-12-16  Myles C. Maxfield  <litherum@gmail.com>
121
122         Ruby does not preserve expansion opportunities from enclosing context
123         https://bugs.webkit.org/show_bug.cgi?id=139618
124
125         Reviewed by David Hyatt.
126
127         There is currently no sharing of expansion opportunity information between
128         ruby bases and the text surrounding the ruby. This patch adds a bit on
129         RenderText, m_contentIsKnownToFollow, which affects how expansion
130         opportunities are handled at paint-time, as well as a bit on RenderRubyBase,
131         m_isAfterExpansion, which affects how expansions are calculated when laying
132         out a line. This patch also adds a field to RenderRubyBase which represents
133         the base's starting position within a ruby. This field is necessary because
134         an expansion from a line might occur at the very beginning of a ruby base,
135         so we have to remember some state from expansion time to RenderRubyBase
136         layout time.
137
138         Added more tests to fast/ruby/ruby-justification.html.
139
140         * rendering/InlineBox.h:
141         (WebCore::InlineBox::setExpansionWithoutGrowing):
142         (WebCore::InlineBox::expansion):
143         * rendering/InlineFlowBox.cpp:
144         (WebCore::InlineFlowBox::removeChild): Keep the bit on InlineTextBox up to
145         date.
146         (WebCore::InlineFlowBox::placeBoxRangeInInlineDirection): Set expansion
147         information in InlineFlowBoxes so the total expansion for a whole line
148         is held in the RootInlineBox's expansion.
149         * rendering/InlineTextBox.h:
150         (WebCore::InlineTextBox::expansionBehavior):
151         * rendering/RenderBlockFlow.h:
152         * rendering/RenderBlockLineLayout.cpp:
153         (WebCore::RenderBlockFlow::updateRubyForJustifiedText):
154         updateRubyForJustifiedText() had a bunch of problems with it. First of all,
155         it didn't actually set the InlineBoxes as dirty, so the second layout pass
156         sometimes wouldn't perform any updates. Secondarily, it didn't take
157         overhangs into account. Thirdly, it didn't mark the ruby base and text as
158         needing layout so that subsequent layouts would actually traverse into them.
159         (WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
160         (WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
161         This nested if triangle is super nasty, but I'm not sure of a better way to
162         write it.
163         (WebCore::updateRubyForJustifiedText): Deleted.
164         (WebCore::computeExpansionForJustifiedText): Deleted.
165         * rendering/RenderRubyBase.cpp:
166         (WebCore::RenderRubyBase::RenderRubyBase):
167         (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds):
168         * rendering/RenderRubyBase.h:
169         * rendering/RenderRubyRun.cpp:
170         (WebCore::RenderRubyRun::layout):
171         * rendering/RenderText.cpp:
172         (WebCore::RenderText::RenderText):
173         * rendering/RenderText.h:
174         (WebCore::RenderText::contentIsKnownToFollow):
175         (WebCore::RenderText::setContentIsKnownToFollow):
176
177 2014-12-16  Jer Noble  <jer.noble@apple.com>
178
179         [iOS] Crash in WebKit::WebPageProxy::dispatchViewStateChange() tapping a link from another app while playing a video
180         https://bugs.webkit.org/show_bug.cgi?id=139550
181
182         Reviewed by Anders Carlsson.
183
184         The existing "dispatch to WebThread, then release" model is insufficient and still
185         can result in RefPtr race conditions between the main thread and the web thread.
186         Make WebVideoFullscreenInterfaceAVKit a thread-safe ref-counted class, which
187         eliminates the necessity of disptaching back to the web thread before releasing.
188
189         * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
190         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
191         (WebVideoFullscreenInterfaceAVKit::setDuration): Use a strongThis model.
192         (WebVideoFullscreenInterfaceAVKit::setCurrentTime): Ditto.
193         (WebVideoFullscreenInterfaceAVKit::setRate): Ditto.
194         (WebVideoFullscreenInterfaceAVKit::setVideoDimensions): Ditto.
195         (WebVideoFullscreenInterfaceAVKit::setSeekableRanges): Ditto.
196         (mediaSelectionOptions): Return a RetainPtr object.
197         (WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): Use a strongThis model.
198         (WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): Ditto.
199         (WebVideoFullscreenInterfaceAVKit::setExternalPlayback): Ditto.
200         (WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
201         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto.
202         (WebVideoFullscreenInterfaceAVKit::exitFullscreen): Ditto.
203         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreen): Ditto.
204         (WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Added utility
205             function. Lets us use the implied this pointer rather than an explicit
206             strongThis.
207         (WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized): Ditto.
208         (WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard): Ditto.
209         (WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto.
210         (WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto.
211         (WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Use a strongThis model.
212
213 2014-12-16  Ryosuke Niwa  <rniwa@webkit.org>
214
215         Nested template contents are not cloned by document.importNode
216         https://bugs.webkit.org/show_bug.cgi?id=137619
217
218         Reviewed by Andreas Kling.
219
220         The bug was caused by Document.importNode not cloning HTMLTemplateElement's content.
221
222         Fixed the bug by sharing code between Document::importNode and Node::cloneNode by
223         generalizing Node::cloneNodeInternal, added in r177314, by taking the owner document
224         as an argument. The most of code changes are the result of adding this argument.
225
226         Document::importNode is the only function in which the actual logic changes.
227         Note that the code to import TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE,
228         PROCESSING_INSTRUCTION_NODE and COMMENT_NODE nodes are identical to that of cloneNode.
229
230         This patch removes the call to hasValidNamespaceForElements in ELEMENT_NODE but this
231         should not introduce an observable behavior change since all instantiated elements
232         should have a valid namespace in the first place.
233
234         Because DOCUMENT_NODE and DOCUMENT_TYPE_NODE cannot be imported and DOCUMENT_TYPE_NODE
235         can only appear as a direct child of DOCUMENT_NODE, neither nodes nor unimplemented
236         XPATH_NAMESPACE_NODE and XPATH_NAMESPACE_NODE can appear inside the recursive calls
237         for ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE nodes.
238
239         While importNode behaves differently from cloneNode for ATTRIBUTE_NODE, namely that
240         it merges all of its child nodes, this behavior isn't present when recursing inside
241         ELEMENT_NODE and DOCUMENT_FRAGMENT_NODE since we are using cloneDataFromElement.
242
243         Thus there should be no observable behavior changes for DOCUMENT_FRAGMENT_NODE and
244         ELEMENT_NODE nodes either.
245
246         Test: fast/dom/HTMLTemplateElement/importNode-nested-templates.html
247
248         * dom/Attr.cpp:
249         (WebCore::Attr::cloneNodeInternal):
250         * dom/Attr.h:
251         * dom/CDATASection.cpp:
252         (WebCore::CDATASection::cloneNodeInternal):
253         * dom/CDATASection.h:
254         * dom/Comment.cpp:
255         (WebCore::Comment::cloneNodeInternal):
256         * dom/Comment.h:
257         * dom/ContainerNode.cpp:
258         (WebCore::ContainerNode::cloneChildNodes):
259         * dom/Document.cpp:
260         (WebCore::Document::importNode):
261         (WebCore::Document::cloneNodeInternal):
262         * dom/Document.h:
263         * dom/DocumentFragment.cpp:
264         (WebCore::DocumentFragment::cloneNodeInternal):
265         * dom/DocumentFragment.h:
266         * dom/DocumentType.cpp:
267         (WebCore::DocumentType::cloneNodeInternal):
268         * dom/DocumentType.h:
269         * dom/Element.cpp:
270         (WebCore::Element::cloneNodeInternal):
271         (WebCore::Element::cloneElementWithChildren):
272         (WebCore::Element::cloneElementWithoutChildren):
273         (WebCore::Element::cloneElementWithoutAttributesAndChildren):
274         * dom/Element.h:
275         * dom/EntityReference.cpp:
276         (WebCore::EntityReference::cloneNodeInternal):
277         * dom/EntityReference.h:
278         * dom/Node.h:
279         (WebCore::Node::cloneNode):
280         * dom/ProcessingInstruction.cpp:
281         (WebCore::ProcessingInstruction::cloneNodeInternal):
282         * dom/ProcessingInstruction.h:
283         * dom/ShadowRoot.cpp:
284         (WebCore::ShadowRoot::cloneNodeInternal):
285         * dom/ShadowRoot.h:
286         * dom/Text.cpp:
287         (WebCore::Text::cloneNodeInternal):
288         * dom/Text.h:
289         * editing/ApplyStyleCommand.cpp:
290         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
291         (WebCore::ApplyStyleCommand::applyInlineStyleChange):
292         * editing/BreakBlockquoteCommand.cpp:
293         (WebCore::BreakBlockquoteCommand::doApply):
294         * editing/InsertParagraphSeparatorCommand.cpp:
295         (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
296         (WebCore::InsertParagraphSeparatorCommand::doApply):
297         * editing/ModifySelectionListLevel.cpp:
298         (WebCore::IncreaseSelectionListLevelCommand::doApply):
299         * editing/SplitElementCommand.cpp:
300         (WebCore::SplitElementCommand::doApply):
301         * editing/markup.cpp:
302         (WebCore::createFragmentFromText):
303         * html/HTMLKeygenElement.cpp:
304         * html/HTMLScriptElement.cpp:
305         (WebCore::HTMLScriptElement::cloneElementWithoutAttributesAndChildren):
306         * html/HTMLScriptElement.h:
307         * html/HTMLTemplateElement.cpp:
308         (WebCore::HTMLTemplateElement::cloneNodeInternal):
309         * html/HTMLTemplateElement.h:
310         * html/shadow/SliderThumbElement.cpp:
311         (WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren):
312         * html/shadow/SliderThumbElement.h:
313         * html/track/WebVTTElement.cpp:
314         (WebCore::WebVTTElement::cloneElementWithoutAttributesAndChildren):
315         * html/track/WebVTTElement.h:
316         * svg/SVGScriptElement.cpp:
317         (WebCore::SVGScriptElement::cloneElementWithoutAttributesAndChildren):
318         * svg/SVGScriptElement.h:
319         * svg/SVGUseElement.cpp:
320         (WebCore::SVGUseElement::buildShadowTree):
321         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
322
323 2014-12-16  Tibor Meszaros  <tmeszaros.u-szeged@partner.samsung.com>
324
325         Document.contentType implementation
326         https://bugs.webkit.org/show_bug.cgi?id=132269
327
328         Reviewed by Darin Adler.
329
330         Chromium merge from https://codereview.chromium.org/151653004
331
332         Tests: fast/dom/document-contentType-DOMParser.html
333                fast/dom/document-contentType-createDocument.html
334                fast/dom/document-contentType-data-uri.html
335                fast/xsl/xslt-contentType.html
336                http/tests/dom/document-contentType-meta.html
337                http/tests/dom/document-contentType-xhr.html
338                http/tests/dom/document-contentType.html
339
340         * dom/Document.cpp:
341         (WebCore::Document::overrideMIMEType):
342         (WebCore::Document::contentType):
343         (WebCore::Document::cloneDataFromDocument):
344         * dom/Document.h:
345         * dom/Document.idl:
346         * loader/DocumentLoader.cpp:
347         (WebCore::DocumentLoader::currentContentType):
348         * loader/DocumentLoader.h:
349         * xml/XMLHttpRequest.cpp:
350         (WebCore::XMLHttpRequest::responseXML):
351         * xml/XSLTProcessor.cpp:
352         (WebCore::XSLTProcessor::createDocumentFromSource):
353
354 2014-12-16  Anders Carlsson  <andersca@apple.com>
355
356         Put some common code in StorageNamespaceProvider
357         https://bugs.webkit.org/show_bug.cgi?id=139682
358
359         Reviewed by Tim Horton.
360
361         We have code in two places that gets the local storage area from a given document,
362         choosing either the local storage namespace or the transient local storage namespace.
363         Move it to StorageNamespaceProvider::localStorageArea.
364
365         * bindings/js/ScriptController.cpp:
366         * inspector/InspectorDOMStorageAgent.cpp:
367         (WebCore::InspectorDOMStorageAgent::findStorageArea):
368         * page/DOMWindow.cpp:
369         (WebCore::DOMWindow::localStorage):
370         * page/Navigator.cpp:
371         * storage/StorageNamespaceProvider.cpp:
372         (WebCore::StorageNamespaceProvider::localStorageArea):
373         (WebCore::StorageNamespaceProvider::localStorageNamespace):
374         * storage/StorageNamespaceProvider.h:
375
376 2014-12-16  Anders Carlsson  <andersca@apple.com>
377
378         Add FeatureCounterKeys.h to the Xcode project.
379
380         * WebCore.xcodeproj/project.pbxproj:
381
382 2014-12-16  Chris Dumez  <cdumez@apple.com>
383
384         REGRESSION (r163928): Animated GIFs are not resumed when translated into view using -webkit-transform
385         https://bugs.webkit.org/show_bug.cgi?id=139672
386         <rdar://problem/19260797>
387
388         Reviewed by Antti Koivisto.
389
390         After r163928, animated GIFs were not resumed when translated into view
391         using '-webkit-transform' CSS property.
392
393         This broke animated gifs on the mobile version of weibo.com (which is
394         one of the most popular blogging sites in China) on iPhone. e.g.
395         http://m.weibo.cn/page/tpl?containerid=1005052150182731_-_WEIBO_SECOND_PROFILE_WEIBO&itemid=&title=全部微博
396
397         This patch calls FrameView::resumeVisibleImageAnimationsIncludingSubframes()
398         after style recalc so that we resume animated images if they become visible
399         after the style has changed. Doing so after layout wouldn't work because
400         no layout happens in this case.
401
402         Test: fast/images/animated-gif-webkit-transform.html
403
404         * dom/Document.cpp:
405         (WebCore::Document::recalcStyle):
406
407 2014-12-16  Sebastian Dröge  <sebastian@centricular.com>
408
409         [GStreamer] Fix deadlock when shutting down AudioDestination
410         https://bugs.webkit.org/show_bug.cgi?id=139496
411
412         Reviewed by Philippe Normand.
413
414         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
415         (webKitWebAudioSrcLoop):
416         (webKitWebAudioSrcChangeState):
417         Sometimes we would wait forever for the task to shut down. This
418         was happening because of a bug in GStreamer that caused joining
419         a paused task to deadlock.
420
421 2014-12-15  Dhi Aurrahman  <diorahman@rockybars.com>
422
423         Extend :lang()'s selector checker to handle ranges with '*' properly and perform matching within the ASCII range
424         https://bugs.webkit.org/show_bug.cgi?id=139340
425
426         Reviewed by Benjamin Poulain.
427
428         Asterisk is considered as a valid subtag of a language range to express wildcard matching 
429         in :lang()'s extended filtering procedure. The matching rules introduced by language 
430         range with '*' is outlined in [1].
431
432         The matching of subtags is performed case-insensitively within the ASCII range[2].
433
434         [1] www.ietf.org/rfc/rfc4647.txt
435         [2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo
436
437         Test: fast/selectors/lang-equal-ignoring-case.html
438               fast/selectors/lang-valid-extended-filtering.html
439
440         * css/SelectorCheckerTestFunctions.h:
441         (WebCore::equalIgnoringCaseWithinASCIIRange): Handle matching case-insensitively within the ASCII range.
442         (WebCore::containslanguageSubtagMatchingRange):
443         (WebCore::matchesLangPseudoClass):
444
445 2014-12-15  Chris Dumez  <cdumez@apple.com>
446
447         [iOS] Add feature counting support
448         https://bugs.webkit.org/show_bug.cgi?id=139652
449         <rdar://problem/19255690>
450
451         Reviewed by Gavin Barraclough.
452
453         Use FeatureCounter API to log PageCache failure reasons
454         as well as its success rate.
455
456         No new tests, no behavior change.
457
458         * history/PageCache.cpp:
459         (WebCore::logCanCacheFrameDecision):
460         (WebCore::logCanCachePageDecision):
461         (WebCore::PageCache::canCache):
462         * platform/FeatureCounterKeys.h: Added.
463
464 2014-12-15  Beth Dakin  <bdakin@apple.com>
465
466         Speculative build fix.
467
468         * platform/spi/mac/LookupSPI.h:
469
470 2014-12-15  Beth Dakin  <bdakin@apple.com>
471
472         Speculative build fix.
473
474         * platform/spi/mac/LookupSPI.h:
475
476 2014-12-15  Jer Noble  <jer.noble@apple.com>
477
478         Switching src of <video> with clipping layer results in empty black square.
479         https://bugs.webkit.org/show_bug.cgi?id=139650
480
481         Reviewed by Simon Fraser.
482
483         Test: compositing/video-clip-change-src.html
484
485         When the contentsLayer changes after a contentsClippingLayer has already been created, make sure to parent the
486         new contentsLayer, as updateRects() will only reparent when first creating a contentsClippingLayer.
487
488         * platform/graphics/ca/GraphicsLayerCA.cpp:
489         (WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
490
491 2014-12-15  Beth Dakin  <bdakin@apple.com>
492
493         Make lookup an immediate action instead of an action menu item
494         https://bugs.webkit.org/show_bug.cgi?id=139661
495         -and corresponding-
496         rdar://problem/19198414
497
498         Reviewed by Tim Horton.
499
500         New SPI.
501         * platform/spi/mac/LookupSPI.h:
502
503 2014-12-12  Anders Carlsson  <andersca@apple.com>
504
505         Get rid of the DONT_FINALIZE_ON_MAIN_THREAD #define
506         https://bugs.webkit.org/show_bug.cgi?id=139613
507
508         Reviewed by Sam Weinig.
509
510         * WebCore.exp.in:
511         Update symbols.
512
513         * WebCore.xcodeproj/project.pbxproj:
514         Remove -Wno-deprecated-declarations from the WebCoreObjCExtras.mm build flags.
515
516         * platform/mac/WebCoreObjCExtras.h:
517         If OBJC_NO_GC is defined to 1, just make WebCoreObjCFinalizeOnMainThread a no-op inline function.
518
519         * platform/mac/WebCoreObjCExtras.mm:
520         (WebCoreObjCFinalizeOnMainThread):
521         Move this to the .h file for easier inlining.
522
523         (WebCoreObjCScheduleDeallocateOnMainThread):
524         Use a lambda.
525
526 2014-12-15  Gavin Barraclough  <barraclough@apple.com>
527
528         Separate counted and hysteresis activities in PageThrottler
529         https://bugs.webkit.org/show_bug.cgi?id=139657
530
531         Reviewed by Sam Weinig.
532
533         Currently all activities funnel into a common hysteresis mechanism, the result of
534         which is combined with the visually idle state, the result of which in turn drives
535         a UserActivity::Impl.
536
537         This is a first refactoring towards moving the UserActivity out to WebKit2. Use
538         m_hysteresis only of the impulse activities (plugin evaluation, user input), and
539         flatten the three types of activities (impulse, counted, ViewState) to all directly
540         control a UserActivity. Switch from a UserActivity::Impl to a UserActivity since
541         this will provide hysteresis for media activity.
542
543         * page/PageThrottler.cpp:
544         (WebCore::m_pageActivityCounter):
545             - when the RefCounter changes just call updateUserActivity directly, removeed redundant call to updateUserActivity.
546         (WebCore::PageThrottler::createUserActivity):
547             - m_activity is now a UserActivity.
548         (WebCore::PageThrottler::updateUserActivity):
549             - previously just checked m_hysteresis for activity; now check m_pageActivityCounter too.
550         (WebCore::PageThrottler::pageActivityCounterValueDidChange): Deleted.
551             - no longer needed; when the RefCounter changes just call updateUserActivity directly.
552         * page/PageThrottler.h:
553             - removed pageActivityCounterValueDidChange, m_activity is now a UserActivity.
554
555 2014-12-15  Commit Queue  <commit-queue@webkit.org>
556
557         Unreviewed, rolling out r177284.
558         https://bugs.webkit.org/show_bug.cgi?id=139658
559
560         "Breaks API tests and LayoutTests on Yosemite Debug"
561         (Requested by msaboff on #webkit).
562
563         Reverted changeset:
564
565         "Make sure range based iteration of Vector<> still receives
566         bounds checking"
567         https://bugs.webkit.org/show_bug.cgi?id=138821
568         http://trac.webkit.org/changeset/177284
569
570 2014-12-15  Ryosuke Niwa  <rniwa@webkit.org>
571
572         cloneNode(true) does not clone nested template elements' contents
573         https://bugs.webkit.org/show_bug.cgi?id=137755
574
575         Reviewed by Darin Adler.
576
577         The bug was caused by cloneChildNodes not copying template element's content.
578
579         Fixed the bug by adding the third behavior (CloneContent) to the polymorphic
580         cloneNodeInternal, which copies template element's content but not its children,
581         in addition to the existing CloneSelf (deep=false) and CloneChildren (deep=true).
582
583         Test: fast/dom/HTMLTemplateElement/cloneNode-nested-templates.html
584
585         * dom/Attr.cpp:
586         (WebCore::Attr::cloneNodeInternal): Renamed from cloneNode.
587         * dom/Attr.h:
588         * dom/CDATASection.cpp:
589         (WebCore::CDATASection::cloneNodeInternal): Renamed from cloneNode.
590         * dom/CDATASection.h:
591         * dom/Comment.cpp:
592         (WebCore::Comment::cloneNodeInternal): Renamed from cloneNode.
593         * dom/Comment.h:
594         * dom/ContainerNode.cpp:
595         (WebCore::ContainerNode::cloneChildNodes): Calls cloneNode with CloneContent.
596         * dom/Document.cpp:
597         (WebCore::Document::cloneNodeInternal): Renamed from cloneNode.
598         * dom/Document.h:
599         * dom/DocumentFragment.cpp:
600         (WebCore::DocumentFragment::cloneNodeInternal): Renamed from cloneNode.
601         * dom/DocumentFragment.h:
602         * dom/DocumentType.cpp:
603         (WebCore::DocumentType::cloneNodeInternal): Renamed from cloneNode.
604         * dom/DocumentType.h:
605         * dom/Element.cpp:
606         (WebCore::Element::cloneNodeInternal): Renamed from cloneNode.
607         * dom/Element.h:
608         * dom/EntityReference.cpp:
609         (WebCore::EntityReference::cloneNodeInternal): Renamed from cloneNode.
610         * dom/EntityReference.h:
611         * dom/Node.h:
612         (WebCore::Node::cloneNode): Added. It calls cloneNodeInternal with CloneSelf or CloneChildren.
613         * dom/ProcessingInstruction.cpp:
614         (WebCore::ProcessingInstruction::cloneNodeInternal): Renamed from cloneNode.
615         * dom/ProcessingInstruction.h:
616         * dom/ShadowRoot.cpp:
617         (WebCore::ShadowRoot::cloneNodeInternal): Renamed from cloneNode. Also moved from ShadowRoot.h.
618         * dom/ShadowRoot.h:
619         * dom/Text.cpp:
620         (WebCore::Text::cloneNodeInternal): Renamed from cloneNode.
621         * dom/Text.h:
622         * html/HTMLTemplateElement.cpp:
623         (WebCore::HTMLTemplateElement::cloneNodeInternal): Renamed from cloneNode. This is the only
624         function in which CloneContent results in a different behavior from CloneSelf.
625         * html/HTMLTemplateElement.h:
626
627 2014-12-15  Benjamin Poulain  <bpoulain@apple.com>
628
629         Unify the various serialization of selector list
630         https://bugs.webkit.org/show_bug.cgi?id=139606
631
632         Reviewed by Andreas Kling.
633
634         There were code in various place to build a string from the selectors contained
635         in a selecor list.
636
637         This patch adds a single function to do that: buildSelectorsText(). All the call sites
638         were modified to use it.
639
640         The serialization of :-webkit-any() gets fixed as a result.
641
642         * css/CSSSelector.cpp:
643         (WebCore::CSSSelector::selectorText):
644         (WebCore::appendSelectorList): Deleted.
645         * css/CSSSelectorList.cpp:
646         (WebCore::CSSSelectorList::selectorsText):
647         (WebCore::CSSSelectorList::buildSelectorsText):
648         * css/CSSSelectorList.h:
649         * css/CSSStyleRule.cpp:
650         (WebCore::CSSStyleRule::generateSelectorText):
651         * css/WebKitCSSRegionRule.cpp:
652         (WebCore::WebKitCSSRegionRule::cssText):
653
654 2014-12-15  Antti Koivisto  <antti@apple.com>
655
656         Try to fix iOS build.
657
658         * WebCore.exp.in:
659
660 2014-12-15  Javier Fernandez  <jfernandez@igalia.com>
661
662         Floats Don't Overhang Their Block Formatting Contex
663         https://bugs.webkit.org/show_bug.cgi?id=139476
664
665         Reviewed by David Hyatt.
666
667         From Blink r172530 by <robhogan@gmail.com>
668
669         Floats Don't Overhang Their Block Formatting Context Per
670         http://www.w3.org/TR/CSS2/visuren.html#float-position: "References
671         to [the elements] in the [rules that govern the behaviour of
672         floats] refer only to other elements in the same block formatting
673         context as the float."
674
675         This means we don't need to look for intruding or overhanging
676         floats in boxes that establish a new block formatting
677         context. Even that we don't have a test breaking this rule it
678         seems we are doing unnecessary work in
679         rebuildFloatsFromIntruding() so make sure we avoid adding floats
680         from different block formatting contexts.
681
682         Test:
683         fast/block/float/floats-do-not-overhang-from-block-formatting-context.html
684
685         * rendering/RenderBlockFlow.cpp:
686         (WebCore::RenderBlockFlow::addIntrudingFloats):
687
688 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
689
690         Unreviewed build fix after r177301
691
692         * html/ColorInputType.cpp:
693         (WebCore::ColorInputType::elementRectRelativeToRootView):
694
695 2014-12-15  Timothy Horton  <timothy_horton@apple.com>
696
697         Implement Data Detectors immediate actions for WebKit2
698         https://bugs.webkit.org/show_bug.cgi?id=139617
699         <rdar://problem/19198539>
700
701         Reviewed by Beth Dakin.
702
703         * platform/spi/mac/DataDetectorsSPI.h:
704         Add some new SPI.
705
706 2014-12-12  Simon Fraser  <simon.fraser@apple.com>
707
708         REGRESSION (r168217): Images are cropped out during animation at jetblue.com
709         https://bugs.webkit.org/show_bug.cgi?id=136410
710         rdar://problem/18188533
711
712         Reviewed by Dean Jackson.
713         
714         During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
715         the current state of an animation, which is obtained via the AnimationController.
716         If that animation was running in a subframe, AnimationController could use a stale
717         beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
718         resulted in an incorrect computation of the visible rect, resulting in missing tiles.
719         
720         There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
721         is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
722         into AnimationControllerPrivate, and changes to endAnimationUpdate().
723         
724         The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
725         can be called outside of style resolution. We also need some in other API functions.
726         
727         Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
728         that we should have an animation batch inside FrameView::layout(). In addition, a single
729         resolveStyle/layout should use the same animationBeginTime, so we add a batch to 
730         updateLayoutAndStyleIfNeededRecursive().
731         
732         Identical to the patch that was rolled out in r177269 with the addition of a 
733         Ref<Frame> protector(m_frame) in AnimationControllerPrivate::animationTimerFired()
734         that ensures that the AnimationControllerPrivate is kept alive for the scope of
735         the AnimationPrivateUpdateBlock, when a transitionEnd event destroys an iframe.
736         
737         No test because it's timing-dependent. Existing tests exercise the new assertion.
738
739         * css/CSSComputedStyleDeclaration.cpp:
740         (WebCore::computeRenderStyleForProperty):
741         * page/FrameView.cpp:
742         (WebCore::FrameView::layout):
743         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
744         * page/animation/AnimationController.cpp:
745         (WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
746         (WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
747         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
748         (WebCore::AnimationControllerPrivate::animationTimerFired):
749         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
750         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
751         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
752         (WebCore::AnimationControllerPrivate::beginAnimationUpdate):
753         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
754         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
755         (WebCore::AnimationController::AnimationController):
756         (WebCore::AnimationController::notifyAnimationStarted):
757         (WebCore::AnimationController::pauseAnimationAtTime):
758         (WebCore::AnimationController::pauseTransitionAtTime):
759         (WebCore::AnimationController::resumeAnimationsForDocument):
760         (WebCore::AnimationController::startAnimationsIfNotSuspended):
761         (WebCore::AnimationController::beginAnimationUpdate):
762         (WebCore::AnimationController::endAnimationUpdate):
763         * page/animation/AnimationController.h:
764         * page/animation/AnimationControllerPrivate.h:
765
766 2014-12-12  Simon Fraser  <simon.fraser@apple.com>
767
768         REGRESSION (r168217): Images are cropped out during animation at jetblue.com
769         https://bugs.webkit.org/show_bug.cgi?id=136410
770
771         Reviewed by Dean Jackson.
772
773         We were hitting the new assertion under Page::setPageScaleFactor(), which
774         calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded()
775         to recalcStyle().
776
777         * dom/Document.cpp:
778         (WebCore::Document::recalcStyle):
779         (WebCore::Document::updateStyleIfNeeded):
780
781 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
782
783         Addressing post-review comments in r177035
784         https://bugs.webkit.org/show_bug.cgi?id=139557
785
786         Reviewed by Darin Adler.
787
788         This patch deletes the helper functions rendererBoundingBox() and rendererAnchorRect() and
789         migrates callers to using renderers directly.
790
791         It also improves the comment in RenderElement.h regarding RenderElement::anchorRect().
792
793         No new tests because this is simply refactoring.
794
795         * WebCore.exp.in: Delete exported symbol for rendererBoundingBox()
796         * accessibility/AccessibilitySlider.cpp:
797         (WebCore::AccessibilitySliderThumb::elementRect): Migrate off rendererBoundingBox()
798         * dom/ContainerNode.cpp:
799         (WebCore::rendererAnchorRect): Deleted.
800         * dom/ContainerNode.h:
801         * dom/Node.cpp:
802         (WebCore::rendererBoundingBox): Deleted.
803         * dom/Node.h:
804         * html/ColorInputType.cpp:
805         (WebCore::ColorInputType::elementRectRelativeToRootView): Migrate off rendererBoundingBox().
806         * html/HTMLInputElement.cpp:
807         (WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.
808         * html/ValidationMessage.cpp:
809         (WebCore::ValidationMessage::buildBubbleTree): Ditto.
810         * page/FrameView.cpp:
811         (WebCore::FrameView::scrollElementToRect): Migrate off rendererAnchorRect().
812         (WebCore::FrameView::scrollToAnchor): Ditto.
813         * page/SpatialNavigation.cpp:
814         (WebCore::nodeRectInAbsoluteCoordinates): Migrate off rendererBoundingBox().
815         * rendering/RenderElement.h:
816
817 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
818
819         Delete Notation because we don't use it
820         https://bugs.webkit.org/show_bug.cgi?id=139171
821
822         Reviewed by Kent Tamura.
823
824         No tests because this is un-exposing something that never gets instantiated.
825
826         * CMakeLists.txt:
827         * DerivedSources.cpp:
828         * DerivedSources.make:
829         * WebCore.exp.in:
830         * WebCore.order:
831         * WebCore.vcxproj/WebCore.vcxproj:
832         * WebCore.vcxproj/WebCore.vcxproj.filters:
833         * WebCore.xcodeproj/project.pbxproj:
834         * bindings/gobject/WebKitDOMNodeFilter.h:
835         * bindings/gobject/WebKitDOMNodeFilter.symbols:
836         * bindings/gobject/WebKitDOMPrivate.cpp:
837         (WebKit::wrap):
838         * bindings/gobject/webkitdom.symbols:
839         * bindings/js/JSNodeCustom.cpp:
840         (WebCore::createWrapperInline):
841         * bindings/objc/DOM.mm:
842         (kitClass):
843         * bindings/objc/DOMCore.h:
844         * bindings/objc/PublicDOMInterfaces.h:
845         * dom/DOMAllInOne.cpp:
846         * dom/Document.cpp:
847         (WebCore::Document::importNode):
848         (WebCore::Document::adoptNode):
849         (WebCore::Document::childTypeAllowed):
850         (WebCore::Document::canReplaceChild):
851         * dom/Node.cpp:
852         (WebCore::Node::dumpStatistics):
853         (WebCore::Node::isDefaultNamespace):
854         (WebCore::Node::lookupPrefix):
855         (WebCore::Node::lookupNamespaceURI):
856         (WebCore::appendTextContent):
857         (WebCore::Node::setTextContent):
858         * dom/Node.h:
859         * dom/Node.idl:
860         * dom/NodeFilter.h:
861         * dom/NodeFilter.idl:
862         * dom/Notation.cpp: Removed.
863         * dom/Notation.h: Removed.
864         * dom/Notation.idl: Removed.
865         * dom/Range.cpp:
866         (WebCore::lengthOfContentsInNode):
867         (WebCore::Range::processContentsBetweenOffsets):
868         (WebCore::Range::insertNode):
869         (WebCore::Range::checkNodeWOffset):
870         (WebCore::Range::checkNodeBA):
871         (WebCore::Range::selectNode):
872         (WebCore::Range::selectNodeContents):
873         (WebCore::Range::surroundContents):
874         * editing/MarkupAccumulator.cpp:
875         (WebCore::MarkupAccumulator::appendStartMarkup):
876         * xml/XPathUtil.cpp:
877         (WebCore::XPath::isValidContextNode):
878
879 2014-12-15  Gavin Barraclough  <barraclough@apple.com>
880
881         Change HysteresisActivity to use a lambda
882         https://bugs.webkit.org/show_bug.cgi?id=139636
883
884         Reviewed by Darin Adler.
885
886         The current implementation provides notifications via callbacks to a delegate. Using a delegate
887         with callbacks is limiting a number of ways. The callback names are very ambiguous, the callbacks
888         must either be on a separate object (more boilerplate), or the callback must be public for
889         HysteresisActivity to call them, or friends get involved. Without the boilerplate of extra
890         delegate objects it's hard to scale use of these objects – a single object can't serve as a
891         delegate for multiple HysteresisActivity members.
892
893         Instead, make HysteresisActivity take a lambda to callback on state change. To simplify, changed
894         HysteresisState to only track Started/Stopped states (removed WillStopPendingTimeout).
895
896         * WebCore.exp.in:
897             - removed exports of deleted functions.
898         * page/PageThrottler.cpp:
899         (WebCore::PageThrottler::PageThrottler):
900             - m_hysteresis lambda calls updateUserActivity.
901         (WebCore::PageThrottler::pageActivityCounterValueDidChange):
902             - ASSERT updated due to removal of WillStopPendingTimeout state.
903         (WebCore::PageThrottler::started): Deleted.
904         (WebCore::PageThrottler::stopped): Deleted.
905             - functionality replaced by lambda.
906         * page/PageThrottler.h:
907             - HysteresisActivity is no longer templated on delegate type, removed function declarations & friend.
908         * platform/HysteresisActivity.h:
909         (WebCore::HysteresisActivity::HysteresisActivity):
910             - HysteresisActivity takes a lambda, not a delegate.
911         (WebCore::HysteresisActivity::start):
912             - delegate call -> callback.
913         (WebCore::HysteresisActivity::state):
914             - simplified to remove WillStopPendingTimeout.
915         (WebCore::HysteresisActivity::hysteresisTimerFired):
916             - delegate call -> callback.
917         * platform/UserActivity.cpp:
918         (WebCore::UserActivity::UserActivity):
919             - HysteresisActivity lambda calls hysteresisUpdated.
920         (WebCore::UserActivity::hysteresisUpdated):
921         (WebCore::UserActivity::started): Deleted.
922         (WebCore::UserActivity::stopped): Deleted.
923             - started/stopped -> hysteresisUpdated.
924         * platform/UserActivity.h:
925             - started/stopped -> hysteresisUpdated, removed friend.
926
927 2014-12-15  Antti Koivisto  <antti@apple.com>
928
929         WebKit level persistent caching
930         https://bugs.webkit.org/show_bug.cgi?id=30322
931
932         Reviewed by Sam Weinig.
933
934         Test: http/tests/cache/disk-cache-validation.html
935
936         * WebCore.exp.in:
937         * inspector/InspectorResourceAgent.cpp:
938         (WebCore::buildObjectForResourceResponse):
939         * platform/network/ResourceResponseBase.cpp:
940         (WebCore::ResourceResponseBase::ResourceResponseBase):
941         (WebCore::ResourceResponseBase::source):
942         (WebCore::ResourceResponseBase::setSource):
943         (WebCore::ResourceResponseBase::wasCached): Deleted.
944         (WebCore::ResourceResponseBase::setWasCached): Deleted.
945
946             Replace wasCached bit with Source enum.
947             This is useful for testing.
948
949         * platform/network/ResourceResponseBase.h:
950         (WebCore::ResourceResponseBase::containsCertificateInfo):
951         (WebCore::ResourceResponseBase::encode):
952         (WebCore::ResourceResponseBase::decode):
953         * testing/Internals.cpp:
954         (WebCore::Internals::xhrResponseSource):
955         (WebCore::Internals::clearMemoryCache):
956         * testing/Internals.h:
957         * testing/Internals.idl:
958
959             Testing support.
960
961         * xml/XMLHttpRequest.h:
962
963 2014-12-15  Andreas Kling  <akling@apple.com>
964
965         Purge PassRefPtr from FocusEvent code.
966         <https://webkit.org/b/139647>
967
968         Reviewed by Anders Carlsson.
969
970         Convert FocusEvent-related code from using PassRefPtr to using RefPtr&& instead.
971
972         * dom/Document.cpp:
973         (WebCore::Document::setFocusedElement):
974         * dom/Element.cpp:
975         (WebCore::Element::dispatchFocusInEvent):
976         (WebCore::Element::dispatchFocusOutEvent):
977         (WebCore::Element::dispatchFocusEvent):
978         (WebCore::Element::dispatchBlurEvent):
979         * dom/Element.h:
980         * dom/FocusEvent.cpp:
981         (WebCore::FocusEvent::FocusEvent):
982         * dom/FocusEvent.h:
983         * html/HTMLFormControlElement.cpp:
984         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
985         * html/HTMLFormControlElement.h:
986         * html/HTMLSelectElement.cpp:
987         (WebCore::HTMLSelectElement::dispatchFocusEvent):
988         (WebCore::HTMLSelectElement::dispatchBlurEvent):
989         * html/HTMLSelectElement.h:
990         * html/HTMLTextFormControlElement.cpp:
991         (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
992         (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
993         * html/HTMLTextFormControlElement.h:
994         * page/FocusController.cpp:
995         (WebCore::dispatchEventsOnWindowAndFocusedElement):
996
997 2014-12-15  Myles C. Maxfield  <mmaxfield@apple.com>
998
999         [iOS] Codepoints not associated with languages are drawn as boxes
1000         https://bugs.webkit.org/show_bug.cgi?id=138906
1001
1002         Reviewed by Darin Adler.
1003
1004         Use SPI CTFontCreateForCharacters(), but only if we don't already know what to do
1005         with the characters.
1006
1007         Test: platform/ios-simulator/fast/text/non-language-font-fallback.html
1008
1009         * platform/graphics/ios/FontCacheIOS.mm:
1010         (WebCore::FontCache::systemFallbackForCharacters):
1011         * platform/spi/cocoa/CoreTextSPI.h:
1012
1013 2014-12-15  Bem Jones-Bey  <bjonesbe@adobe.com>
1014
1015         [CSS Shapes] Fix StyleBuilder code to use CSSValueNone to match spec and other code
1016         https://bugs.webkit.org/show_bug.cgi?id=139601
1017
1018         Reviewed by Chris Dumez.
1019
1020         Change the code to properly use CSSValueNone instead of CSSValueAuto.
1021         Asserts have been added to catch similar errors in the future.
1022         In doing this change, it became apparent that there is nothing
1023         special about the shape-outside property that requires custom code, so
1024         it was changed to use a standard converter function. 
1025
1026         No change observable via LayoutTests.
1027
1028         * css/CSSPropertyNames.in: Use a converter instead of custom code.
1029         * css/StyleBuilderConverter.h:
1030         (WebCore::isImageShape): Helper function so that isImageSetValue can
1031             be properly guarded.
1032         (WebCore::StyleBuilderConverter::convertShapeValue): Format as a
1033             converter instead of custom code.
1034         * css/StyleBuilderCustom.h:
1035         (WebCore::StyleBuilderCustom::applyValueWebkitShapeOutside): Deleted.
1036
1037 2014-12-15  Oliver Hunt  <oliver@apple.com>
1038
1039         Make sure range based iteration of Vector<> still receives bounds checking
1040         https://bugs.webkit.org/show_bug.cgi?id=138821
1041
1042         Reviewed by Mark Lam.
1043
1044         Update to deal with different iterator type.
1045
1046         * bindings/js/SerializedScriptValue.cpp:
1047         (WebCore::CloneDeserializer::deserializeString):
1048         * editing/TextIterator.cpp:
1049         (WebCore::SearchBuffer::isBadMatch):
1050         * page/mac/ServicesOverlayController.mm:
1051         (WebCore::ServicesOverlayController::buildSelectionHighlight):
1052         * platform/graphics/SegmentedFontData.cpp:
1053         (WebCore::SegmentedFontData::fontDataForCharacter):
1054         (WebCore::SegmentedFontData::containsCharacter):
1055         (WebCore::SegmentedFontData::isLoading):
1056         * platform/graphics/WOFFFileFormat.cpp:
1057         (WebCore::convertWOFFToSfnt):
1058         * platform/graphics/cairo/GradientCairo.cpp:
1059         (WebCore::Gradient::platformGradient):
1060         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1061         (WebCore::GIFImageDecoder::clearFrameBufferCache):
1062         * rendering/RenderBox.cpp:
1063         (WebCore::RenderBox::paintFillLayers):
1064         * rendering/style/GridResolvedPosition.cpp:
1065         (WebCore::firstNamedGridLineBeforePosition):
1066         (WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):
1067         * svg/SVGFontElement.cpp:
1068         (WebCore::kerningForPairOfStringsAndGlyphs):
1069         * svg/SVGPathByteStream.h:
1070         (WebCore::SVGPathByteStream::append):
1071         * xml/XPathNodeSet.h:
1072         (WebCore::XPath::NodeSet::begin):
1073         (WebCore::XPath::NodeSet::end):
1074
1075 2014-12-15  Chris Dumez  <cdumez@apple.com>
1076
1077         Move '-webkit-text-decoration-skip' to the new StyleBuilder
1078         https://bugs.webkit.org/show_bug.cgi?id=139633
1079
1080         Reviewed by Darin Adler.
1081
1082         Move '-webkit-text-decoration-skip' to the new StyleBuilder by
1083         introducing a new TextDecorationSkip converter.
1084
1085         No new tests, no behavior change.
1086
1087         * css/CSSPropertyNames.in:
1088         * css/DeprecatedStyleBuilder.cpp:
1089         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1090         (WebCore::valueToDecorationSkip): Deleted.
1091         (WebCore::ApplyPropertyTextDecorationSkip::applyValue): Deleted.
1092         (WebCore::ApplyPropertyTextDecorationSkip::createHandler): Deleted.
1093         * css/StyleBuilderConverter.h:
1094         (WebCore::StyleBuilderConverter::valueToDecorationSkip):
1095         (WebCore::StyleBuilderConverter::convertTextDecorationSkip):
1096
1097 2014-12-15  Bartlomiej Gajda  <b.gajda@samsung.com>
1098
1099         [MSE] Prevent SourceBuffer monitoring algorithm from triggering a HAVE_NOTHING to HAVE_METADATA transition.
1100         https://bugs.webkit.org/show_bug.cgi?id=139444
1101
1102         Reviewed by Jer Noble.
1103
1104         In case of 2 SourceBuffers, there can be transition to HaveMetadata from monitorSourceBuffers,
1105         even though second SourceBuffer did not receive init segment - we can't query for it's metadata
1106         such as width/height (if second one was video), so we shouldn't fire the event.
1107         W3 Bug reference : https://www.w3.org/Bugs/Public/show_bug.cgi?id=27542
1108
1109         Test: media/media-source/media-source-loadedmetada-with-two-sourcebuffers.html
1110
1111         * Modules/mediasource/MediaSource.cpp:
1112         (WebCore::MediaSource::monitorSourceBuffers):
1113         * Modules/mediasource/SourceBuffer.h:
1114         * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
1115         (WebCore::mimeTypeCache):
1116
1117 2014-12-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1118
1119         Move WebCore/platform/text to std::unique_ptr 
1120         https://bugs.webkit.org/show_bug.cgi?id=139395
1121
1122         Reviewed by Darin Adler.
1123
1124         As a step to use std::unique_ptr<>, this patch replaces OwnPtr|PassOwnPtr with
1125         std::unique_ptr<> | std::make_unique<>.
1126
1127         * dom/Document.h:
1128         * platform/text/LineBreakIteratorPoolICU.h:
1129         (WebCore::LineBreakIteratorPool::LineBreakIteratorPool):
1130         (WebCore::LineBreakIteratorPool::create): Deleted.
1131         * platform/text/LocaleICU.cpp:
1132         (WebCore::Locale::create):
1133         (WebCore::LocaleICU::createLabelVector):
1134         (WebCore::createFallbackMonthLabels):
1135         (WebCore::createFallbackAMPMLabels):
1136         (WebCore::LocaleICU::initializeDateTimeFormat):
1137         (WebCore::LocaleICU::shortMonthLabels):
1138         (WebCore::LocaleICU::create): Deleted.
1139         (WebCore::LocaleICU::standAloneMonthLabels): Deleted.
1140         (WebCore::LocaleICU::shortStandAloneMonthLabels): Deleted.
1141         * platform/text/LocaleICU.h:
1142         * platform/text/LocaleNone.cpp:
1143         (WebCore::Locale::create):
1144         * platform/text/PlatformLocale.h:
1145         (WebCore::Locale::createDefault):
1146         * platform/text/TextCodecLatin1.cpp:
1147         * platform/text/TextCodecUTF16.cpp:
1148         * platform/text/TextEncoding.cpp:
1149         * platform/text/mac/LocaleMac.h:
1150         * platform/text/mac/LocaleMac.mm:
1151         (WebCore::Locale::create):
1152         (WebCore::LocaleMac::create):
1153         * platform/text/mac/TextCodecMac.cpp:
1154         * platform/text/win/LocaleWin.cpp:
1155         (WebCore::Locale::create):
1156         (WebCore::LocaleWin::create):
1157         * platform/text/win/LocaleWin.h:
1158         * platform/text/win/TextCodecWin.cpp:
1159         (WebCore::newTextCodecWin):
1160
1161 2014-12-15  Xavier Claessens  <xavier.claessens@collabora.com>
1162
1163         [GStreamer] the webkitwebsrc element can stale
1164         https://bugs.webkit.org/show_bug.cgi?id=138425
1165
1166         Reviewed by Philippe Normand.
1167
1168         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1169         (removeTimeoutSources):
1170         (webKitWebSrcStart):
1171         (webKitWebSrcChangeState):
1172
1173 2014-12-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1174
1175         [GTK] Remove GamepadDeviceGtk::create()
1176         https://bugs.webkit.org/show_bug.cgi?id=139637
1177
1178         Reviewed by Carlos Garcia Campos.
1179
1180         std::make_unique<> can replace GamepadDeviceGtk::create() factory function.
1181
1182         * platform/gtk/GamepadsGtk.cpp: Add "explicit" to GamepadsGtk constructor.
1183         (WebCore::GamepadsGtk::registerDevice):
1184         (WebCore::GamepadDeviceGtk::create): Deleted.
1185
1186 2014-12-15  Chris Dumez  <cdumez@apple.com>
1187
1188         Move 'counter-increment' / 'counter-reset' to the new StyleBuilder
1189         https://bugs.webkit.org/show_bug.cgi?id=139635
1190
1191         Reviewed by Antti Koivisto.
1192
1193         Move 'counter-increment' / 'counter-reset' to the new StyleBuilder by
1194         using custom code.
1195
1196         No new tests, no behavior change.
1197
1198         * css/CSSPropertyNames.in:
1199         * css/DeprecatedStyleBuilder.cpp:
1200         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
1201         (WebCore::ApplyPropertyCounter::emptyFunction): Deleted.
1202         (WebCore::ApplyPropertyCounter::applyInheritValue): Deleted.
1203         (WebCore::ApplyPropertyCounter::applyValue): Deleted.
1204         (WebCore::ApplyPropertyCounter::createHandler): Deleted.
1205         * css/StyleBuilderCustom.h:
1206         (WebCore::StyleBuilderCustom::applyInitialCounterIncrement):
1207         (WebCore::StyleBuilderCustom::applyInitialCounterReset):
1208         (WebCore::StyleBuilderCustom::applyInheritCounter):
1209         (WebCore::StyleBuilderCustom::applyValueCounter):
1210         (WebCore::StyleBuilderCustom::applyInheritCounterIncrement):
1211         (WebCore::StyleBuilderCustom::applyValueCounterIncrement):
1212         (WebCore::StyleBuilderCustom::applyInheritCounterReset):
1213         (WebCore::StyleBuilderCustom::applyValueCounterReset):
1214
1215 2014-12-14  Commit Queue  <commit-queue@webkit.org>
1216
1217         Unreviewed, rolling out r177238 and r177244.
1218         https://bugs.webkit.org/show_bug.cgi?id=139632
1219
1220         Introduced memory corruption (Requested by ap on #webkit).
1221
1222         Reverted changesets:
1223
1224         "REGRESSION (r168217): Images are cropped out during animation
1225         at jetblue.com"
1226         https://bugs.webkit.org/show_bug.cgi?id=136410
1227         http://trac.webkit.org/changeset/177238
1228
1229         https://bugs.webkit.org/show_bug.cgi?id=139596
1230         http://trac.webkit.org/changeset/177244
1231
1232 2014-12-14  Commit Queue  <commit-queue@webkit.org>
1233
1234         Unreviewed, rolling out r177223 and r177226.
1235         https://bugs.webkit.org/show_bug.cgi?id=139631
1236
1237         Multiple tests are flakily asserting in
1238         StyleResolver::loadPendingResources (Requested by ap_ on
1239         #webkit).
1240
1241         Reverted changesets:
1242
1243         "[SVG Masking] Enable the use of <mask> elements for -webkit-
1244         mask-image"
1245         https://bugs.webkit.org/show_bug.cgi?id=139294
1246         http://trac.webkit.org/changeset/177223
1247
1248         "animations/cross-fade-webkit-mask-image.html is flaky"
1249         https://bugs.webkit.org/show_bug.cgi?id=139590
1250         http://trac.webkit.org/changeset/177226
1251
1252 2014-12-14  Andreas Kling  <akling@apple.com>
1253
1254         Event construction helpers should return Ref instead of PassRefPtr.
1255         <https://webkit.org/b/139625>
1256
1257         Reviewed by Antti Koivisto.
1258
1259         Change all the FooEvent::create() construction helpers to return Ref<FooEvent>
1260         instead of PassRefPtr<FooEvent>.
1261
1262         This allows the compiler to omit null checks at each call site, since we know
1263         that these functions always return valid objects.
1264
1265         * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
1266         (WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
1267         * Modules/encryptedmedia/MediaKeyMessageEvent.h:
1268         (WebCore::MediaKeyMessageEvent::create):
1269         * Modules/encryptedmedia/MediaKeyNeededEvent.h:
1270         (WebCore::MediaKeyNeededEvent::create):
1271         * Modules/gamepad/GamepadEvent.h:
1272         (WebCore::GamepadEvent::create):
1273         * Modules/indexeddb/IDBVersionChangeEvent.h:
1274         (WebCore::IDBVersionChangeEvent::create):
1275         * Modules/indieui/UIRequestEvent.cpp:
1276         (WebCore::UIRequestEvent::create):
1277         * Modules/indieui/UIRequestEvent.h:
1278         * Modules/mediastream/MediaStreamEvent.cpp:
1279         (WebCore::MediaStreamEvent::create):
1280         * Modules/mediastream/MediaStreamEvent.h:
1281         * Modules/mediastream/MediaStreamTrackEvent.cpp:
1282         (WebCore::MediaStreamTrackEvent::create):
1283         * Modules/mediastream/MediaStreamTrackEvent.h:
1284         * Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
1285         (WebCore::RTCDTMFToneChangeEvent::create):
1286         * Modules/mediastream/RTCDTMFToneChangeEvent.h:
1287         * Modules/mediastream/RTCDataChannelEvent.cpp:
1288         (WebCore::RTCDataChannelEvent::create):
1289         * Modules/mediastream/RTCDataChannelEvent.h:
1290         * Modules/mediastream/RTCIceCandidateEvent.cpp:
1291         (WebCore::RTCIceCandidateEvent::create):
1292         * Modules/mediastream/RTCIceCandidateEvent.h:
1293         * Modules/speech/SpeechSynthesisEvent.cpp:
1294         (WebCore::SpeechSynthesisEvent::create):
1295         * Modules/speech/SpeechSynthesisEvent.h:
1296         * Modules/webaudio/AudioProcessingEvent.cpp:
1297         (WebCore::AudioProcessingEvent::create):
1298         * Modules/webaudio/AudioProcessingEvent.h:
1299         * Modules/webaudio/OfflineAudioCompletionEvent.cpp:
1300         (WebCore::OfflineAudioCompletionEvent::create):
1301         * Modules/webaudio/OfflineAudioCompletionEvent.h:
1302         * Modules/websockets/CloseEvent.h:
1303         (WebCore::CloseEvent::create):
1304         * dom/AnimationEvent.h:
1305         * dom/AutocompleteErrorEvent.h:
1306         * dom/BeforeLoadEvent.h:
1307         * dom/BeforeTextInsertedEvent.h:
1308         * dom/BeforeUnloadEvent.h:
1309         * dom/ClipboardEvent.h:
1310         * dom/CompositionEvent.h:
1311         * dom/CustomEvent.h:
1312         * dom/DeviceMotionEvent.h:
1313         * dom/DeviceOrientationEvent.h:
1314         * dom/ErrorEvent.h:
1315         * dom/Event.h:
1316         (WebCore::Event::create):
1317         * dom/FocusEvent.h:
1318         * dom/HashChangeEvent.h:
1319         * dom/KeyboardEvent.h:
1320         * dom/MessageEvent.h:
1321         * dom/MouseEvent.cpp:
1322         (WebCore::MouseEvent::create):
1323         (WebCore::SimulatedMouseEvent::create):
1324         * dom/MouseEvent.h:
1325         (WebCore::MouseEvent::create):
1326         * dom/MutationEvent.h:
1327         * dom/OverflowEvent.h:
1328         * dom/PageTransitionEvent.h:
1329         * dom/PopStateEvent.cpp:
1330         (WebCore::PopStateEvent::create):
1331         * dom/PopStateEvent.h:
1332         * dom/ProgressEvent.h:
1333         (WebCore::ProgressEvent::create):
1334         * dom/TextEvent.cpp:
1335         (WebCore::TextEvent::create):
1336         (WebCore::TextEvent::createForPlainTextPaste):
1337         (WebCore::TextEvent::createForFragmentPaste):
1338         (WebCore::TextEvent::createForDrop):
1339         (WebCore::TextEvent::createForDictation):
1340         * dom/TextEvent.h:
1341         * dom/TouchEvent.h:
1342         * dom/TransitionEvent.h:
1343         * dom/UIEvent.h:
1344         (WebCore::UIEvent::create):
1345         * dom/WebKitAnimationEvent.h:
1346         * dom/WebKitTransitionEvent.h:
1347         * dom/WheelEvent.h:
1348         * html/MediaKeyEvent.h:
1349         * html/canvas/WebGLContextEvent.h:
1350         * html/track/TrackEvent.h:
1351         * storage/StorageEvent.cpp:
1352         (WebCore::StorageEvent::create):
1353         * storage/StorageEvent.h:
1354         * svg/SVGZoomEvent.h:
1355         (WebCore::SVGZoomEvent::create):
1356         * xml/XMLHttpRequestProgressEvent.h:
1357         (WebCore::XMLHttpRequestProgressEvent::create):
1358
1359 2014-12-14  Ryosuke Niwa  <rniwa@webkit.org>
1360
1361         REGRESSION(r160182): Fragment parser doesn't close a form element with a close tag
1362         https://bugs.webkit.org/show_bug.cgi?id=139561
1363
1364         Reviewed by Darin Adler.
1365
1366         The bug was caused by us not setting the form pointer in insertHTMLFormElement.
1367         Since we already avoid associating a form inside HTMLConstructionSite::createHTMLElement,
1368         we didn't need this code at all.
1369
1370         Fixed the bug by partially reverting r160182.
1371
1372         Test: fast/dom/dom-parse-close-form.html
1373
1374         * html/parser/HTMLConstructionSite.cpp:
1375         (WebCore::HTMLConstructionSite::insertHTMLFormElement):
1376         (WebCore::HTMLConstructionSite::insideTemplateElement): Deleted.
1377         * html/parser/HTMLConstructionSite.h:
1378
1379 2014-12-14  Andreas Kling  <akling@apple.com>
1380
1381         Fix build even more. Not a strong performance here.
1382
1383         * platform/graphics/Font.cpp:
1384         (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
1385         (WebCore::retrieveOrAddCachedFontGlyphs):
1386
1387 2014-12-14  Andreas Kling  <akling@apple.com>
1388
1389         Fix build. :-|
1390
1391         * css/CSSFunctionValue.cpp:
1392         (WebCore::CSSFunctionValue::CSSFunctionValue):
1393         * css/CSSFunctionValue.h:
1394
1395 2014-12-14  Andreas Kling  <akling@apple.com>
1396
1397         Minor follow-up tweaks suggested by Darin on bug 139587.
1398
1399         * css/CSSFunctionValue.h:
1400         (WebCore::CSSFunctionValue::create):
1401         * platform/graphics/Font.cpp:
1402         (WebCore::retrieveOrAddCachedFontGlyphs):
1403         (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): Deleted.
1404         * rendering/RenderScrollbarPart.h:
1405
1406 2014-12-14  Andreas Kling  <akling@apple.com>
1407
1408         Replace PassRef with Ref/Ref&& across the board.
1409         <https://webkit.org/b/139587>
1410
1411         Reviewed by Darin Adler.
1412
1413         * Modules/battery/BatteryManager.cpp:
1414         (WebCore::BatteryManager::create):
1415         * Modules/battery/BatteryManager.h:
1416         * Modules/battery/BatteryStatus.cpp:
1417         (WebCore::BatteryStatus::create):
1418         * Modules/battery/BatteryStatus.h:
1419         * Modules/gamepad/GamepadButton.h:
1420         (WebCore::GamepadButton::create):
1421         * Modules/gamepad/NavigatorGamepad.cpp:
1422         (WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
1423         * Modules/gamepad/NavigatorGamepad.h:
1424         * Modules/gamepad/deprecated/GamepadList.h:
1425         (WebCore::GamepadList::create):
1426         * Modules/geolocation/Geolocation.cpp:
1427         (WebCore::Geolocation::create):
1428         * Modules/geolocation/Geolocation.h:
1429         (WebCore::Geolocation::GeoNotifier::create):
1430         * Modules/mediasource/MediaSource.cpp:
1431         (WebCore::MediaSource::setPrivateAndOpen):
1432         * Modules/mediasource/MediaSource.h:
1433         * Modules/mediasource/SourceBuffer.cpp:
1434         (WebCore::SourceBuffer::create):
1435         (WebCore::SourceBuffer::SourceBuffer):
1436         * Modules/mediasource/SourceBuffer.h:
1437         * Modules/mediastream/UserMediaClient.h:
1438         * Modules/mediastream/UserMediaController.h:
1439         (WebCore::UserMediaController::requestPermission):
1440         * Modules/notifications/Notification.cpp:
1441         (WebCore::Notification::create):
1442         * Modules/notifications/Notification.h:
1443         * Modules/notifications/NotificationCenter.cpp:
1444         (WebCore::NotificationCenter::create):
1445         * Modules/notifications/NotificationCenter.h:
1446         * Modules/plugins/PluginReplacement.h:
1447         * Modules/plugins/QuickTimePluginReplacement.h:
1448         * Modules/plugins/QuickTimePluginReplacement.mm:
1449         (WebCore::QuickTimePluginReplacement::createElementRenderer):
1450         * Modules/plugins/YouTubePluginReplacement.cpp:
1451         (WebCore::YouTubePluginReplacement::createElementRenderer):
1452         * Modules/plugins/YouTubePluginReplacement.h:
1453         * Modules/proximity/DeviceProximityEvent.h:
1454         (WebCore::DeviceProximityEvent::create):
1455         * WebCore.exp.in:
1456         * css/BasicShapeFunctions.cpp:
1457         (WebCore::valueForBasicShape):
1458         (WebCore::basicShapeForValue):
1459         * css/BasicShapeFunctions.h:
1460         * css/CSSAspectRatioValue.h:
1461         (WebCore::CSSAspectRatioValue::create):
1462         * css/CSSBorderImage.cpp:
1463         (WebCore::createBorderImageValue):
1464         * css/CSSBorderImage.h:
1465         * css/CSSBorderImageSliceValue.h:
1466         (WebCore::CSSBorderImageSliceValue::create):
1467         * css/CSSCalculationValue.cpp:
1468         (WebCore::determineCategory):
1469         * css/CSSCalculationValue.h:
1470         (WebCore::CSSCalcValue::CSSCalcValue):
1471         (WebCore::CSSCalcValue::createCalculationValue):
1472         * css/CSSCanvasValue.h:
1473         (WebCore::CSSCanvasValue::create):
1474         * css/CSSComputedStyleDeclaration.cpp:
1475         (WebCore::valueForImageSliceSide):
1476         (WebCore::valueForNinePieceImageSlice):
1477         (WebCore::valueForNinePieceImageQuad):
1478         (WebCore::valueForNinePieceImageRepeat):
1479         (WebCore::valueForNinePieceImage):
1480         (WebCore::zoomAdjustedPixelValue):
1481         (WebCore::zoomAdjustedNumberValue):
1482         (WebCore::zoomAdjustedPixelValueForLength):
1483         (WebCore::valueForReflection):
1484         (WebCore::createPositionListForLayer):
1485         (WebCore::percentageOrZoomAdjustedValue):
1486         (WebCore::autoOrZoomAdjustedValue):
1487         (WebCore::getBorderRadiusCornerValues):
1488         (WebCore::getBorderRadiusCornerValue):
1489         (WebCore::getBorderRadiusShorthandValue):
1490         (WebCore::matrixTransformValue):
1491         (WebCore::computedTransform):
1492         (WebCore::adjustLengthForZoom):
1493         (WebCore::ComputedStyleExtractor::valueForShadow):
1494         (WebCore::ComputedStyleExtractor::valueForFilter):
1495         (WebCore::specifiedValueForGridTrackBreadth):
1496         (WebCore::specifiedValueForGridTrackSize):
1497         (WebCore::valueForGridTrackList):
1498         (WebCore::valueForGridPosition):
1499         (WebCore::createTransitionPropertyValue):
1500         (WebCore::getTransitionPropertyValue):
1501         (WebCore::scrollSnapDestination):
1502         (WebCore::scrollSnapPoints):
1503         (WebCore::scrollSnapCoordinates):
1504         (WebCore::getDelayValue):
1505         (WebCore::getDurationValue):
1506         (WebCore::createTimingFunctionValue):
1507         (WebCore::getTimingFunctionValue):
1508         (WebCore::createLineBoxContainValue):
1509         (WebCore::valueForFamily):
1510         (WebCore::renderTextDecorationFlagsToCSSValue):
1511         (WebCore::renderTextDecorationStyleFlagsToCSSValue):
1512         (WebCore::renderTextDecorationSkipFlagsToCSSValue):
1513         (WebCore::renderEmphasisPositionFlagsToCSSValue):
1514         (WebCore::fillRepeatToCSSValue):
1515         (WebCore::fillSourceTypeToCSSValue):
1516         (WebCore::fillSizeToCSSValue):
1517         (WebCore::altTextToCSSValue):
1518         (WebCore::contentToCSSValue):
1519         (WebCore::fontFamilyFromStyle):
1520         (WebCore::lineHeightFromStyle):
1521         (WebCore::fontSizeFromStyle):
1522         (WebCore::fontStyleFromStyle):
1523         (WebCore::fontVariantFromStyle):
1524         (WebCore::fontWeightFromStyle):
1525         (WebCore::CSSComputedStyleDeclaration::copyProperties):
1526         (WebCore::shapePropertyValue):
1527         (WebCore::ComputedStyleExtractor::copyProperties):
1528         (WebCore::ComputedStyleExtractor::copyPropertiesInSet):
1529         * css/CSSComputedStyleDeclaration.h:
1530         * css/CSSCrossfadeValue.h:
1531         (WebCore::CSSCrossfadeValue::create):
1532         * css/CSSCursorImageValue.cpp:
1533         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
1534         * css/CSSCursorImageValue.h:
1535         (WebCore::CSSCursorImageValue::create):
1536         * css/CSSFilterImageValue.h:
1537         (WebCore::CSSFilterImageValue::create):
1538         * css/CSSFontFaceSrcValue.h:
1539         (WebCore::CSSFontFaceSrcValue::create):
1540         (WebCore::CSSFontFaceSrcValue::createLocal):
1541         * css/CSSFontFeatureValue.h:
1542         (WebCore::CSSFontFeatureValue::create):
1543         * css/CSSFontValue.h:
1544         (WebCore::CSSFontValue::create):
1545         * css/CSSFunctionValue.h:
1546         (WebCore::CSSFunctionValue::create):
1547         * css/CSSGradientValue.h:
1548         (WebCore::CSSLinearGradientValue::create):
1549         (WebCore::CSSLinearGradientValue::clone):
1550         (WebCore::CSSRadialGradientValue::create):
1551         (WebCore::CSSRadialGradientValue::clone):
1552         * css/CSSGridTemplateAreasValue.h:
1553         (WebCore::CSSGridTemplateAreasValue::create):
1554         * css/CSSImageSetValue.h:
1555         (WebCore::CSSImageSetValue::create):
1556         * css/CSSImageValue.h:
1557         (WebCore::CSSImageValue::create):
1558         * css/CSSInheritedValue.h:
1559         (WebCore::CSSInheritedValue::create):
1560         * css/CSSInitialValue.h:
1561         (WebCore::CSSInitialValue::createExplicit):
1562         (WebCore::CSSInitialValue::createImplicit):
1563         * css/CSSKeyframeRule.cpp:
1564         (WebCore::StyleKeyframe::StyleKeyframe):
1565         * css/CSSKeyframeRule.h:
1566         (WebCore::StyleKeyframe::create):
1567         * css/CSSKeyframesRule.h:
1568         (WebCore::StyleRuleKeyframes::create):
1569         (WebCore::StyleRuleKeyframes::copy):
1570         * css/CSSLineBoxContainValue.h:
1571         (WebCore::CSSLineBoxContainValue::create):
1572         * css/CSSParser.cpp:
1573         (WebCore::createPrimitiveValuePair):
1574         (WebCore::CSSParser::parseInlineStyleDeclaration):
1575         (WebCore::CSSParser::parseDeclaration):
1576         (WebCore::CSSParser::createStyleProperties):
1577         (WebCore::CSSParser::createPrimitiveNumericValue):
1578         (WebCore::CSSParser::createPrimitiveStringValue):
1579         (WebCore::CSSParser::addFillValue):
1580         (WebCore::CSSParser::addAnimationValue):
1581         * css/CSSParser.h:
1582         * css/CSSPrimitiveValue.cpp:
1583         (WebCore::CSSPrimitiveValue::formatNumberValue):
1584         * css/CSSPrimitiveValue.h:
1585         (WebCore::CSSPrimitiveValue::createIdentifier):
1586         (WebCore::CSSPrimitiveValue::createParserOperator):
1587         (WebCore::CSSPrimitiveValue::createColor):
1588         (WebCore::CSSPrimitiveValue::create):
1589         (WebCore::CSSPrimitiveValue::createAllowingMarginQuirk):
1590         * css/CSSReflectValue.h:
1591         (WebCore::CSSReflectValue::create):
1592         * css/CSSShadowValue.h:
1593         (WebCore::CSSShadowValue::create):
1594         * css/CSSStyleDeclaration.h:
1595         * css/CSSStyleSheet.cpp:
1596         (WebCore::CSSStyleSheet::create):
1597         (WebCore::CSSStyleSheet::createInline):
1598         (WebCore::CSSStyleSheet::CSSStyleSheet):
1599         * css/CSSStyleSheet.h:
1600         * css/CSSTimingFunctionValue.h:
1601         (WebCore::CSSCubicBezierTimingFunctionValue::create):
1602         (WebCore::CSSStepsTimingFunctionValue::create):
1603         * css/CSSUnicodeRangeValue.h:
1604         (WebCore::CSSUnicodeRangeValue::create):
1605         * css/CSSValue.cpp:
1606         (WebCore::TextCloneCSSValue::create):
1607         * css/CSSValueList.h:
1608         (WebCore::CSSValueList::createCommaSeparated):
1609         (WebCore::CSSValueList::createSpaceSeparated):
1610         (WebCore::CSSValueList::createSlashSeparated):
1611         (WebCore::CSSValueList::createFromParserValueList):
1612         (WebCore::CSSValueList::append):
1613         (WebCore::CSSValueList::prepend):
1614         * css/CSSValuePool.cpp:
1615         (WebCore::CSSValuePool::createIdentifierValue):
1616         (WebCore::CSSValuePool::createColorValue):
1617         (WebCore::CSSValuePool::createValue):
1618         (WebCore::CSSValuePool::createFontFamilyValue):
1619         * css/CSSValuePool.h:
1620         (WebCore::CSSValuePool::createInheritedValue):
1621         (WebCore::CSSValuePool::createImplicitInitialValue):
1622         (WebCore::CSSValuePool::createExplicitInitialValue):
1623         (WebCore::CSSValuePool::createValue):
1624         * css/PropertySetCSSStyleDeclaration.cpp:
1625         (WebCore::PropertySetCSSStyleDeclaration::copyProperties):
1626         * css/PropertySetCSSStyleDeclaration.h:
1627         * css/StyleProperties.cpp:
1628         (WebCore::ImmutableStyleProperties::create):
1629         (WebCore::StyleProperties::immutableCopyIfNeeded):
1630         (WebCore::StyleProperties::copyBlockProperties):
1631         (WebCore::StyleProperties::mutableCopy):
1632         (WebCore::StyleProperties::copyPropertiesInSet):
1633         (WebCore::MutableStyleProperties::create):
1634         * css/StyleProperties.h:
1635         * css/StyleResolver.cpp:
1636         (WebCore::StyleResolver::State::setStyle):
1637         (WebCore::StyleResolver::styleForElement):
1638         (WebCore::StyleResolver::styleForKeyframe):
1639         (WebCore::StyleResolver::styleForPage):
1640         (WebCore::StyleResolver::defaultStyleForElement):
1641         * css/StyleResolver.h:
1642         (WebCore::StyleResolver::State::takeStyle):
1643         (WebCore::StyleResolver::State::setParentStyle):
1644         * css/StyleRule.cpp:
1645         (WebCore::StyleRuleBase::copy):
1646         (WebCore::StyleRule::StyleRule):
1647         (WebCore::StyleRule::create):
1648         (WebCore::StyleRulePage::StyleRulePage):
1649         (WebCore::StyleRuleFontFace::StyleRuleFontFace):
1650         (WebCore::StyleRuleGroup::wrapperInsertRule):
1651         (WebCore::StyleRuleViewport::StyleRuleViewport):
1652         * css/StyleRule.h:
1653         (WebCore::StyleRule::create):
1654         (WebCore::StyleRule::copy):
1655         (WebCore::StyleRuleFontFace::create):
1656         (WebCore::StyleRuleFontFace::copy):
1657         (WebCore::StyleRulePage::create):
1658         (WebCore::StyleRulePage::copy):
1659         (WebCore::StyleRuleMedia::create):
1660         (WebCore::StyleRuleMedia::copy):
1661         (WebCore::StyleRuleSupports::create):
1662         (WebCore::StyleRuleSupports::copy):
1663         (WebCore::StyleRuleRegion::create):
1664         (WebCore::StyleRuleRegion::copy):
1665         (WebCore::StyleRuleViewport::create):
1666         (WebCore::StyleRuleViewport::copy):
1667         * css/StyleRuleImport.cpp:
1668         (WebCore::StyleRuleImport::create):
1669         * css/StyleRuleImport.h:
1670         * css/StyleSheetContents.h:
1671         (WebCore::StyleSheetContents::create):
1672         (WebCore::StyleSheetContents::copy):
1673         * css/WebKitCSSFilterValue.h:
1674         (WebCore::WebKitCSSFilterValue::create):
1675         * css/WebKitCSSResourceValue.h:
1676         (WebCore::WebKitCSSResourceValue::create):
1677         * css/WebKitCSSTransformValue.h:
1678         (WebCore::WebKitCSSTransformValue::create):
1679         * dom/ChildNodeList.h:
1680         * dom/ClassNodeList.cpp:
1681         (WebCore::ClassNodeList::create):
1682         * dom/ClassNodeList.h:
1683         * dom/Document.cpp:
1684         (WebCore::Document::styleForElementIgnoringPendingStylesheets):
1685         * dom/Document.h:
1686         * dom/DocumentSharedObjectPool.cpp:
1687         (WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):
1688         * dom/DocumentSharedObjectPool.h:
1689         * dom/DocumentStyleSheetCollection.cpp:
1690         (WebCore::DocumentStyleSheetCollection::addAuthorSheet):
1691         (WebCore::DocumentStyleSheetCollection::addUserSheet):
1692         * dom/DocumentStyleSheetCollection.h:
1693         * dom/Element.cpp:
1694         (WebCore::Element::createElementRenderer):
1695         * dom/Element.h:
1696         * dom/ElementData.cpp:
1697         (WebCore::ShareableElementData::createWithAttributes):
1698         (WebCore::UniqueElementData::create):
1699         (WebCore::ElementData::makeUniqueCopy):
1700         (WebCore::UniqueElementData::makeShareableCopy):
1701         * dom/ElementData.h:
1702         * dom/ElementRareData.h:
1703         (WebCore::ElementRareData::setComputedStyle):
1704         * dom/NameNodeList.h:
1705         * dom/NamedFlowCollection.cpp:
1706         (WebCore::NamedFlowCollection::ensureFlowWithName):
1707         * dom/NamedFlowCollection.h:
1708         * dom/NodeRareData.h:
1709         (WebCore::NodeListsNodeData::ensureChildNodeList):
1710         (WebCore::NodeListsNodeData::ensureEmptyChildNodeList):
1711         (WebCore::NodeListsNodeData::addCacheWithAtomicName):
1712         (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
1713         (WebCore::NodeListsNodeData::addCachedCollection):
1714         * dom/PseudoElement.cpp:
1715         (WebCore::PseudoElement::didRecalcStyle):
1716         * dom/QualifiedName.h:
1717         (WebCore::QualifiedName::QualifiedNameImpl::create):
1718         * dom/TagNodeList.h:
1719         * html/BaseButtonInputType.cpp:
1720         (WebCore::BaseButtonInputType::createInputRenderer):
1721         * html/BaseButtonInputType.h:
1722         * html/FileInputType.cpp:
1723         (WebCore::FileInputType::createInputRenderer):
1724         * html/FileInputType.h:
1725         * html/HTMLAllCollection.cpp:
1726         (WebCore::HTMLAllCollection::create):
1727         * html/HTMLAllCollection.h:
1728         * html/HTMLAppletElement.cpp:
1729         (WebCore::HTMLAppletElement::createElementRenderer):
1730         * html/HTMLAppletElement.h:
1731         * html/HTMLBRElement.cpp:
1732         (WebCore::HTMLBRElement::createElementRenderer):
1733         * html/HTMLBRElement.h:
1734         * html/HTMLButtonElement.cpp:
1735         (WebCore::HTMLButtonElement::createElementRenderer):
1736         * html/HTMLButtonElement.h:
1737         * html/HTMLCanvasElement.cpp:
1738         (WebCore::HTMLCanvasElement::createElementRenderer):
1739         * html/HTMLCanvasElement.h:
1740         * html/HTMLCollection.cpp:
1741         (WebCore::HTMLCollection::create):
1742         * html/HTMLCollection.h:
1743         * html/HTMLDetailsElement.cpp:
1744         (WebCore::HTMLDetailsElement::createElementRenderer):
1745         * html/HTMLDetailsElement.h:
1746         * html/HTMLElement.cpp:
1747         (WebCore::HTMLElement::createElementRenderer):
1748         * html/HTMLElement.h:
1749         * html/HTMLFieldSetElement.cpp:
1750         (WebCore::HTMLFieldSetElement::createElementRenderer):
1751         * html/HTMLFieldSetElement.h:
1752         * html/HTMLFormControlsCollection.cpp:
1753         (WebCore::HTMLFormControlsCollection::create):
1754         * html/HTMLFormControlsCollection.h:
1755         * html/HTMLFrameElement.cpp:
1756         (WebCore::HTMLFrameElement::createElementRenderer):
1757         * html/HTMLFrameElement.h:
1758         * html/HTMLFrameSetElement.cpp:
1759         (WebCore::HTMLFrameSetElement::createElementRenderer):
1760         * html/HTMLFrameSetElement.h:
1761         * html/HTMLIFrameElement.cpp:
1762         (WebCore::HTMLIFrameElement::createElementRenderer):
1763         * html/HTMLIFrameElement.h:
1764         * html/HTMLImageElement.cpp:
1765         (WebCore::HTMLImageElement::createElementRenderer):
1766         * html/HTMLImageElement.h:
1767         * html/HTMLInputElement.cpp:
1768         (WebCore::HTMLInputElement::createElementRenderer):
1769         * html/HTMLInputElement.h:
1770         * html/HTMLLinkElement.cpp:
1771         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1772         * html/HTMLMediaElement.cpp:
1773         (WebCore::HTMLMediaElement::parseAttribute):
1774         * html/HTMLMediaElement.h:
1775         * html/HTMLMeterElement.cpp:
1776         (WebCore::HTMLMeterElement::createElementRenderer):
1777         * html/HTMLMeterElement.h:
1778         * html/HTMLNameCollection.h:
1779         * html/HTMLOptionsCollection.cpp:
1780         (WebCore::HTMLOptionsCollection::create):
1781         * html/HTMLOptionsCollection.h:
1782         * html/HTMLPlugInElement.cpp:
1783         (WebCore::HTMLPlugInElement::createElementRenderer):
1784         * html/HTMLPlugInElement.h:
1785         * html/HTMLPlugInImageElement.cpp:
1786         (WebCore::HTMLPlugInImageElement::createElementRenderer):
1787         * html/HTMLPlugInImageElement.h:
1788         * html/HTMLProgressElement.cpp:
1789         (WebCore::HTMLProgressElement::createElementRenderer):
1790         * html/HTMLProgressElement.h:
1791         * html/HTMLSelectElement.cpp:
1792         (WebCore::HTMLSelectElement::createElementRenderer):
1793         * html/HTMLSelectElement.h:
1794         * html/HTMLSummaryElement.cpp:
1795         (WebCore::HTMLSummaryElement::createElementRenderer):
1796         * html/HTMLSummaryElement.h:
1797         * html/HTMLTableRowsCollection.cpp:
1798         (WebCore::HTMLTableRowsCollection::create):
1799         * html/HTMLTableRowsCollection.h:
1800         * html/HTMLTextAreaElement.cpp:
1801         (WebCore::HTMLTextAreaElement::createElementRenderer):
1802         * html/HTMLTextAreaElement.h:
1803         * html/HTMLVideoElement.cpp:
1804         (WebCore::HTMLVideoElement::createElementRenderer):
1805         * html/HTMLVideoElement.h:
1806         * html/HTMLWBRElement.cpp:
1807         (WebCore::HTMLWBRElement::createElementRenderer):
1808         * html/HTMLWBRElement.h:
1809         * html/HiddenInputType.cpp:
1810         (WebCore::HiddenInputType::createInputRenderer):
1811         * html/HiddenInputType.h:
1812         * html/ImageInputType.cpp:
1813         (WebCore::ImageInputType::createInputRenderer):
1814         * html/ImageInputType.h:
1815         * html/InputType.cpp:
1816         (WebCore::InputType::createInputRenderer):
1817         * html/InputType.h:
1818         * html/LabelsNodeList.h:
1819         * html/RadioNodeList.h:
1820         * html/RangeInputType.cpp:
1821         (WebCore::RangeInputType::createInputRenderer):
1822         * html/RangeInputType.h:
1823         * html/SearchInputType.cpp:
1824         (WebCore::SearchInputType::createInputRenderer):
1825         * html/SearchInputType.h:
1826         * html/TextFieldInputType.cpp:
1827         (WebCore::TextFieldInputType::createInputRenderer):
1828         * html/TextFieldInputType.h:
1829         * html/shadow/DetailsMarkerControl.cpp:
1830         (WebCore::DetailsMarkerControl::createElementRenderer):
1831         * html/shadow/DetailsMarkerControl.h:
1832         * html/shadow/MediaControlElements.cpp:
1833         (WebCore::MediaControlTimelineContainerElement::createElementRenderer):
1834         (WebCore::MediaControlVolumeSliderContainerElement::createElementRenderer):
1835         (WebCore::MediaControlTextTrackContainerElement::createElementRenderer):
1836         * html/shadow/MediaControlElements.h:
1837         * html/shadow/MeterShadowElement.cpp:
1838         (WebCore::MeterInnerElement::createElementRenderer):
1839         * html/shadow/MeterShadowElement.h:
1840         * html/shadow/ProgressShadowElement.cpp:
1841         (WebCore::ProgressInnerElement::createElementRenderer):
1842         * html/shadow/ProgressShadowElement.h:
1843         * html/shadow/SliderThumbElement.cpp:
1844         (WebCore::RenderSliderThumb::RenderSliderThumb):
1845         (WebCore::SliderThumbElement::createElementRenderer):
1846         (WebCore::SliderContainerElement::createElementRenderer):
1847         * html/shadow/SliderThumbElement.h:
1848         * html/shadow/TextControlInnerElements.cpp:
1849         (WebCore::TextControlInnerContainer::createElementRenderer):
1850         (WebCore::TextControlInnerTextElement::createElementRenderer):
1851         * html/shadow/TextControlInnerElements.h:
1852         * html/shadow/mac/ImageControlsButtonElementMac.cpp:
1853         (WebCore::RenderImageControlsButton::RenderImageControlsButton):
1854         (WebCore::ImageControlsButtonElementMac::createElementRenderer):
1855         * html/shadow/mac/ImageControlsButtonElementMac.h:
1856         * html/shadow/mac/ImageControlsRootElementMac.cpp:
1857         (WebCore::RenderImageControls::RenderImageControls):
1858         (WebCore::ImageControlsRootElementMac::createElementRenderer):
1859         * html/shadow/mac/ImageControlsRootElementMac.h:
1860         * html/track/VTTCue.cpp:
1861         (WebCore::VTTCueBox::createElementRenderer):
1862         * html/track/VTTCue.h:
1863         * loader/cache/CachedCSSStyleSheet.cpp:
1864         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
1865         * loader/cache/CachedCSSStyleSheet.h:
1866         * loader/cache/CachedResourceLoader.h:
1867         (WebCore::CachedResourceLoader::create):
1868         * mathml/MathMLInlineContainerElement.cpp:
1869         (WebCore::MathMLInlineContainerElement::createElementRenderer):
1870         * mathml/MathMLInlineContainerElement.h:
1871         * mathml/MathMLMathElement.cpp:
1872         (WebCore::MathMLMathElement::createElementRenderer):
1873         * mathml/MathMLMathElement.h:
1874         * mathml/MathMLMencloseElement.cpp:
1875         (WebCore::MathMLMencloseElement::createElementRenderer):
1876         * mathml/MathMLMencloseElement.h:
1877         * mathml/MathMLSelectElement.cpp:
1878         (WebCore::MathMLSelectElement::createElementRenderer):
1879         * mathml/MathMLSelectElement.h:
1880         * mathml/MathMLTextElement.cpp:
1881         (WebCore::MathMLTextElement::createElementRenderer):
1882         * mathml/MathMLTextElement.h:
1883         * page/Page.cpp:
1884         (WebCore::Page::setStorageNamespaceProvider):
1885         (WebCore::Page::setVisitedLinkStore):
1886         * page/Page.h:
1887         * page/UserMessageHandler.h:
1888         (WebCore::UserMessageHandler::create):
1889         * page/UserMessageHandlersNamespace.h:
1890         (WebCore::UserMessageHandlersNamespace::create):
1891         * page/animation/AnimationController.cpp:
1892         (WebCore::AnimationControllerPrivate::addElementChangeToDispatch):
1893         (WebCore::AnimationController::updateAnimations):
1894         * page/animation/AnimationController.h:
1895         * page/animation/AnimationControllerPrivate.h:
1896         * page/animation/CompositeAnimation.cpp:
1897         (WebCore::CompositeAnimation::animate):
1898         * page/animation/CompositeAnimation.h:
1899         * platform/CalculationValue.cpp:
1900         (WebCore::CalculationValue::create):
1901         * platform/CalculationValue.h:
1902         * platform/Length.cpp:
1903         (WebCore::CalculationValueMap::insert):
1904         (WebCore::Length::Length):
1905         * platform/Length.h:
1906         * platform/graphics/Font.cpp:
1907         (WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry):
1908         (WebCore::retrieveOrAddCachedFontGlyphs):
1909         * platform/graphics/FontGlyphs.h:
1910         (WebCore::FontGlyphs::create):
1911         (WebCore::FontGlyphs::createForPlatformFont):
1912         * platform/graphics/Gradient.h:
1913         (WebCore::Gradient::create):
1914         * platform/graphics/GraphicsContext.cpp:
1915         (WebCore::GraphicsContext::setStrokePattern):
1916         (WebCore::GraphicsContext::setFillPattern):
1917         (WebCore::GraphicsContext::setStrokeGradient):
1918         (WebCore::GraphicsContext::setFillGradient):
1919         * platform/graphics/GraphicsContext.h:
1920         * platform/graphics/MediaSourcePrivateClient.h:
1921         * platform/graphics/Pattern.cpp:
1922         (WebCore::Pattern::create):
1923         * platform/graphics/Pattern.h:
1924         * platform/mac/SerializedPlatformRepresentationMac.h:
1925         * platform/mac/SerializedPlatformRepresentationMac.mm:
1926         (WebCore::SerializedPlatformRepresentationMac::create):
1927         * platform/mock/UserMediaClientMock.h:
1928         (WebCore::UserMediaClientRequestNotifier::UserMediaClientRequestNotifier):
1929         * rendering/ClipPathOperation.h:
1930         * rendering/RenderBlock.cpp:
1931         (WebCore::RenderBlock::RenderBlock):
1932         * rendering/RenderBlock.h:
1933         * rendering/RenderBlockFlow.cpp:
1934         (WebCore::RenderBlockFlow::RenderBlockFlow):
1935         * rendering/RenderBlockFlow.h:
1936         * rendering/RenderBox.cpp:
1937         (WebCore::RenderBox::RenderBox):
1938         * rendering/RenderBox.h:
1939         * rendering/RenderBoxModelObject.cpp:
1940         (WebCore::RenderBoxModelObject::RenderBoxModelObject):
1941         * rendering/RenderBoxModelObject.h:
1942         * rendering/RenderButton.cpp:
1943         (WebCore::RenderButton::RenderButton):
1944         * rendering/RenderButton.h:
1945         * rendering/RenderDeprecatedFlexibleBox.cpp:
1946         (WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
1947         * rendering/RenderDeprecatedFlexibleBox.h:
1948         * rendering/RenderDetailsMarker.cpp:
1949         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
1950         * rendering/RenderDetailsMarker.h:
1951         * rendering/RenderElement.cpp:
1952         (WebCore::RenderElement::RenderElement):
1953         (WebCore::RenderElement::createFor):
1954         (WebCore::RenderElement::setStyle):
1955         * rendering/RenderElement.h:
1956         (WebCore::RenderElement::setStyleInternal):
1957         (WebCore::RenderElement::setAnimatableStyle):
1958         * rendering/RenderEmbeddedObject.cpp:
1959         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
1960         (WebCore::RenderEmbeddedObject::createForApplet):
1961         * rendering/RenderEmbeddedObject.h:
1962         * rendering/RenderFieldset.cpp:
1963         (WebCore::RenderFieldset::RenderFieldset):
1964         * rendering/RenderFieldset.h:
1965         * rendering/RenderFileUploadControl.cpp:
1966         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
1967         * rendering/RenderFileUploadControl.h:
1968         * rendering/RenderFlexibleBox.cpp:
1969         (WebCore::RenderFlexibleBox::RenderFlexibleBox):
1970         * rendering/RenderFlexibleBox.h:
1971         * rendering/RenderFlowThread.cpp:
1972         (WebCore::RenderFlowThread::RenderFlowThread):
1973         (WebCore::RenderFlowThread::createFlowThreadStyle):
1974         * rendering/RenderFlowThread.h:
1975         * rendering/RenderFrame.cpp:
1976         (WebCore::RenderFrame::RenderFrame):
1977         * rendering/RenderFrame.h:
1978         * rendering/RenderFrameBase.cpp:
1979         (WebCore::RenderFrameBase::RenderFrameBase):
1980         * rendering/RenderFrameBase.h:
1981         * rendering/RenderFrameSet.cpp:
1982         (WebCore::RenderFrameSet::RenderFrameSet):
1983         * rendering/RenderFrameSet.h:
1984         * rendering/RenderFullScreen.cpp:
1985         (WebCore::RenderFullScreen::RenderFullScreen):
1986         (WebCore::createFullScreenStyle):
1987         (WebCore::RenderFullScreen::createPlaceholder):
1988         * rendering/RenderFullScreen.h:
1989         * rendering/RenderGrid.cpp:
1990         (WebCore::RenderGrid::RenderGrid):
1991         * rendering/RenderGrid.h:
1992         * rendering/RenderHTMLCanvas.cpp:
1993         (WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
1994         * rendering/RenderHTMLCanvas.h:
1995         * rendering/RenderIFrame.cpp:
1996         (WebCore::RenderIFrame::RenderIFrame):
1997         * rendering/RenderIFrame.h:
1998         * rendering/RenderImage.cpp:
1999         (WebCore::RenderImage::RenderImage):
2000         * rendering/RenderImage.h:
2001         * rendering/RenderInline.cpp:
2002         (WebCore::RenderInline::RenderInline):
2003         * rendering/RenderInline.h:
2004         * rendering/RenderLayer.cpp:
2005         (WebCore::RenderLayer::calculateClipRects):
2006         * rendering/RenderLayer.h:
2007         * rendering/RenderLayerModelObject.cpp:
2008         (WebCore::RenderLayerModelObject::RenderLayerModelObject):
2009         * rendering/RenderLayerModelObject.h:
2010         * rendering/RenderLineBreak.cpp:
2011         (WebCore::RenderLineBreak::RenderLineBreak):
2012         * rendering/RenderLineBreak.h:
2013         * rendering/RenderListBox.cpp:
2014         (WebCore::RenderListBox::RenderListBox):
2015         * rendering/RenderListBox.h:
2016         * rendering/RenderListItem.cpp:
2017         (WebCore::RenderListItem::RenderListItem):
2018         * rendering/RenderListItem.h:
2019         * rendering/RenderListMarker.cpp:
2020         (WebCore::RenderListMarker::RenderListMarker):
2021         * rendering/RenderListMarker.h:
2022         * rendering/RenderMedia.cpp:
2023         (WebCore::RenderMedia::RenderMedia):
2024         * rendering/RenderMedia.h:
2025         * rendering/RenderMediaControlElements.cpp:
2026         (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
2027         (WebCore::RenderMediaControlTimelineContainer::RenderMediaControlTimelineContainer):
2028         (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
2029         * rendering/RenderMediaControlElements.h:
2030         * rendering/RenderMenuList.cpp:
2031         (WebCore::RenderMenuList::RenderMenuList):
2032         * rendering/RenderMenuList.h:
2033         * rendering/RenderMeter.cpp:
2034         (WebCore::RenderMeter::RenderMeter):
2035         * rendering/RenderMeter.h:
2036         * rendering/RenderMultiColumnFlowThread.cpp:
2037         (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
2038         * rendering/RenderMultiColumnFlowThread.h:
2039         * rendering/RenderMultiColumnSet.cpp:
2040         (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
2041         * rendering/RenderMultiColumnSet.h:
2042         * rendering/RenderMultiColumnSpannerPlaceholder.cpp:
2043         (WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
2044         * rendering/RenderMultiColumnSpannerPlaceholder.h:
2045         * rendering/RenderNamedFlowFragment.cpp:
2046         (WebCore::RenderNamedFlowFragment::RenderNamedFlowFragment):
2047         (WebCore::RenderNamedFlowFragment::createStyle):
2048         * rendering/RenderNamedFlowFragment.h:
2049         * rendering/RenderNamedFlowThread.cpp:
2050         (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
2051         * rendering/RenderNamedFlowThread.h:
2052         * rendering/RenderProgress.cpp:
2053         (WebCore::RenderProgress::RenderProgress):
2054         * rendering/RenderProgress.h:
2055         * rendering/RenderQuote.cpp:
2056         (WebCore::RenderQuote::RenderQuote):
2057         * rendering/RenderQuote.h:
2058         * rendering/RenderRegion.cpp:
2059         (WebCore::RenderRegion::RenderRegion):
2060         * rendering/RenderRegion.h:
2061         * rendering/RenderRegionSet.cpp:
2062         (WebCore::RenderRegionSet::RenderRegionSet):
2063         * rendering/RenderRegionSet.h:
2064         * rendering/RenderReplaced.cpp:
2065         (WebCore::RenderReplaced::RenderReplaced):
2066         * rendering/RenderReplaced.h:
2067         * rendering/RenderReplica.cpp:
2068         (WebCore::RenderReplica::RenderReplica):
2069         * rendering/RenderReplica.h:
2070         * rendering/RenderRuby.cpp:
2071         (WebCore::RenderRubyAsInline::RenderRubyAsInline):
2072         (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
2073         * rendering/RenderRuby.h:
2074         * rendering/RenderRubyBase.cpp:
2075         (WebCore::RenderRubyBase::RenderRubyBase):
2076         * rendering/RenderRubyBase.h:
2077         * rendering/RenderRubyRun.cpp:
2078         (WebCore::RenderRubyRun::RenderRubyRun):
2079         * rendering/RenderRubyRun.h:
2080         * rendering/RenderRubyText.cpp:
2081         (WebCore::RenderRubyText::RenderRubyText):
2082         * rendering/RenderRubyText.h:
2083         * rendering/RenderScrollbarPart.cpp:
2084         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
2085         * rendering/RenderScrollbarPart.h:
2086         * rendering/RenderSearchField.cpp:
2087         (WebCore::RenderSearchField::RenderSearchField):
2088         * rendering/RenderSearchField.h:
2089         * rendering/RenderSlider.cpp:
2090         (WebCore::RenderSlider::RenderSlider):
2091         * rendering/RenderSlider.h:
2092         * rendering/RenderSnapshottedPlugIn.cpp:
2093         (WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
2094         * rendering/RenderSnapshottedPlugIn.h:
2095         * rendering/RenderTable.cpp:
2096         (WebCore::RenderTable::RenderTable):
2097         * rendering/RenderTable.h:
2098         * rendering/RenderTableCaption.cpp:
2099         (WebCore::RenderTableCaption::RenderTableCaption):
2100         * rendering/RenderTableCaption.h:
2101         * rendering/RenderTableCell.cpp:
2102         (WebCore::RenderTableCell::RenderTableCell):
2103         * rendering/RenderTableCell.h:
2104         * rendering/RenderTableCol.cpp:
2105         (WebCore::RenderTableCol::RenderTableCol):
2106         * rendering/RenderTableCol.h:
2107         * rendering/RenderTableRow.cpp:
2108         (WebCore::RenderTableRow::RenderTableRow):
2109         * rendering/RenderTableRow.h:
2110         * rendering/RenderTableSection.cpp:
2111         (WebCore::RenderTableSection::RenderTableSection):
2112         * rendering/RenderTableSection.h:
2113         * rendering/RenderTextControl.cpp:
2114         (WebCore::RenderTextControl::RenderTextControl):
2115         * rendering/RenderTextControl.h:
2116         * rendering/RenderTextControlMultiLine.cpp:
2117         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
2118         (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
2119         * rendering/RenderTextControlMultiLine.h:
2120         * rendering/RenderTextControlSingleLine.cpp:
2121         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2122         (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
2123         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2124         * rendering/RenderTextControlSingleLine.h:
2125         * rendering/RenderVTTCue.cpp:
2126         (WebCore::RenderVTTCue::RenderVTTCue):
2127         * rendering/RenderVTTCue.h:
2128         * rendering/RenderVideo.cpp:
2129         (WebCore::RenderVideo::RenderVideo):
2130         * rendering/RenderVideo.h:
2131         * rendering/RenderView.cpp:
2132         (WebCore::RenderView::RenderView):
2133         * rendering/RenderView.h:
2134         * rendering/RenderWidget.cpp:
2135         (WebCore::RenderWidget::RenderWidget):
2136         * rendering/RenderWidget.h:
2137         * rendering/mathml/RenderMathMLBlock.cpp:
2138         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
2139         * rendering/mathml/RenderMathMLBlock.h:
2140         * rendering/mathml/RenderMathMLFenced.cpp:
2141         (WebCore::RenderMathMLFenced::RenderMathMLFenced):
2142         * rendering/mathml/RenderMathMLFenced.h:
2143         * rendering/mathml/RenderMathMLFraction.cpp:
2144         (WebCore::RenderMathMLFraction::RenderMathMLFraction):
2145         * rendering/mathml/RenderMathMLFraction.h:
2146         * rendering/mathml/RenderMathMLMath.cpp:
2147         (WebCore::RenderMathMLMath::RenderMathMLMath):
2148         * rendering/mathml/RenderMathMLMath.h:
2149         * rendering/mathml/RenderMathMLMenclose.cpp:
2150         (WebCore::RenderMathMLMenclose::RenderMathMLMenclose):
2151         * rendering/mathml/RenderMathMLMenclose.h:
2152         * rendering/mathml/RenderMathMLOperator.cpp:
2153         (WebCore::RenderMathMLOperator::RenderMathMLOperator):
2154         * rendering/mathml/RenderMathMLOperator.h:
2155         * rendering/mathml/RenderMathMLRadicalOperator.cpp:
2156         (WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator):
2157         * rendering/mathml/RenderMathMLRadicalOperator.h:
2158         * rendering/mathml/RenderMathMLRoot.cpp:
2159         (WebCore::RenderMathMLRoot::RenderMathMLRoot):
2160         * rendering/mathml/RenderMathMLRoot.h:
2161         * rendering/mathml/RenderMathMLRow.cpp:
2162         (WebCore::RenderMathMLRow::RenderMathMLRow):
2163         * rendering/mathml/RenderMathMLRow.h:
2164         * rendering/mathml/RenderMathMLScripts.cpp:
2165         (WebCore::RenderMathMLScripts::RenderMathMLScripts):
2166         * rendering/mathml/RenderMathMLScripts.h:
2167         * rendering/mathml/RenderMathMLSpace.cpp:
2168         (WebCore::RenderMathMLSpace::RenderMathMLSpace):
2169         * rendering/mathml/RenderMathMLSpace.h:
2170         * rendering/mathml/RenderMathMLSquareRoot.cpp:
2171         (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
2172         * rendering/mathml/RenderMathMLSquareRoot.h:
2173         * rendering/mathml/RenderMathMLToken.cpp:
2174         (WebCore::RenderMathMLToken::RenderMathMLToken):
2175         * rendering/mathml/RenderMathMLToken.h:
2176         * rendering/mathml/RenderMathMLUnderOver.cpp:
2177         (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
2178         * rendering/mathml/RenderMathMLUnderOver.h:
2179         * rendering/style/BasicShapes.cpp:
2180         (WebCore::BasicShapeCircle::blend):
2181         (WebCore::BasicShapeEllipse::blend):
2182         (WebCore::BasicShapePolygon::blend):
2183         (WebCore::BasicShapeInset::blend):
2184         * rendering/style/BasicShapes.h:
2185         * rendering/style/DataRef.h:
2186         (WebCore::DataRef::DataRef):
2187         * rendering/style/NinePieceImage.cpp:
2188         (WebCore::NinePieceImageData::copy):
2189         * rendering/style/NinePieceImage.h:
2190         (WebCore::NinePieceImageData::create):
2191         * rendering/style/RenderStyle.cpp:
2192         (WebCore::RenderStyle::create):
2193         (WebCore::RenderStyle::createDefaultStyle):
2194         (WebCore::RenderStyle::createAnonymousStyleWithDisplay):
2195         (WebCore::RenderStyle::clone):
2196         (WebCore::RenderStyle::createStyleInheritingFromPseudoStyle):
2197         * rendering/style/RenderStyle.h:
2198         * rendering/style/SVGRenderStyle.cpp:
2199         (WebCore::SVGRenderStyle::createDefaultStyle):
2200         (WebCore::SVGRenderStyle::copy):
2201         * rendering/style/SVGRenderStyle.h:
2202         (WebCore::SVGRenderStyle::create):
2203         * rendering/style/SVGRenderStyleDefs.cpp:
2204         (WebCore::StyleFillData::copy):
2205         (WebCore::StyleStrokeData::copy):
2206         (WebCore::StyleStopData::copy):
2207         (WebCore::StyleTextData::copy):
2208         (WebCore::StyleMiscData::copy):
2209         (WebCore::StyleShadowSVGData::copy):
2210         (WebCore::StyleResourceData::copy):
2211         (WebCore::StyleInheritedResourceData::copy):
2212         (WebCore::StyleLayoutData::copy):
2213         * rendering/style/SVGRenderStyleDefs.h:
2214         (WebCore::StyleFillData::create):
2215         (WebCore::StyleStrokeData::create):
2216         (WebCore::StyleStopData::create):
2217         (WebCore::StyleTextData::create):
2218         (WebCore::StyleMiscData::create):
2219         (WebCore::StyleShadowSVGData::create):
2220         (WebCore::StyleResourceData::create):
2221         (WebCore::StyleInheritedResourceData::create):
2222         (WebCore::StyleLayoutData::create):
2223         * rendering/style/StyleBackgroundData.cpp:
2224         (WebCore::StyleBackgroundData::copy):
2225         * rendering/style/StyleBackgroundData.h:
2226         (WebCore::StyleBackgroundData::create):
2227         * rendering/style/StyleBoxData.cpp:
2228         (WebCore::StyleBoxData::copy):
2229         * rendering/style/StyleBoxData.h:
2230         (WebCore::StyleBoxData::create):
2231         * rendering/style/StyleDeprecatedFlexibleBoxData.cpp:
2232         (WebCore::StyleDeprecatedFlexibleBoxData::copy):
2233         * rendering/style/StyleDeprecatedFlexibleBoxData.h:
2234         (WebCore::StyleDeprecatedFlexibleBoxData::create):
2235         * rendering/style/StyleFilterData.cpp:
2236         (WebCore::StyleFilterData::copy):
2237         * rendering/style/StyleFilterData.h:
2238         (WebCore::StyleFilterData::create):
2239         * rendering/style/StyleFlexibleBoxData.cpp:
2240         (WebCore::StyleFlexibleBoxData::copy):
2241         * rendering/style/StyleFlexibleBoxData.h:
2242         (WebCore::StyleFlexibleBoxData::create):
2243         * rendering/style/StyleGeneratedImage.cpp:
2244         (WebCore::StyleGeneratedImage::StyleGeneratedImage):
2245         * rendering/style/StyleGeneratedImage.h:
2246         * rendering/style/StyleGridData.cpp:
2247         (WebCore::StyleGridData::copy):
2248         * rendering/style/StyleGridData.h:
2249         (WebCore::StyleGridData::create):
2250         * rendering/style/StyleGridItemData.cpp:
2251         (WebCore::StyleGridItemData::copy):
2252         * rendering/style/StyleGridItemData.h:
2253         (WebCore::StyleGridItemData::create):
2254         * rendering/style/StyleInheritedData.cpp:
2255         (WebCore::StyleInheritedData::copy):
2256         * rendering/style/StyleInheritedData.h:
2257         (WebCore::StyleInheritedData::create):
2258         * rendering/style/StyleMarqueeData.cpp:
2259         (WebCore::StyleMarqueeData::copy):
2260         * rendering/style/StyleMarqueeData.h:
2261         (WebCore::StyleMarqueeData::create):
2262         * rendering/style/StyleMultiColData.cpp:
2263         (WebCore::StyleMultiColData::copy):
2264         * rendering/style/StyleMultiColData.h:
2265         (WebCore::StyleMultiColData::create):
2266         * rendering/style/StyleRareInheritedData.cpp:
2267         (WebCore::StyleRareInheritedData::copy):
2268         * rendering/style/StyleRareInheritedData.h:
2269         (WebCore::StyleRareInheritedData::create):
2270         * rendering/style/StyleRareNonInheritedData.cpp:
2271         (WebCore::StyleRareNonInheritedData::copy):
2272         * rendering/style/StyleRareNonInheritedData.h:
2273         (WebCore::StyleRareNonInheritedData::create):
2274         * rendering/style/StyleScrollSnapPoints.cpp:
2275         (WebCore::StyleScrollSnapPoints::copy):
2276         * rendering/style/StyleScrollSnapPoints.h:
2277         (WebCore::StyleScrollSnapPoints::create):
2278         * rendering/style/StyleSurroundData.cpp:
2279         (WebCore::StyleSurroundData::copy):
2280         * rendering/style/StyleSurroundData.h:
2281         (WebCore::StyleSurroundData::create):
2282         * rendering/style/StyleTransformData.cpp:
2283         (WebCore::StyleTransformData::copy):
2284         * rendering/style/StyleTransformData.h:
2285         (WebCore::StyleTransformData::create):
2286         * rendering/style/StyleVisualData.cpp:
2287         (WebCore::StyleVisualData::copy):
2288         * rendering/style/StyleVisualData.h:
2289         (WebCore::StyleVisualData::create):
2290         * rendering/svg/RenderSVGBlock.cpp:
2291         (WebCore::RenderSVGBlock::RenderSVGBlock):
2292         * rendering/svg/RenderSVGBlock.h:
2293         * rendering/svg/RenderSVGContainer.cpp:
2294         (WebCore::RenderSVGContainer::RenderSVGContainer):
2295         * rendering/svg/RenderSVGContainer.h:
2296         * rendering/svg/RenderSVGEllipse.cpp:
2297         (WebCore::RenderSVGEllipse::RenderSVGEllipse):
2298         * rendering/svg/RenderSVGEllipse.h:
2299         * rendering/svg/RenderSVGForeignObject.cpp:
2300         (WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
2301         * rendering/svg/RenderSVGForeignObject.h:
2302         * rendering/svg/RenderSVGGradientStop.cpp:
2303         (WebCore::RenderSVGGradientStop::RenderSVGGradientStop):
2304         * rendering/svg/RenderSVGGradientStop.h:
2305         * rendering/svg/RenderSVGHiddenContainer.cpp:
2306         (WebCore::RenderSVGHiddenContainer::RenderSVGHiddenContainer):
2307         * rendering/svg/RenderSVGHiddenContainer.h:
2308         * rendering/svg/RenderSVGImage.cpp:
2309         (WebCore::RenderSVGImage::RenderSVGImage):
2310         * rendering/svg/RenderSVGImage.h:
2311         * rendering/svg/RenderSVGInline.cpp:
2312         (WebCore::RenderSVGInline::RenderSVGInline):
2313         * rendering/svg/RenderSVGInline.h:
2314         * rendering/svg/RenderSVGModelObject.cpp:
2315         (WebCore::RenderSVGModelObject::RenderSVGModelObject):
2316         * rendering/svg/RenderSVGModelObject.h:
2317         * rendering/svg/RenderSVGPath.cpp:
2318         (WebCore::RenderSVGPath::RenderSVGPath):
2319         * rendering/svg/RenderSVGPath.h:
2320         * rendering/svg/RenderSVGRect.cpp:
2321         (WebCore::RenderSVGRect::RenderSVGRect):
2322         * rendering/svg/RenderSVGRect.h:
2323         * rendering/svg/RenderSVGResourceClipper.cpp:
2324         (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
2325         * rendering/svg/RenderSVGResourceClipper.h:
2326         * rendering/svg/RenderSVGResourceContainer.cpp:
2327         (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
2328         * rendering/svg/RenderSVGResourceContainer.h:
2329         * rendering/svg/RenderSVGResourceFilter.cpp:
2330         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
2331         * rendering/svg/RenderSVGResourceFilter.h:
2332         * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
2333         (WebCore::RenderSVGResourceFilterPrimitive::RenderSVGResourceFilterPrimitive):
2334         * rendering/svg/RenderSVGResourceFilterPrimitive.h:
2335         * rendering/svg/RenderSVGResourceGradient.cpp:
2336         (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
2337         * rendering/svg/RenderSVGResourceGradient.h:
2338         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
2339         (WebCore::RenderSVGResourceLinearGradient::RenderSVGResourceLinearGradient):
2340         * rendering/svg/RenderSVGResourceLinearGradient.h:
2341         * rendering/svg/RenderSVGResourceMarker.cpp:
2342         (WebCore::RenderSVGResourceMarker::RenderSVGResourceMarker):
2343         * rendering/svg/RenderSVGResourceMarker.h:
2344         * rendering/svg/RenderSVGResourceMasker.cpp:
2345         (WebCore::RenderSVGResourceMasker::RenderSVGResourceMasker):
2346         * rendering/svg/RenderSVGResourceMasker.h:
2347         * rendering/svg/RenderSVGResourcePattern.cpp:
2348         (WebCore::RenderSVGResourcePattern::RenderSVGResourcePattern):
2349         * rendering/svg/RenderSVGResourcePattern.h:
2350         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
2351         (WebCore::RenderSVGResourceRadialGradient::RenderSVGResourceRadialGradient):
2352         * rendering/svg/RenderSVGResourceRadialGradient.h:
2353         * rendering/svg/RenderSVGRoot.cpp:
2354         (WebCore::RenderSVGRoot::RenderSVGRoot):
2355         * rendering/svg/RenderSVGRoot.h:
2356         * rendering/svg/RenderSVGShape.cpp:
2357         (WebCore::RenderSVGShape::RenderSVGShape):
2358         * rendering/svg/RenderSVGShape.h:
2359         * rendering/svg/RenderSVGTSpan.h:
2360         * rendering/svg/RenderSVGText.cpp:
2361         (WebCore::RenderSVGText::RenderSVGText):
2362         * rendering/svg/RenderSVGText.h:
2363         * rendering/svg/RenderSVGTextPath.cpp:
2364         (WebCore::RenderSVGTextPath::RenderSVGTextPath):
2365         * rendering/svg/RenderSVGTextPath.h:
2366         * rendering/svg/RenderSVGTransformableContainer.cpp:
2367         (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
2368         * rendering/svg/RenderSVGTransformableContainer.h:
2369         * rendering/svg/RenderSVGViewportContainer.cpp:
2370         (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
2371         * rendering/svg/RenderSVGViewportContainer.h:
2372         * rendering/svg/SVGTextRunRenderingContext.h:
2373         * style/StyleResolveForDocument.cpp:
2374         (WebCore::Style::resolveForDocument):
2375         * style/StyleResolveForDocument.h:
2376         * style/StyleResolveTree.cpp:
2377         (WebCore::Style::styleForElement):
2378         * svg/SVGAElement.cpp:
2379         (WebCore::SVGAElement::createElementRenderer):
2380         * svg/SVGAElement.h:
2381         * svg/SVGAltGlyphElement.cpp:
2382         (WebCore::SVGAltGlyphElement::createElementRenderer):
2383         * svg/SVGAltGlyphElement.h:
2384         * svg/SVGCircleElement.cpp:
2385         (WebCore::SVGCircleElement::createElementRenderer):
2386         * svg/SVGCircleElement.h:
2387         * svg/SVGClipPathElement.cpp:
2388         (WebCore::SVGClipPathElement::createElementRenderer):
2389         * svg/SVGClipPathElement.h:
2390         * svg/SVGColor.h:
2391         (WebCore::SVGColor::createFromString):
2392         (WebCore::SVGColor::createFromColor):
2393         (WebCore::SVGColor::createCurrentColor):
2394         * svg/SVGDefsElement.cpp:
2395         (WebCore::SVGDefsElement::createElementRenderer):
2396         * svg/SVGDefsElement.h:
2397         * svg/SVGEllipseElement.cpp:
2398         (WebCore::SVGEllipseElement::createElementRenderer):
2399         * svg/SVGEllipseElement.h:
2400         * svg/SVGFilterElement.cpp:
2401         (WebCore::SVGFilterElement::createElementRenderer):
2402         * svg/SVGFilterElement.h:
2403         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2404         (WebCore::SVGFilterPrimitiveStandardAttributes::createElementRenderer):
2405         * svg/SVGFilterPrimitiveStandardAttributes.h:
2406         * svg/SVGFontFaceNameElement.cpp:
2407         (WebCore::SVGFontFaceNameElement::srcValue):
2408         * svg/SVGFontFaceNameElement.h:
2409         * svg/SVGFontFaceUriElement.cpp:
2410         (WebCore::SVGFontFaceUriElement::srcValue):
2411         * svg/SVGFontFaceUriElement.h:
2412         * svg/SVGForeignObjectElement.cpp:
2413         (WebCore::SVGForeignObjectElement::createElementRenderer):
2414         * svg/SVGForeignObjectElement.h:
2415         * svg/SVGGElement.cpp:
2416         (WebCore::SVGGElement::createElementRenderer):
2417         * svg/SVGGElement.h:
2418         * svg/SVGGraphicsElement.cpp:
2419         (WebCore::SVGGraphicsElement::createElementRenderer):
2420         * svg/SVGGraphicsElement.h:
2421         * svg/SVGImageElement.cpp:
2422         (WebCore::SVGImageElement::createElementRenderer):
2423         * svg/SVGImageElement.h:
2424         * svg/SVGLength.cpp:
2425         (WebCore::SVGLength::toCSSPrimitiveValue):
2426         * svg/SVGLength.h:
2427         * svg/SVGLinearGradientElement.cpp:
2428         (WebCore::SVGLinearGradientElement::createElementRenderer):
2429         * svg/SVGLinearGradientElement.h:
2430         * svg/SVGMarkerElement.cpp:
2431         (WebCore::SVGMarkerElement::createElementRenderer):
2432         * svg/SVGMarkerElement.h:
2433         * svg/SVGMaskElement.cpp:
2434         (WebCore::SVGMaskElement::createElementRenderer):
2435         * svg/SVGMaskElement.h:
2436         * svg/SVGPaint.h:
2437         (WebCore::SVGPaint::createUnknown):
2438         (WebCore::SVGPaint::createNone):
2439         (WebCore::SVGPaint::createCurrentColor):
2440         (WebCore::SVGPaint::createColor):
2441         (WebCore::SVGPaint::createURI):
2442         (WebCore::SVGPaint::createURIAndColor):
2443         (WebCore::SVGPaint::createURIAndNone):
2444         (WebCore::SVGPaint::create):
2445         * svg/SVGPathElement.cpp:
2446         (WebCore::SVGPathElement::createElementRenderer):
2447         * svg/SVGPathElement.h:
2448         * svg/SVGPatternElement.cpp:
2449         (WebCore::SVGPatternElement::createElementRenderer):
2450         * svg/SVGPatternElement.h:
2451         * svg/SVGRadialGradientElement.cpp:
2452         (WebCore::SVGRadialGradientElement::createElementRenderer):
2453         * svg/SVGRadialGradientElement.h:
2454         * svg/SVGRectElement.cpp:
2455         (WebCore::SVGRectElement::createElementRenderer):
2456         * svg/SVGRectElement.h:
2457         * svg/SVGSVGElement.cpp:
2458         (WebCore::SVGSVGElement::createElementRenderer):
2459         * svg/SVGSVGElement.h:
2460         * svg/SVGStopElement.cpp:
2461         (WebCore::SVGStopElement::createElementRenderer):
2462         * svg/SVGStopElement.h:
2463         * svg/SVGSwitchElement.cpp:
2464         (WebCore::SVGSwitchElement::createElementRenderer):
2465         * svg/SVGSwitchElement.h:
2466         * svg/SVGSymbolElement.cpp:
2467         (WebCore::SVGSymbolElement::createElementRenderer):
2468         * svg/SVGSymbolElement.h:
2469         * svg/SVGTRefElement.cpp:
2470         (WebCore::SVGTRefTargetEventListener::create):
2471         (WebCore::SVGTRefElement::createElementRenderer):
2472         * svg/SVGTRefElement.h:
2473         * svg/SVGTSpanElement.cpp:
2474         (WebCore::SVGTSpanElement::createElementRenderer):
2475         * svg/SVGTSpanElement.h:
2476         * svg/SVGTextElement.cpp:
2477         (WebCore::SVGTextElement::createElementRenderer):
2478         * svg/SVGTextElement.h:
2479         * svg/SVGTextPathElement.cpp:
2480         (WebCore::SVGTextPathElement::createElementRenderer):
2481         * svg/SVGTextPathElement.h:
2482         * svg/SVGUseElement.cpp:
2483         (WebCore::SVGUseElement::createElementRenderer):
2484         * svg/SVGUseElement.h:
2485
2486 2014-12-13  Zalan Bujtas  <zalan@apple.com>
2487
2488         https://bugs.webkit.org/show_bug.cgi?id=139597
2489         rdar://problem/19237334
2490         Fixed positioned pseudo content does not get composited.
2491
2492         Reviewed by Simon Fraser.
2493
2494         This patch ensures that adjustRenderStyle() can access to settings even when Element* is null. 
2495
2496         Test: compositing/fixed-positioned-pseudo-content-no-compositing.html
2497
2498         * css/StyleResolver.cpp:
2499         (WebCore::StyleResolver::adjustRenderStyle):
2500
2501 2014-12-12  Mark Rowe  <mrowe@apple.com>
2502
2503         [Mac] Work around a bug in dsymutil on older OS versions
2504         <https://webkit.org/b/139609> / <rdar://problem/16045763>
2505
2506         Older versions of dsymutil are unable to write out more than 2GB of symbols per architecture.
2507         WebCore has recently passed that threshold. To work around this we will reduce the level of
2508         symbols included in the dSYM bundles on the affected OS versions.
2509
2510         Reviewed by Geoff Garen.
2511
2512         * Configurations/Base.xcconfig: Include line tables only in the debug symbols for production
2513         builds on OS X 10.8 and 10.9.
2514         * Configurations/DebugRelease.xcconfig: Include full symbols in debug and release builds since they
2515         do not make use of dSYMs.
2516
2517 2014-12-12  Beth Dakin  <bdakin@apple.com>
2518
2519         Need a fake mouse move after hiding data detectors UI
2520         https://bugs.webkit.org/show_bug.cgi?id=139608
2521         -and corresponding-
2522         rdar://problem/19221935
2523
2524         Reviewed by Tim Horton.
2525
2526         * WebCore.exp.in:
2527
2528 2014-12-12  Dean Jackson  <dino@apple.com>
2529
2530         [Media iOS] Inline video controls have an outlined scrubber
2531         https://bugs.webkit.org/show_bug.cgi?id=139602
2532         <rdar://problem/19184212>
2533
2534         Reviewed by Eric Carlson.
2535
2536         This is another change similar to https://bugs.webkit.org/show_bug.cgi?id=138378
2537         where the specificity of pseduo elements had changed, and thus iOS
2538         was inheriting some of the UA styles.
2539
2540         The fix is to add some more style rules to ensure that the timeline track
2541         is drawn in white.
2542
2543         * Modules/mediacontrols/mediaControlsiOS.css:
2544         (audio::-webkit-media-controls-timeline): Border rules not needed here.
2545         (video::-webkit-media-controls-timeline::-webkit-slider-runnable-track): But are needed
2546         here, along with some other things.
2547         (audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Now that the runnable
2548         track has some style, we need to account for the change.
2549
2550 2014-12-12  Anders Carlsson  <andersca@apple.com>
2551
2552         Remove a workaround for a bug that was fixed in Mountain Lion
2553         https://bugs.webkit.org/show_bug.cgi?id=139605
2554
2555         Reviewed by Sam Weinig.
2556
2557         * WebCorePrefix.h:
2558         (move): Deleted.
2559
2560 2014-12-12  Zalan Bujtas  <zalan@apple.com>
2561
2562         https://bugs.webkit.org/show_bug.cgi?id=139596
2563         Subpixel rendering: REGRESSION (r163272): Fixed positioned pseudo content leaves trails while scrolling.
2564         rdar://problem/18697851
2565
2566         Reviewed by Simon Fraser.
2567
2568         Final repaint rect at FrameView::scrollContentsFastPath needs to be pixel aligned (as opposed to snap to int).
2569         However we can't pixelsnap it until after ScrollView finished transitioning to Float/LayoutRect.
2570         Use enclosing int rect for now to ensure scrolling does not leave trails.
2571
2572         Unable to test. Apparently scrolling clears trails in dumprendertree. (repaint rects are not useful either with scrolling)
2573
2574         * page/FrameView.cpp:
2575         (WebCore::FrameView::scrollContentsFastPath):
2576
2577 2014-12-12  Simon Fraser  <simon.fraser@apple.com>
2578
2579         REGRESSION (r168217): Images are cropped out during animation at jetblue.com
2580         https://bugs.webkit.org/show_bug.cgi?id=136410
2581
2582         Reviewed by Dean Jackson.
2583
2584         We were hitting the new assertion under Page::setPageScaleFactor(), which
2585         calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded()
2586         to recalcStyle().
2587
2588         * dom/Document.cpp:
2589         (WebCore::Document::recalcStyle):
2590         (WebCore::Document::updateStyleIfNeeded):
2591
2592 2014-12-12  Simon Fraser  <simon.fraser@apple.com>
2593
2594         REGRESSION (r168217): Images are cropped out during animation at jetblue.com
2595         https://bugs.webkit.org/show_bug.cgi?id=136410
2596         rdar://problem/18188533
2597
2598         Reviewed by Dean Jackson.
2599         
2600         During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
2601         the current state of an animation, which is obtained via the AnimationController.
2602         If that animation was running in a subframe, AnimationController could use a stale
2603         beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
2604         resulted in an incorrect computation of the visible rect, resulting in missing tiles.
2605         
2606         There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
2607         is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
2608         into AnimationControllerPrivate, and changes to endAnimationUpdate().
2609         
2610         The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
2611         can be called outside of style resolution. We also need some in other API functions.
2612         
2613         Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
2614         that we should have an animation batch inside FrameView::layout(). In addition, a single
2615         resolveStyle/layout should use the same animationBeginTime, so we add a batch to 
2616         updateLayoutAndStyleIfNeededRecursive().
2617         
2618         No test because it's timing-dependent. Existing tests exercise the new assertion.
2619
2620         * css/CSSComputedStyleDeclaration.cpp:
2621         (WebCore::computeRenderStyleForProperty):
2622         * page/FrameView.cpp:
2623         (WebCore::FrameView::layout):
2624         (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
2625         * page/animation/AnimationController.cpp:
2626         (WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
2627         (WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
2628         (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
2629         (WebCore::AnimationControllerPrivate::animationTimerFired):
2630         (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
2631         (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
2632         (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
2633         (WebCore::AnimationControllerPrivate::beginAnimationUpdate):
2634         (WebCore::AnimationControllerPrivate::endAnimationUpdate):
2635         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
2636         (WebCore::AnimationController::AnimationController):
2637         (WebCore::AnimationController::notifyAnimationStarted):
2638         (WebCore::AnimationController::pauseAnimationAtTime):
2639         (WebCore::AnimationController::pauseTransitionAtTime):
2640         (WebCore::AnimationController::resumeAnimationsForDocument):
2641         (WebCore::AnimationController::startAnimationsIfNotSuspended):
2642         (WebCore::AnimationController::beginAnimationUpdate):
2643         (WebCore::AnimationController::endAnimationUpdate):
2644         * page/animation/AnimationController.h:
2645         * page/animation/AnimationControllerPrivate.h:
2646
2647 2014-12-12  Roger Fong  <roger_fong@apple.com>
2648
2649         [Win] Unreviewed build fix following r177235.
2650
2651         * WebCore.vcxproj/WebCore.vcxproj:
2652
2653 2014-12-12  Roger Fong  <roger_fong@apple.com>
2654
2655         Implement EXT_blend_minmax as a WebGL 1 extension.
2656         https://bugs.webkit.org/show_bug.cgi?id=128974.
2657         <rdar://problem/19195535>
2658
2659         Reviewed by Dean Jackson.
2660
2661         Tested by:
2662         webgl/1.0.3/conformance/extensions/ext-blend-minmax.html
2663         fast/canvas/webgl/constants.html
2664
2665         Specifications for this extension:
2666         https://www.khronos.org/registry/webgl/extensions/EXT_blend_minmax/
2667
2668         * CMakeLists.txt:
2669         * DerivedSources.cpp:
2670         * DerivedSources.make:
2671         * WebCore.vcxproj/WebCore.vcxproj:
2672         * WebCore.vcxproj/WebCore.vcxproj.filters:
2673         * WebCore.xcodeproj/project.pbxproj:
2674         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2675         (WebCore::toJS):
2676         * html/canvas/EXTBlendMinMax.cpp: Added.
2677         (WebCore::EXTBlendMinMax::EXTBlendMinMax):
2678         (WebCore::EXTBlendMinMax::~EXTBlendMinMax):
2679         (WebCore::EXTBlendMinMax::getName):
2680         * html/canvas/EXTBlendMinMax.h: Added.
2681         * html/canvas/EXTBlendMinMax.idl: Added.
2682         * html/canvas/WebGLExtension.h:
2683         * html/canvas/WebGLRenderingContext.cpp:
2684         (WebCore::WebGLRenderingContext::getExtension):
2685         (WebCore::WebGLRenderingContext::getSupportedExtensions):
2686         (WebCore::WebGLRenderingContext::validateBlendEquation):
2687         * html/canvas/WebGLRenderingContext.h:
2688         * html/canvas/WebGLRenderingContext.idl:
2689         * platform/graphics/Extensions3D.h:
2690
2691 2014-12-12  Benjamin Poulain  <bpoulain@apple.com>
2692
2693         Remove the concept of simple selector from the parser
2694         https://bugs.webkit.org/show_bug.cgi?id=139575
2695
2696         Reviewed by Mark Lam.
2697
2698         We have complete support for nested selector list, we no longer
2699         need the old concept of simple selector.
2700
2701         * css/CSSParserValues.cpp:
2702         (WebCore::CSSParserSelector::isSimple): Deleted.
2703         * css/CSSParserValues.h:
2704
2705 2014-12-12  Antti Koivisto  <antti@apple.com>
2706
2707         FontGlyphs::glyphDataAndPageForCharacter cleanups
2708         https://bugs.webkit.org/show_bug.cgi?id=139584
2709
2710         Reviewed by Andreas Kling.
2711
2712         Split it up and use helper functions.
2713
2714         * WebCore.exp.in:
2715         * platform/graphics/FontGlyphs.cpp:
2716         (WebCore::FontGlyphs::determinePitch):
2717         (WebCore::FontGlyphs::realizeFontDataAt):
2718         (WebCore::FontGlyphs::glyphDataAndPageForSystemFallback):
2719         (WebCore::FontGlyphs::glyphDataAndPageForVariant):
2720
2721             Add private helpers.
2722
2723         (WebCore::FontGlyphs::glyphDataAndPageForCharacter):
2724
2725             Do the m_pages cache lookup only once and use the pointer reference afterwards.
2726
2727         * platform/graphics/FontGlyphs.h:
2728         (WebCore::FontGlyphs::fontSelector):
2729         (WebCore::FontGlyphs::widthCache):
2730         (WebCore::FontGlyphs::primaryFontData):
2731         (WebCore::FontGlyphs::isFixedPitch):
2732         (WebCore::FontGlyphs::primarySimpleFontData):
2733
2734             Also removed the mutable attribute from the fields (almost everything was marked mutable) and made the inteface
2735             non-const. The FontGlyphs member of Font is already mutable so this is not needed.
2736
2737 2014-12-12  Chris Dumez  <cdumez@apple.com>
2738
2739         Use is<>() / downcast<>() for StyleRuleBase subclasses
2740         https://bugs.webkit.org/show_bug.cgi?id=139571
2741
2742         Reviewed by Andreas Kling.
2743
2744         Use is<>() / downcast<>() for StyleRuleBase subclasses for safety and
2745         consistency.
2746
2747         No new tests, no behavior change.
2748
2749         * css/CSSFontFaceRule.cpp:
2750         (WebCore::CSSFontFaceRule::reattach):
2751         * css/CSSKeyframesRule.h:
2752         (isType):
2753         * css/CSSPageRule.cpp:
2754         (WebCore::CSSPageRule::reattach):
2755         * css/CSSStyleRule.cpp:
2756         (WebCore::CSSStyleRule::reattach):
2757         * css/CSSStyleSheet.cpp:
2758         (WebCore::CSSStyleSheet::insertRule):
2759         * css/RuleSet.cpp:
2760         (WebCore::RuleSet::addRegionRule):
2761         (WebCore::RuleSet::addChildRules):
2762         * css/StyleInvalidationAnalysis.cpp:
2763         (WebCore::shouldDirtyAllStyle):
2764         * css/StyleRule.cpp:
2765         (WebCore::StyleRuleBase::destroy):
2766         (WebCore::StyleRuleBase::copy):
2767         (WebCore::StyleRuleBase::createCSSOMWrapper):
2768         * css/StyleRule.h:
2769         (isType):
2770         (WebCore::toStyleRule): Deleted.
2771         * css/StyleRuleImport.h:
2772         (isType):
2773         * css/StyleSheetContents.cpp:
2774         (WebCore::StyleSheetContents::parserAppendRule):
2775         (WebCore::StyleSheetContents::wrapperInsertRule):
2776         (WebCore::StyleSheetContents::addSubresourceStyleURLs):
2777         (WebCore::childRulesHaveFailedOrCanceledSubresources):
2778         * css/WebKitCSSViewportRule.cpp:
2779         (WebCore::WebKitCSSViewportRule::reattach):
2780         * inspector/InspectorCSSAgent.cpp:
2781         (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
2782
2783 2014-12-12  Jer Noble  <jer.noble@apple.com>
2784
2785         [MSE] Add support for SourceBuffer.mode.
2786         https://bugs.webkit.org/show_bug.cgi?id=139265
2787
2788         Reviewed by Eric Carlson.
2789
2790         Support setting SourceBuffer's mode property, and add support for "sequence" mode. Prior
2791         to this change, "segments" mode was implied.
2792
2793         * Modules/mediasource/MediaSource.cpp:
2794         (WebCore::MediaSource::addSourceBuffer):
2795         (WebCore::MediaSource::regenerateActiveSourceBuffers):
2796         * Modules/mediasource/SourceBuffer.cpp:
2797         (WebCore::SourceBuffer::segmentsKeyword):
2798         (WebCore::SourceBuffer::sequenceKeyword):
2799         (WebCore::SourceBuffer::SourceBuffer):
2800         (WebCore::SourceBuffer::setTimestampOffset):
2801         (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
2802         (WebCore::SourceBuffer::setMode):
2803         * Modules/mediasource/SourceBuffer.h:
2804         * Modules/mediasource/SourceBuffer.idl:
2805
2806 2014-12-12  Radu Stavila  <stavila@adobe.com>
2807
2808         [SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
2809         https://bugs.webkit.org/show_bug.cgi?id=139294
2810
2811         Reviewed by Simon Fraser.
2812
2813         This patch links together all parts required for the functionality which improves 
2814         the -webkit-mask-image property by allowing it to reference a <mask> element defined 
2815         in an inline or external SVG document.
2816         Support for this new functionality has been added in a previous patch, under issue
2817         https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how
2818         the new functionality works can be found in the ChangeLog for that commit.
2819         The containsSVGDocument in ScrollView has been removed because it was added in the
2820         previous patch but is no longer required.
2821
2822         Tests: css3/masking/mask-base64.html
2823                css3/masking/mask-multiple-values.html
2824                css3/masking/mask-svg-clipped-fragmentId.html
2825                css3/masking/mask-svg-fragmentId.html
2826                css3/masking/mask-svg-inline-fragmentId.html
2827                css3/masking/mask-svg-inline-invalid-fragmentId.html
2828                css3/masking/mask-svg-invalid-fragmentId.html
2829                css3/masking/mask-svg-no-fragmentId-tiled.html
2830                css3/masking/mask-svg-no-fragmentId.html
2831                css3/masking/mask-svg-script-entire-svg-to-mask.html
2832                css3/masking/mask-svg-script-mask-to-entire-svg.html
2833                css3/masking/mask-svg-script-mask-to-none.html
2834                css3/masking/mask-svg-script-mask-to-png.html
2835                css3/masking/mask-svg-script-none-to-mask.html
2836                css3/masking/mask-svg-script-none-to-png.html
2837                css3/masking/mask-svg-script-png-to-mask.html
2838                css3/masking/mask-svg-script-png-to-none.html
2839
2840         * css/CSSComputedStyleDeclaration.cpp:
2841         (WebCore::ComputedStyleExtractor::propertyValue):
2842         * css/CSSParser.cpp:
2843         (WebCore::CSSParser::parseFillShorthand):
2844         (WebCore::CSSParser::parseFillProperty):
2845         (WebCore::CSSParser::parseMaskImage):
2846         * css/CSSParser.h:
2847         * css/DeprecatedStyleBuilder.cpp:
2848         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
2849         * css/StyleResolver.cpp:
2850         (WebCore::StyleResolver::adjustStyleForMaskImages):
2851         (WebCore::StyleResolver::applyProperty):
2852         (WebCore::StyleResolver::loadPendingSVGDocuments):
2853         (WebCore::StyleResolver::createMaskImageOperations):
2854         (WebCore::StyleResolver::loadPendingImages):
2855         * page/animation/CSSPropertyAnimation.cpp:
2856         (WebCore::blendFunc):
2857         (WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper):
2858         (WebCore::MaskImagePropertyWrapper::equals):
2859         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
2860         * platform/graphics/MaskImageOperation.cpp:
2861         (WebCore::MaskImageOperation::~MaskImageOperation):
2862         * rendering/RenderBox.cpp:
2863         (WebCore::RenderBox::maskClipRect):
2864         * rendering/RenderBox.h:
2865         * rendering/RenderBoxModelObject.cpp:
2866         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2867         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2868         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
2869         * rendering/RenderElement.cpp:
2870         (WebCore::RenderElement::~RenderElement):
2871         (WebCore::RenderElement::updateFillImages):
2872         * rendering/RenderLayer.cpp:
2873         (WebCore::RenderLayer::calculateClipRects):
2874         * rendering/RenderLayer.h:
2875         * rendering/style/FillLayer.h:
2876         * rendering/style/RenderStyle.cpp:
2877         (WebCore::RenderStyle::setMaskImage):
2878         * rendering/style/RenderStyle.h:
2879
2880 2014-12-12  Csaba Osztrogonác  <ossy@webkit.org>
2881
2882         Fix the !ENABLE(SVG_FONTS) build after r177078
2883         https://bugs.webkit.org/show_bug.cgi?id=139578
2884
2885         Reviewed by Martin Robinson.
2886
2887         * platform/graphics/cairo/FontCairo.cpp:
2888         (WebCore::Font::dashesForIntersectionsWithRect):
2889
2890 2014-12-12  Zalan Bujtas  <zalan@apple.com>
2891
2892         Simple line layout: Add 16bit support.
2893         https://bugs.webkit.org/show_bug.cgi?id=139469
2894
2895         Reviewed by Antti Koivisto.
2896
2897         This patch adds the 16bit support to simple line layout.
2898
2899         Test: fast/inline/simple-line-layout-16bit-content.html
2900
2901         * rendering/SimpleLineLayout.cpp:
2902         (WebCore::SimpleLineLayout::canUseFor):
2903         * rendering/SimpleLineLayoutFlowContents.cpp:
2904         (WebCore::SimpleLineLayout::nextBreakablePosition):
2905         (WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
2906         (WebCore::SimpleLineLayout::findNextNonWhitespace):
2907         (WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
2908         (WebCore::SimpleLineLayout::FlowContents::textWidth):
2909         (WebCore::SimpleLineLayout::FlowContents::runWidth):
2910         * rendering/SimpleLineLayoutFlowContents.h:
2911         * rendering/SimpleLineLayoutResolver.cpp:
2912         (WebCore::SimpleLineLayout::RunResolver::Run::text):
2913
2914 2014-12-12  ChangSeok Oh  <changseok.oh@collabora.com>
2915
2916         Implement MemoryPressureHandler for Linux system
2917         https://bugs.webkit.org/show_bug.cgi?id=123532
2918
2919         Reviewed by Sergio Villar Senin.
2920
2921         This is an initial implementation to support MemoryPressureHandler for linux system.
2922         The patch is based on Tomeu's last patch and improved on top of it.
2923         Most of current linux distributions support cgroup, so that we use the memory.pressure_level
2924         mechanism of cgroup to get notifications when an application reaches the 'low' memory
2925         pressure level.
2926
2927         No new tests since no engine behavior changed.
2928
2929         * PlatformEfl.cmake:
2930         * PlatformGTK.cmake:
2931         * platform/MemoryPressureHandler.cpp:
2932         (WebCore::MemoryPressureHandler::MemoryPressureHandler):
2933         * platform/MemoryPressureHandler.h:
2934         * platform/linux/MemoryPressureHandlerLinux.cpp: Added.
2935         (WebCore::nextToken):
2936         (WebCore::MemoryPressureHandler::~MemoryPressureHandler):
2937         (WebCore::MemoryPressureHandler::waitForMemoryPressureEvent): run in a seperated thread
2938         to listen 'low' level event.
2939         (WebCore::MemoryPressureHandler::logErrorAndCloseFDs):
2940         (WebCore::MemoryPressureHandler::install):
2941         (WebCore::MemoryPressureHandler::uninstall):
2942         (WebCore::MemoryPressureHandler::holdOffTimerFired):
2943         (WebCore::MemoryPressureHandler::holdOff):
2944         (WebCore::MemoryPressureHandler::respondToMemoryPressure):
2945         (WebCore::MemoryPressureHandler::platformReleaseMemory):
2946         (WebCore::MemoryPressureHandler::ReliefLogger::platformLog):
2947         (WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage): read /proc/self/status
2948         to get VM amount used by current process.
2949
2950 2014-12-12  Simon Fraser  <simon.fraser@apple.com>
2951
2952         Layer borders on contentsLayers don't correctly toggle with the rest of the borders
2953         https://bugs.webkit.org/show_bug.cgi?id=139570
2954         rdar://problem/18007746
2955
2956         Reviewed by Tim Horton.
2957         
2958         The "Show Debug Borders" toggle didn't cleanly remove layer borders from
2959         content layers (image, video), nor did it deal with cloned layers (reflections).
2960         
2961         Fix by making updateDebugBorder() update the layer borders on the contents
2962         layer and cloned layers, moving some code around to avoid having colors
2963         in more than one place. If the borders are hidden, send an invalid color
2964         to PlatformCALayer::setBorderColor(), which now knows to remove the color
2965         property on the layer (to avoid leaving transparent border color properties
2966         on CALayers).
2967
2968         * platform/graphics/ca/GraphicsLayerCA.cpp:
2969         (WebCore::setLayerDebugBorder):
2970         (WebCore::contentsLayerDebugBorderColor):
2971         (WebCore::cloneLayerDebugBorderColor):
2972         (WebCore::GraphicsLayerCA::updateDebugBorder):
2973         (WebCore::GraphicsLayerCA::setDebugBorder):
2974         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2975         (PlatformCALayerMac::setBorderColor):
2976
2977 2014-12-11  Joseph Pecoraro  <pecoraro@apple.com>
2978
2979         Web Inspector: Crash when trying to inspect LocalStorage
2980         https://bugs.webkit.org/show_bug.cgi?id=139573
2981
2982         Reviewed by Anders Carlsson.
2983
2984         Move away from PageGroup::localStorage and instead to StorageNamespaceProvider.
2985         This matches what DOMWindow::localStorage does to get the StorageArea for a document.
2986
2987         * inspector/InspectorDOMStorageAgent.cpp:
2988         (WebCore::InspectorDOMStorageAgent::findStorageArea):
2989
2990 2014-12-11  Simon Fraser  <simon.fraser@apple.com>
2991
2992         Transform-style should not kill position:fixed
2993         https://bugs.webkit.org/show_bug.cgi?id=138122
2994
2995         Reviewed by Dean Jackson.
2996         
2997         Various bits of rendering code checked RenderObject::hasTransform() for various
2998         reasons. Confusingly, this meant "has transform, or preserve-3d, or perspective".
2999         
3000         This patch teases those behaviors apart to produce the following behavior:
3001         
3002         1. "transform" acts as containing block for fixed position (no behavior change).
3003         2. "transform" acts as containing block for absolute/relative position (no behavior change).
3004         3. "perspective" does not act as containing block for fixed position (no behavior change).
3005         4. "perspective" acts as containing block for absolute/relative position (no behavior change).
3006         5. "preserve-3d" does not act as containing block for fixed position (behavior change).
3007         6. "preserve-3d" acts as containing block for absolute/relative position. This is not a
3008         behavior change, but seems like incorrect behavior (https://www.w3.org/Bugs/Public/show_bug.cgi?id=27566).
3009         However, we may be forced to keep it for compatibility.
3010         
3011         The gist of the change is to rename RenderObject::hasTransform() to RenderObject::hasTransformRelatedProperty(),
3012         and add hasTransform() with the more restrictive meaning. All call sites of hasTransform() were examined
3013         and fixed to produce the desired behaviors.
3014
3015         Tests: transforms/2d/perspective-not-fixed-container.html
3016                transforms/2d/preserve3d-not-fixed-container.html
3017                transforms/perspective-is-containing-block-for-absolute.html
3018                transforms/preserve3d-is-containing-block-for-absolute.html
3019                transforms/transform-is-containing-block-for-absolute.html
3020
3021         * css/CSSComputedStyleDeclaration.cpp:
3022         (WebCore::computedTransform): Now we can just test hasTransform().
3023         * rendering/LogicalSelectionOffsetCaches.h:
3024         (WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): For now, this
3025         can just use hasTransformRelatedProperty(), but if we change [6] above this will have
3026         to change (as documented in the comment). Also FIXME comments about sharing code.
3027         * rendering/RenderBox.cpp:
3028         (WebCore::RenderBox::updateFromStyle):
3029         (WebCore::RenderBox::mapLocalToContainer): Can just use hasTransform() now.
3030         (WebCore::RenderBox::pushMappingToContainer): Ditto.
3031         (WebCore::RenderBox::mapAbsoluteToLocalPoint): Ditto.
3032         (WebCore::RenderBox::layoutOverflowRectForPropagation): Ditto.
3033         * rendering/RenderBox.h: All transform-related properties create RenderLayers.
3034         * rendering/RenderBoxModelObject.h: Ditto.
3035         * rendering/RenderElement.cpp:
3036         (WebCore::RenderElement::styleWillChange):
3037         * rendering/RenderGeometryMap.cpp:
3038         (WebCore::canMapBetweenRenderersViaLayers): Rename to clarify. We need to not map via
3039         layers if we have a perspective (since we need to generate a perspective matrix). It's
3040         OK with preserve-3d though.
3041         (WebCore::RenderGeometryMap::pushMappingsToAncestor):
3042         (WebCore::canMapBetweenRenderers): Deleted.
3043         * rendering/RenderInline.cpp:
3044         (WebCore::RenderInline::updateFromStyle):
3045         * rendering/RenderLayer.cpp:
3046         (WebCore::RenderLayer::updateTransform): Can just check hasTransform().
3047         (WebCore::RenderLayer::updateLayerPosition): Avoid calling parent() and enclosingPositionedAncestor() twice.
3048         (WebCore::RenderLayer::perspectiveTransform): Do the fast bit check hasTransformRelatedProperty() first.
3049         (WebCore::RenderLayer::perspectiveOrigin): Ditto.
3050         (WebCore::isContainerForPositioned): This code has to now have different behavior for absolute and fixed
3051         position. Changed it to call existing functions, rather than having a 3rd place that has to know about
3052         containing block rules.
3053         (WebCore::RenderLayer::enclosingAncestorForPosition): Call isContainerForPositioned() now.
3054         (WebCore::accumulateOffsetTowardsAncestor): Call enclosingAncestorForPosition().
3055         (WebCore::RenderLayer::createLocalTransformState):
3056         (WebCore::RenderLayer::calculateClipRects):
3057         (WebCore::isPositionedContainer): Deleted.
3058         (WebCore::isFixedPositionedContainer): Deleted.
3059         (WebCore::RenderLayer::enclosingPositionedAncestor): Deleted.
3060         * rendering/RenderLayer.h:
3061         * rendering/RenderLayerBacking.cpp:
3062         (WebCore::RenderLayerBacking::updateGeometry):
3063         * rendering/RenderLayerModelObject.cpp:
3064         (WebCore::RenderLayerModelObject::styleDidChange):
3065         * rendering/RenderObject.cpp:
3066         (WebCore::RenderObject::shouldUseTransformFromContainer): Can just check hasTransform() now.
3067         (WebCore::RenderObject::container):
3068         * rendering/RenderObject.h:
3069         (WebCore::RenderObject::hasTransformRelatedProperty):
3070         (WebCore::RenderObject::hasTransform):
3071         (WebCore::RenderObject::setHasTransformRelatedProperty):
3072         (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
3073         (WebCore::RenderObject::setHasTransform): Deleted.
3074         * rendering/RenderTableRow.h:
3075         * rendering/RenderView.cpp:
3076         (WebCore::RenderView::mapLocalToContainer): nullptr goodness.
3077         (WebCore::RenderView::pushMappingToContainer): Ditto.
3078         (WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.
3079
3080 2014-12-11  Rich Tibbett <rich.tibbett@gmail.com>
3081
3082         [iOS] Normalize iOS DeviceOrientation beta/gamma per spec.
3083         https://bugs.webkit.org/show_bug.cgi?id=137134
3084         <radr://problem/9414459>
3085
3086         Reviewed by Benjamin Poulain.
3087
3088         Normalize DeviceOrientation beta and gamma on iOS to match the
3089         conventions defined in the W3C DeviceOrientation Events specification.
3090
3091         beta values are returned in the range [-180, 180). gamma values are
3092         returned in the range [-90, 90).
3093
3094         * platform/ios/WebCoreMotionManager.mm:
3095
3096 2014-12-11  Commit Queue  <commit-queue@webkit.org>
3097
3098         Unreviewed, rolling out r177081.
3099         https://bugs.webkit.org/show_bug.cgi?id=139569
3100
3101         broke iOS video playback (Requested by eric_carlson on
3102         #webkit).
3103
3104         Reverted changeset:
3105
3106         "Fix iOS builders for 8.0"
3107         https://bugs.webkit.org/show_bug.cgi?id=139495
3108         http://trac.webkit.org/changeset/177081
3109
3110 2014-12-11  Roger Fong  <roger_fong@apple.com>
3111
3112         Unreviewed. Fix to build fix in r177134.
3113
3114         * html/canvas/WebGLDrawBuffers.cpp: iOS should query the system for GL extension availability.
3115
3116 2014-12-10  Roger Fong  <roger_fong@apple.com>
3117
3118         Implement frag depth as a WebGL 1 extension.
3119         https://bugs.webkit.org/show_bug.cgi?id=133635.
3120         <rdar://problem/19195381>
3121
3122         Reviewed by Dean Jackson.
3123
3124         Test:
3125         webgl/1.0.3/conformance/extensions/ext-frag-depth.html
3126
3127         Spec for this extension outlined here:
3128         http://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/
3129
3130         * CMakeLists.txt:
3131         * DerivedSources.cpp:
3132         * DerivedSources.make:
3133         * WebCore.vcxproj/WebCore.vcxproj:
3134         * WebCore.vcxproj/WebCore.vcxproj.filters:
3135         * WebCore.xcodeproj/project.pbxproj:
3136         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3137         (WebCore::toJS):
3138         * html/canvas/EXTFragDepth.cpp: Added.
3139         (WebCore::EXTFragDepth::EXTFragDepth):
3140         (WebCore::EXTFragDepth::~EXTFragDepth):
3141         (WebCore::EXTFragDepth::getName):
3142         * html/canvas/EXTFragDepth.h: Added.
3143         * html/canvas/EXTFragDepth.idl: Added.
3144         * html/canvas/WebGLExtension.h:
3145         * html/canvas/WebGLRenderingContext.cpp:
3146         (WebCore::WebGLRenderingContext::getExtension):
3147         (WebCore::WebGLRenderingContext::getSupportedExtensions):
3148         * html/canvas/WebGLRenderingContext.h:
3149         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3150         (WebCore::Extensions3DOpenGL::supportsExtension):
3151         * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
3152         (WebCore::Extensions3DOpenGLCommon::ensureEnabled):
3153
3154 2014-12-11  Chris Dumez  <cdumez@apple.com>
3155
3156         Optimize RenderElement::rendererForRootBackground() a bit
3157         https://bugs.webkit.org/show_bug.cgi?id=139527
3158
3159         Reviewed by Andreas Kling.
3160
3161         Optimize RenderElement::rendererForRootBackground() a bit by not
3162         calling Document::body(). We are only interested in the child element
3163         with a <body> tag. However, Document::body() first checks if a
3164         <frameset> child is present.
3165
3166         No new tests, no behavior change.
3167
3168         * rendering/RenderElement.cpp:
3169         (WebCore::RenderElement::rendererForRootBackground):
3170
3171 2014-12-11  Brendan Long  <b.long@cablelabs.com>
3172
3173         Remove DataCue "text" attribute
3174         https://bugs.webkit.org/show_bug.cgi?id=139461
3175
3176         Reviewed by Eric Carlson.
3177
3178         * html/track/DataCue.cpp:
3179         * html/track/DataCue.h:
3180         * html/track/DataCue.idl:
3181
3182 2014-12-11  Alexey Proskuryakov  <ap@apple.com>
3183
3184         Initialize m_ownsGeneratedFile when decoding a FormDataElement
3185         https://bugs.webkit.org/show_bug.cgi?id=139566
3186
3187         Reviewed by Tim Horton.
3188
3189         No tests, because it's random, and I couldn't reproduce an assertion failure in
3190         controlled circumstances.
3191
3192         * platform/network/FormData.h: (WebCore::FormDataElement::decode): A newly created
3193         FormDataElement by definition doesn't own the file.
3194
3195 2014-12-11  Anders Carlsson  <andersca@apple.com>
3196
3197         Fix Windows build.
3198
3199         * WebCore.vcxproj/WebCore.vcxproj:
3200         * WebCore.vcxproj/WebCore.vcxproj.filters:
3201
3202 2014-12-11  Timothy Horton  <timothy_horton@apple.com>
3203
3204         Fix the build.
3205
3206         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
3207
3208 2014-12-11  Timothy Horton  <timothy_horton@apple.com>
3209
3210         Fix the build.
3211
3212         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
3213
3214 2014-12-11  Timothy Horton  <timothy_horton@apple.com>
3215
3216         Move the preview popover to WKImmediateActionController
3217         https://bugs.webkit.org/show_bug.cgi?id=139560
3218         <rdar://problem/19208291>
3219
3220         Reviewed by Beth Dakin.
3221
3222         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
3223         Add some requisite SPI.
3224
3225 2014-12-11  Jer Noble  <jer.noble@apple.com>
3226
3227         [Mac] Crash in -[WebVideoFullscreenHUDWindowController playing] in WK1 clients without FULLSCREEN_API enabled.
3228         https://bugs.webkit.org/show_bug.cgi?id=139546
3229
3230         Reviewed by Eric Carlson.
3231
3232         Finish the work started by r173230 and rename mediaElement -> videoElement in WebVideoFullscreenHUDWindowController.
3233
3234         * platform/mac/WebVideoFullscreenHUDWindowController.h:
3235         * platform/mac/WebVideoFullscreenHUDWindowController.mm:
3236         (-[WebVideoFullscreenHUDWindowController endScrubbing]):
3237         (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
3238         (-[WebVideoFullscreenHUDWindowController currentTime]):
3239         (-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
3240         (-[WebVideoFullscreenHUDWindowController duration]):
3241         (-[WebVideoFullscreenHUDWindowController decrementVolume]):
3242         (-[WebVideoFullscreenHUDWindowController incrementVolume]):
3243         (-[WebVideoFullscreenHUDWindowController volume]):
3244         (-[WebVideoFullscreenHUDWindowController setVolume:]):
3245         (-[WebVideoFullscreenHUDWindowController playing]):
3246         (-[WebVideoFullscreenHUDWindowController setPlaying:]):
3247         (-[WebVideoFullscreenHUDWindowController remainingTimeText]):
3248         (-[WebVideoFullscreenHUDWindowController elapsedTimeText]):
3249         (-[WebVideoFullscreenHUDWindowController rewind:]):
3250         (-[WebVideoFullscreenHUDWindowController fastForward:]):
3251
3252 2014-12-11  Anders Carlsson  <andersca@apple.com>
3253
3254         Fix iOS build.
3255
3256         * storage/StorageTracker.cpp:
3257         (WebCore::StorageTracker::syncDeleteAllOrigins):
3258
3259 2014-12-11  Anders Carlsson  <andersca@apple.com>
3260
3261         Stop using SQLiteFileSystem in the storage code
3262         https://bugs.webkit.org/show_bug.cgi?id=139549
3263
3264         Reviewed by Sam Weinig.
3265
3266         Just inline the SQLiteFileSystem calls into their respective call sites.
3267         This is more preparation for moving the old storage code into WebKit proper.
3268
3269         * storage/StorageAreaSync.cpp:
3270         (WebCore::StorageAreaSync::deleteEmptyDatabase):
3271         * storage/StorageTracker.cpp:
3272         (WebCore::StorageTracker::trackerDatabasePath):
3273         (WebCore::ensureDatabaseFileExists):
3274         (WebCore::StorageTracker::openTrackerDatabase):
3275         (WebCore::truncateDatabaseFile):
3276         (WebCore::StorageTracker::syncDeleteAllOrigins):
3277         (WebCore::StorageTracker::syncDeleteOrigin):
3278         (WebCore::StorageTracker::diskUsageForOrigin):
3279
3280 2014-12-11  Alexey Proskuryakov  <ap@apple.com>
3281
3282         Unreviewed, rolling out r177155.
3283
3284         Caused crashes on webarchive tests.
3285
3286         Reverted changeset:
3287
3288         "[SVG Masking] Enable the use of <mask> elements for -webkit-
3289         mask-image"
3290         https://bugs.webkit.org/show_bug.cgi?id=139294
3291         http://trac.webkit.org/changeset/177155
3292
3293 2014-12-11  Anders Carlsson  <andersca@apple.com>
3294
3295         Call StorageThread::releaseFastMallocFreeMemoryInAllThreads from WebKit
3296         https://bugs.webkit.org/show_bug.cgi?id=139547
3297
3298         Reviewed by Sam Weinig.
3299
3300         This is another step towards moving StorageThread (and friends) to WebKit.
3301
3302         * WebCore.exp.in:
3303         * WebCore.xcodeproj/project.pbxproj:
3304         * platform/MemoryPressureHandler.cpp:
3305         (WebCore::MemoryPressureHandler::releaseMemory):
3306
3307 2014-12-11  Said Abou-Hallawa  <sabouhallawa@apple.com>
3308
3309         ASSERTION FAILED: animatedTypes[0].properties.size() == 1 in WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue.
3310         https://bugs.webkit.org/show_bug.cgi?id=139046.
3311
3312         Reviewed by Dirk Schulze.
3313
3314         Test: svg/animations/unsupported-animate-element-attributes.svg.
3315         
3316         The SVG base animator element should not animate an attribute if it is not
3317         supported by the target SVG element. Besides the CSS presentation attributes, 
3318         every SVG element defines which attributes can be animated by including them
3319         between BEGIN_DECLARE_ANIMATED_PROPERTIES and END_DECLARE_ANIMATED_PROPERTIES
3320         in the definition of the class. This definition builds attribute-properties map.
3321         When restarting the animation, the animator looks for all the attributes that
3322         match the animated attribute name. If the supported attribute-properties map
3323         does not include the animated attribute name, an empty element-properties list
3324         should be returned. When getting an empty element-properties list, the animator
3325         should not start any animation for the unsupported attribute.
3326
3327         Do not start the animation if the animated attribute is not supported by 
3328         the target SVG element.
3329         * svg/SVGAnimateElementBase.cpp:
3330         (WebCore::SVGAnimateElementBase::resetAnimatedType):
3331         
3332         Return an empty element-properties list if the animated attribute is not
3333         supported by the target SVG element.
3334         * svg/SVGAnimatedTypeAnimator.cpp:
3335         (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
3336
3337 2014-12-10  Dean Jackson  <dino@apple.com>
3338
3339         InstancedArray crashes attempting to draw out of bounds
3340         https://bugs.webkit.org/show_bug.cgi?id=139521
3341
3342         Reviewed by Simon Fraser.
3343
3344         We were not doing index validation correctly for instancing.
3345
3346         Test: fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html
3347
3348         * html/canvas/WebGLRenderingContext.cpp:
3349         (WebCore::WebGLRenderingContext::validateVertexAttributes): We need to check
3350         the number of instances drawn against the amount of instance data that has
3351         been provided, taking into account the number of repeats (the divisor).
3352         (WebCore::WebGLRenderingContext::drawArrays): Added some whitespace to make it more clear.
3353         (WebCore::WebGLRenderingContext::validateDrawElements): This needs to take a primcount
3354         parameter so that it can correctly validate the call (when used from drawElementsInstanced).
3355         (WebCore::WebGLRenderingContext::drawElements): New signature to validate.
3356         (WebCore::WebGLRenderingContext::drawArraysInstanced): Rearrange this a bit. The
3357         primcount validation is already being done by the validateDrawArrays call. Also, there
3358         was a bogus UNUSED_PARAM hanging around.
3359         (WebCore::WebGLRenderingContext::drawElementsInstanced): Similar rearrangement. Use
3360         the primcount parameter.
3361         * html/canvas/WebGLRenderingContext.h:
3362
3363 2014-12-11  Radu Stavila  <stavila@adobe.com>
3364
3365         [SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
3366         https://bugs.webkit.org/show_bug.cgi?id=139294
3367
3368         Reviewed by Simon Fraser.
3369
3370         This patch links together all parts required for the functionality which improves 
3371         the -webkit-mask-image property by allowing it to reference a <mask> element defined 
3372         in an inline or external SVG document.
3373         Support for this new functionality has been added in a previous patch, under issue
3374         https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how
3375         the new functionality works can be found in the ChangeLog for that commit.
3376         The containsSVGDocument in ScrollView has been removed because it was added in the
3377         previous patch but is no longer required.
3378
3379         Tests: css3/masking/mask-base64.html
3380                css3/masking/mask-multiple-values.html
3381                css3/masking/mask-svg-clipped-fragmentId.html
3382                css3/masking/mask-svg-fragmentId.html
3383                css3/masking/mask-svg-inline-fragmentId.html
3384                css3/masking/mask-svg-inline-invalid-fragmentId.html
3385                css3/masking/mask-svg-invalid-fragmentId.html
3386                css3/masking/mask-svg-no-fragmentId-tiled.html
3387                css3/masking/mask-svg-no-fragmentId.html
3388                css3/masking/mask-svg-script-entire-svg-to-mask.html
3389                css3/masking/mask-svg-script-mask-to-entire-svg.html
3390                css3/masking/mask-svg-script-mask-to-none.html
3391                css3/masking/mask-svg-script-mask-to-png.html
3392                css3/masking/mask-svg-script-none-to-mask.html
3393                css3/masking/mask-svg-script-none-to-png.html
3394                css3/masking/mask-svg-script-png-to-mask.html
3395                css3/masking/mask-svg-script-png-to-none.html
3396
3397         * css/CSSComputedStyleDeclaration.cpp:
3398         (WebCore::ComputedStyleExtractor::propertyValue):
3399         * css/CSSParser.cpp:
3400         (WebCore::CSSParser::parseFillShorthand):
3401         (WebCore::CSSParser::parseFillProperty):
3402         (WebCore::CSSParser::parseMaskImage):
3403         * css/CSSParser.h:
3404         * css/DeprecatedStyleBuilder.cpp:
3405         (WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
3406         * css/StyleResolver.cpp:
3407         (WebCore::StyleResolver::adjustStyleForMaskImages):
3408         (WebCore::StyleResolver::applyProperty):
3409         (WebCore::StyleResolver::loadPendingSVGDocuments):
3410         (WebCore::StyleResolver::createMaskImageOperations):
3411         (WebCore::StyleResolver::loadPendingImages):
3412         * page/animation/CSSPropertyAnimation.cpp:
3413         (WebCore::blendFunc):
3414         (WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper):
3415         (WebCore::MaskImagePropertyWrapper::equals):
3416         (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
3417         * platform/graphics/MaskImageOperation.cpp:
3418         (WebCore::MaskImageOperation::~MaskImageOperation):
3419         * rendering/RenderBox.cpp:
3420         (WebCore::RenderBox::maskClipRect):
3421         * rendering/RenderBox.h:
3422         * rendering/RenderBoxModelObject.cpp:
3423         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3424         (WebCore::RenderBoxModelObject::calculateFillTileSize):
3425         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
3426         * rendering/RenderElement.cpp:
3427         (WebCore::RenderElement::~RenderElement):
3428         (WebCore::RenderElement::updateFillImages):
3429         * rendering/RenderLayer.cpp:
3430         (WebCore::RenderLayer::calculateClipRects):
3431         * rendering/RenderLayer.h:
3432         * rendering/style/FillLayer.h:
3433         * rendering/style/RenderStyle.cpp:
3434         (WebCore::RenderStyle::setMaskImage):
3435         * rendering/style/RenderStyle.h:
3436
3437 2014-12-09  Jeremy Jones  <jeremyj@apple.com>
3438
3439         Restore interface state when stopping optimized fullscreen.
3440         https://bugs.webkit.org/show_bug.cgi?id=139465
3441
3442         Reviewed by Simon Fraser.
3443
3444         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3445         (-[WebVideoFullscreenController fullscreenMayReturnToInline:]): add empty implementation.
3446         * platform/ios/WebVideoFullscreenInterfaceAVKit.h: add declaration
3447         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3448         (WebVideoFullscreenInterfaceAVKit::enterFullscreen): restore interface context when optimized mode ends.
3449         (WebVideoFullscreenInterfaceAVKit::setIsOptimized): restore interface context when optimized mode ends.
3450
3451 2014-12-11  Anders Carlsson  <andersca@apple.com>
3452
3453         Remove unused storage header includes
3454         https://bugs.webkit.org/show_bug.cgi?id=139540
3455
3456         Reviewed by Antti Koivisto.
3457
3458         * storage/StorageAreaImpl.cpp:
3459         * storage/StorageAreaSync.cpp:
3460         * storage/StorageNamespaceImpl.cpp:
3461         (WebCore::StorageNamespaceImpl::localStorageNamespace): Deleted.
3462         (WebCore::StorageNamespaceImpl::sessionStorageNamespace): Deleted.
3463         (WebCore::StorageNamespaceImpl::transientLocalStorageNamespace): Deleted.
3464         * storage/StorageNamespaceImpl.h:
3465         * storage/StorageSyncManager.cpp:
3466         * storage/StorageThread.cpp:
3467         * storage/StorageTracker.cpp:
3468
3469 2014-12-11  Alexey Proskuryakov  <ap@apple.com>
3470
3471         REGRESSION (Async Text Input): Text input method state is not reset when reloading a page
3472         https://bugs.webkit.org/show_bug.cgi?id=139504
3473         rdar://problem/19034674
3474
3475         Reviewed by Enrica Casucci.
3476
3477         Explicitly notify EditorClient when a composition is voluntarily canceled by WebCore.
3478         These are almost certainly not all the places where this happens, but this fixes the bug,
3479         and lays the groundwork for using this new client call instead of didChangeSelection
3480         hacks.
3481
3482         * editing/Editor.cpp:
3483         (WebCore::Editor::clear):
3484         (WebCore::Editor::cancelComposition):
3485         * loader/EmptyClients.h:
3486         * loader/FrameLoader.cpp:
3487         (WebCore::FrameLoader::willTransitionToCommitted):
3488         * page/EditorClient.h:
3489
3490 2014-12-10  Anders Carlsson  <andersca@apple.com>
3491
3492         Get rid of the storage strategy
3493         https://bugs.webkit.org/show_bug.cgi?id=139519
3494
3495         Reviewed by Antti Koivisto.
3496
3497         * CMakeLists.txt:
3498         * WebCore.exp.in:
3499         * WebCore.vcxproj/WebCore.vcxproj:
3500         * WebCore.vcxproj/WebCore.vcxproj.filters:
3501         * WebCore.xcodeproj/project.pbxproj:
3502         * page/DOMWindow.cpp:
3503         (WebCore::DOMWindow::localStorage):
3504         * page/Page.cpp:
3505         (WebCore::Page::Page):
3506         (WebCore::Page::~Page):
3507         (WebCore::Page::sessionStorage):
3508         (WebCore::Page::setStorageNamespaceProvider):
3509         * page/Page.h:
3510         (WebCore::Page::storageNamespaceProvider):
3511         * page/PageGroup.cpp:
3512         (WebCore::PageGroup::localStorage):
3513         (WebCore::PageGroup::transientLocalStorage):
3514         * platform/PlatformStrategies.h:
3515         (WebCore::PlatformStrategies::PlatformStrategies):
3516         (WebCore::PlatformStrategies::storageStrategy): Deleted.
3517         * storage/StorageNamespace.cpp: Removed.
3518         * storage/StorageNamespace.h:
3519         * storage/StorageStrategy.cpp: Removed.
3520         * storage/StorageStrategy.h: Removed.
3521
3522 2014-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
3523
3524         [GTK] Move click counter logic back to WebKitWebViewBase
3525         https://bugs.webkit.org/show_bug.cgi?id=137685
3526
3527         Reviewed by Martin Robinson.
3528
3529         Remove GtkClickCounter.
3530
3531         * PlatformGTK.cmake:
3532         * platform/gtk/GtkClickCounter.cpp: Removed.
3533         * platform/gtk/GtkClickCounter.h: Removed.
3534
3535 2014-12-11  Carlos Garcia Campos  <cgarcia@igalia.com>
3536
3537         [GTK] Implement sizes attribute for link tag
3538         https://bugs.webkit.org/show_bug.cgi?id=125775
3539
3540         Reviewed by Martin Robinson.
3541
3542         * bindings/gobject/WebKitDOMCustom.cpp:
3543         (webkit_dom_html_link_element_set_sizes): Add custom setter implementation.
3544         * bindings/gobject/WebKitDOMCustomUnstable.h:
3545         * bindings/js/JSHTMLLinkElementCustom.cpp:
3546         (WebCore::JSHTMLLinkElement::sizes): Remove custom getter implementation.
3547         * bindings/scripts/CodeGeneratorGObject.pm:
3548         (HasUnstableCustomAPI): Mark WebKitDOMHTMLLinkElement as having custom unstable API.
3549         * html/HTMLLinkElement.idl: Mark sizes attribute as CustomSetter
3550         instead of Custom, since the getter can be autogenerated, and make
3551         it available to the GObject DOM bindings too.
3552
3553 2014-12-10  Chris Dumez  <cdumez@apple.com>
3554
3555         http://omfgdogs.info/ only animates when you resize the window
3556         https://bugs.webkit.org/show_bug.cgi?id=139435
3557         <rdar://problem/19190493>
3558
3559         Reviewed by Simon Fraser.
3560
3561         After r163928, we would fail to animate a gif if:
3562         - it is used as a background image of a 0-height html element
3563         - it is used as a background image of a 0-height body element whose
3564           background is delegated to the root (because the root has no
3565           background).
3566
3567         This is because in such cases, shouldRepaintForImageAnimation()
3568         should use the background rect instead of the renderer's overflow
3569         rect to determine if the image is inside the viewport. Both cases
3570         are addressed in this patch.
3571
3572         Tests: fast/images/animated-gif-body-delegated-background-image.html
3573                fast/images/animated-gif-body-outside-viewport.html
3574                fast/images/animated-gif-html-background-image.html
3575
3576         * rendering/RenderElement.cpp:
3577         (WebCore::shouldRepaintForImageAnimation):
3578         * testing/Internals.cpp:
3579         (WebCore::Internals::hasPausedImageAnimations):
3580         * testing/Internals.h:
3581         * testing/Internals.idl:
3582
3583 2014-12-10  Timothy Horton  <timothy_horton@apple.com>
3584
3585         Fix the build.
3586
3587         * html/canvas/WebGLDrawBuffers.cpp:
3588         Yosemite is 101000, not 10100.
3589         Also, __MAC_OS_X_VERSION_MIN_REQUIRED is only defined for PLATFORM(MAC).
3590
3591 2014-12-10  Zalan Bujtas  <zalan@apple.com>
3592
3593         Continuously repainting large parts of Huffington Post.
3594         https://bugs.webkit.org/show_bug.cgi?id=139468
3595
3596         Reviewed by Antti Koivisto.
3597
3598         This patch eliminates redundant repaint requests for inlines when neither the parent
3599         block flow nor any of the inline children are dirty.
3600         Previously,
3601         1. simple line layout always recalculated inline content positions regardless of whether
3602         the content needed relayout at all; as a result, it always triggered full repaint.
3603         2. inline tree layout ignored the needslayout flag on the last line and treated it dirty
3604         (unless it broke cleanly (<div>foo<br></div>)).
3605         This was an ancient workaround for an editing/insert use case, but it seems not to be the case anymore.
3606
3607         Tests: fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html
3608                fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html
3609
3610         * rendering/RenderBlockFlow.cpp:
3611         (WebCore::RenderBlockFlow::layoutInlineChildren):
3612         (WebCore::RenderBlockFlow::layoutSimpleLines): Check if we need to trigger layout at all.
3613         * rendering/RenderBlockFlow.h:
3614         * rendering/RenderBlockLineLayout.cpp:
3615         (WebCore::RenderBlockFlow::determineStartPosition): Remove the last line dirty hack. If it
3616         happens to introduce regression, we should fix it at the caller site to make the line dirty.
3617
3618 2014-12-10  Anders Carlsson  <andersca@apple.com>
3619
3620         Add an empty storage namespace provider
3621         https://bugs.webkit.org/show_bug.cgi?id=139520
3622
3623         Reviewed by Tim Horton.
3624
3625         * loader/EmptyClients.cpp:
3626         (WebCore::fillWithEmptyClients):
3627
3628 2014-12-10  Beth Dakin  <bdakin@apple.com>
3629
3630         Speculative build fix.
3631
3632         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
3633
3634 2014-12-10  Beth Dakin  <bdakin@apple.com>
3635
3636         WK2: Add initial support for immediate actions
3637         https://bugs.webkit.org/show_bug.cgi?id=139511
3638
3639         Reviewed by Tim Horton.
3640
3641         SPI needed for immediate actions.
3642         * WebCore.xcodeproj/project.pbxproj:
3643         * platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: Added.
3644
3645 2014-12-10  Martin Hock  <mhock@apple.com>
3646
3647         [iOS] Add setting to ignore viewport scaling constraints
3648         https://bugs.webkit.org/show_bug.cgi?id=139466
3649         <rdar://problem/19200328>
3650
3651         Reviewed by Benjamin Poulain.
3652
3653         * WebCore.exp.in:
3654         * page/Settings.in: Add setting to ignore viewport scaling constraints.
3655         * page/ViewportConfiguration.cpp: Ignore viewport scaling constraints based on preference.
3656         (WebCore::ViewportConfiguration::initialScale):
3657         (WebCore::ViewportConfiguration::minimumScale):
3658         (WebCore::ViewportConfiguration::allowsUserScaling):
3659         * page/ViewportConfiguration.h:
3660         (WebCore::ViewportConfiguration::setIgnoreScalingConstraints):
3661         (WebCore::ViewportConfiguration::allowsUserScaling): Moved to cpp.
3662
3663 2014-12-10  Andreas Kling  <akling@apple.com>
3664
3665         Speculative fix for assertion "frame().view() == this"
3666         <rdar://problem/18419449>
3667
3668         Rubber-stamped by Anders Carlsson.
3669
3670         I have not reproduced this issue, but we can safely ignore animation
3671         notifications for cached pages.
3672
3673         * rendering/RenderElement.cpp:
3674         (WebCore::RenderElement::newImageAnimationFrameAvailable):
3675
3676 2014-12-10  Anders Carlsson  <andersca@apple.com>
3677
3678         Add session storage handling to StorageNamespaceProvider
3679         https://bugs.webkit.org/show_bug.cgi?id=139507
3680
3681         Reviewed by Tim Horton.
3682
3683         * page/Page.cpp:
3684         (WebCore::Page::sessionStorage):
3685         * storage/StorageNamespaceProvider.h:
3686
3687 2014-12-10  Roger Fong  <roger_fong@apple.com>
3688
3689         Unreviewed. Follow-up patch to r177099.
3690         https://bugs.webkit.org/show_bug.cgi?id=133634
3691         <rdar://problem/15949588>
3692
3693         Enable GL_EXT_draw_buffers on iOS as well.
3694         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
3695         (WebCore::Extensions3DOpenGL::supportsExtension):
3696
3697 2014-12-10  Roger Fong  <roger_fong@apple.com>
3698
3699         Implement Multiple Render Targets as WebGL 1 extension.
3700         https://bugs.webkit.org/show_bug.cgi?id=133634.
3701         <rdar://problem/15949588>
3702
3703         Reviewed by Brent Fulgham.
3704
3705         Tested by:
3706         webgl/1.0.3/conformance/extensions/webgl-draw-buffers.html
3707
3708         Enable the implementation now that an underlying driver bug has been resolved.
3709         Do not enable for desktop platforms older that OS X 10.10.
3710         * html/canvas/WebGLDrawBuffers.cpp:
3711         (WebCore::WebGLDrawBuffers::supported):
3712
3713 2014-12-10  Ryosuke Niwa  <rniwa@webkit.org>
3714
3715         REGRESSION(r164329): Input fields are not honoring the maxlength attribute
3716         https://bugs.webkit.org/show_bug.cgi?id=139447
3717
3718         Reviewed by Benjamin Poulain.
3719
3720         The bug was caused by String::substring being called with the selection's end offset
3721         in the second argument instead of the selection's length in handleBeforeTextInsertedEvent.
3722
3723         Fixed the bug by passing the right second argument to String::substring.
3724
3725         Test: fast/forms/input-maxlength-inserting-in-middle.html
3726
3727         * html/TextFieldInputType.cpp:
3728         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
3729
3730 2014-12-10  Anders Carlsson  <andersca@apple.com>
3731
3732         Add a missing null check.
3733
3734         * page/Page.cpp:
3735         (WebCore::Page::~Page):
3736
3737 2014-12-10  Antti Koivisto  <antti@apple.com>
3738
3739         Crash when creating CSSCalcBinaryOperation
3740         https://bugs.webkit.org/show_bug.cgi?id=134886
3741         rdar://problem/17663561
3742
3743         Reviewed by Chris Dumez.
3744
3745         Test: fast/css/calc-binary-operation-crash.html
3746
3747         * css/CSSCalculationValue.cpp:
3748         (WebCore::determineCategory):
3749
3750         Ensure that both axis are within the addSubtractResult table.
3751         Remove unneeded CalcOther test. The call site guarantees it doesn't happen and the normal cases would handle it anyway.
3752         Also strengthen some asserts.
3753
3754 2014-12-10  Anders Carlsson  <andersca@apple.com>
3755
3756         Add WebStorageNamespaceProvider::closeLocalStorage
3757         https://bugs.webkit.org/show_bug.cgi?id=139502
3758
3759         Reviewed by Tim Horton.
3760
3761         * page/Page.cpp:
3762         (WebCore::Page::~Page):
3763         Call StorageNamespaceProvider::removePage.
3764
3765         * storage/StorageNamespaceProvider.h:
3766         (WebCore::StorageNamespaceProvider::optionalLocalStorageNamespace):
3767         Helper function that returns the local storage namespace if one exists.
3768
3769 2014-12-10  Joanmarie Diggs  <jdiggs@igalia.com>
3770
3771         AX: [ATK] MathML tokens with text fail to expose their text content via AtkText
3772         https://bugs.webkit.org/show_bug.cgi?id=139454
3773
3774         Reviewed by Chris Fleizach.
3775
3776         Expose the text content of the element for non-anonymous RenderMathMLOperators.
3777         This is needed because for ATK we expose the rendered element itself; not the
3778         descendant text renderers. Also include MathML tokens as objects which should
3779         implement AtkText.
3780
3781         Test: accessibility/math-text.html
3782
3783         * accessibility/AccessibilityRenderObject.cpp:
3784         (WebCore::AccessibilityRenderObject::textUnderElement):
3785         * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
3786         (getInterfaceMaskFromObject):
3787
3788 2014-12-10  Sebastian Dröge  <sebastian@centricular.com>
3789
3790         [GStreamer] Use appsrcs instead of unconnected queues
3791         https://bugs.webkit.org/show_bug.cgi?id=139490
3792
3793         Reviewed by Philippe Normand.
3794
3795         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3796         (webkit_web_audio_src_init):
3797         (webKitWebAudioSrcConstructed):
3798         (webKitWebAudioSrcFinalize):
3799         (webKitWebAudioSrcSetProperty):
3800         (webKitWebAudioSrcLoop):
3801         (webKitWebAudioSrcChangeState):
3802         Previously we directly chained buffers into unconnected queues,
3803         which confused some code inside GStreamer and caused some harmless
3804         warnings. Now we use appsrcs instead, which also allows us to remove
3805         quite some code.
3806
3807 2014-12-10  Enrica Casucci  <enrica@apple.com>
3808
3809         Fix iOS builders for 8.0
3810         https://bugs.webkit.org/show_bug.cgi?id=139495
3811
3812         Reviewed by Eric Carlson.
3813
3814         * WebCore.exp.in:
3815         * platform/ios/WebVideoFullscreenControllerAVKit.mm:
3816         (-[WebVideoFullscreenController enterFullscreen:mode:]):
3817         (-[WebVideoFullscreenController requestHideAndExitFullscreen]):
3818         (-[WebVideoFullscreenController enterFullscreen:]): Deleted.
3819         * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
3820
3821
3822 2014-12-10  peavo@outlook.com  <peavo@outlook.com>
3823
3824         [Curl] Cache entry is sometimes deleted when request receives a not modified response.
3825         https://bugs.webkit.org/show_bug.cgi?id=139339
3826
3827         Reviewed by Alex Christensen.
3828
3829         Sometimes it happens that a request receives a not modified response,
3830         but the cache entry has already been deleted by another request.
3831         This can be avoided by locking a cache entry while there are pending
3832         requests for the cache entry's url.
3833
3834         * platform/network/curl/CurlCacheEntry.h:
3835         (WebCore::CurlCacheEntry::addClient):
3836         (WebCore::CurlCacheEntry::removeClient):
3837         (WebCore::CurlCacheEntry::hasClients):
3838         * platform/network/curl/CurlCacheManager.cpp:
3839         (WebCore::CurlCacheManager::didReceiveResponse):
3840         (WebCore::CurlCacheManager::didFail):
3841         (WebCore::CurlCacheManager::addCacheEntryClient):
3842         (WebCore::CurlCacheManager::removeCacheEntryClient):
3843         * platform/network/curl/CurlCacheManager.h:
3844         * platform/network/curl/ResourceHandleManager.cpp:
3845         (WebCore::isHttpNotModified):
3846         (WebCore::headerCallback):
3847         (WebCore::ResourceHandleManager::initializeHandle):
3848
3849 2014-12-10  Sebastian Dröge  <sebastian@centricular.com>
3850
3851         [GStreamer] Use a buffer pool for allocations in the AudioDestination
3852         https://bugs.webkit.org/show_bug.cgi?id=139487
3853
3854         Reviewed by Philippe Normand.
3855
3856         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
3857         (webKitWebAudioSrcLoop):
3858         (webKitWebAudioSrcChangeState):
3859         Use a buffer pool for the allocations instead of allocating a
3860         new small buffer for every 128 samples we produce.
3861
3862 2014-12-10  Martin Robinson  <mrobinson@igalia.com>
3863
3864         [GTK] Add support for text-decoration-skip
3865         https://bugs.webkit.org/show_bug.cgi?id=131540
3866
3867         Reviewed by Gustavo Noronha Silva.
3868
3869         No new tests. This is covered by existing layout tests.
3870
3871         * platform/graphics/cairo/FontCairo.cpp:
3872         (WebCore::GlyphIterationState): Added this class, a modified version of the Mac
3873         port's implementation.
3874         (WebCore::Font::dashesForIntersectionsWithRect): Ditto.
3875         * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
3876         (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added an implementation for
3877         HarfBuzz that just fills out the GlyphBuffer, but does not render it.
3878         (WebCore::Font::drawComplexText): Use the new getGlyphsAndAdvancesForComplexText
3879         in a similar way to the Mac port.
3880         * platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
3881         (WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): We need to pass the current
3882         character index to GlyphBuffer:add since it's used by dashesForIntersectionsWithRect
3883         and otherwise it will be uninitialized when we try to access it.
3884
3885 2014-12-10  Andreas Kling  <akling@apple.com>
3886
3887         REGRESSION(r177048) 11 failures on layout tests fast/selectors.
3888         <https://webkit.org/b/139483>
3889
3890         Unreviewed fix for bots.
3891
3892         When rolling out the broken change, I accidentally also rolled out
3893         a bug fix that Benjamin had made to sibling invalidation.
3894         Restore his implementation of nodeOrItsAncestorNeedsStyleRecalc().
3895
3896         * css/CSSComputedStyleDeclaration.cpp:
3897         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
3898         (WebCore::updateStyleIfNeededForNode):
3899         (WebCore::ComputedStyleExtractor::propertyValue):
3900
3901 2014-12-08  Philippe Normand  <pnormand@igalia.com>
3902
3903         [GStreamer] AudioSourceProvider support in the MediaPlayer
3904         https://bugs.webkit.org/show_bug.cgi?id=78883
3905
3906         Reviewed by Gustavo Noronha Silva.
3907
3908         GStreamer-based audio source provider for the GTK and EFL
3909         ports. This new component gathers decoded raw audio data from the
3910         MediaPlayer and pipes it to an AudioBus when required by the
3911         User Agent.
3912
3913         * PlatformEfl.cmake: New files in the build.
3914         * PlatformGTK.cmake: Ditto.
3915         * platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp: Added.
3916         (WebCore::onAppsinkNewBufferCallback): Function called when a new
3917         buffer can be pulled from appsink.
3918         (WebCore::onGStreamerDeinterleavePadAddedCallback): Function
3919         called when a new source pad has been added to deinterleave.
3920         (WebCore::onGStreamerDeinterleaveReadyCallback): Function called
3921         when the deinterleave element completed the configuration of all
3922         its source pads.
3923         (WebCore::copyGstreamerBuffersToAudioChannel): Called for each
3924         channel of the AudioBus that needs data as input.
3925         (WebCore::AudioSourceProviderGStreamer::AudioSourceProviderGStreamer):
3926         Create an audio bin that by default routes buffers only to
3927         autoaudiosink. A new route is added if the provider has a client.
3928         (WebCore::AudioSourceProviderGStreamer::~AudioSourceProviderGStreamer):
3929         Clean buffer adapters and audio bin.
3930         (WebCore::AudioSourceProviderGStreamer::configureAudioBin):
3931         (WebCore::AudioSourceProviderGStreamer::provideInput): Transfer
3932         data from the buffer adapters to the bus channels.
3933         (WebCore::AudioSourceProviderGStreamer::handleAudioBuffer): Pull a
3934         buffer from appsink and queue it to the buffer adapter.
3935         (WebCore::AudioSourceProviderGStreamer::setClient): Complete the
3936         construction of the audio bin by adding a new chain to the tee
3937         element. This new chain will deinterleave the buffer stream to
3938         planar audio channels and route them to an appsink per channel for
3939         data extraction.
3940         (WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
3941         A new appsink after a new source pad has been added to deinterleave.
3942         (WebCore::AudioSourceProviderGStreamer::deinterleavePadsConfigured):
3943         Configure the client Node format (number of channels and sample
3944         rate) once the provider knows how many audio channels are managed
3945         by the pipeline.
3946         (WebCore::cleanUpElementsAfterDeinterleaveSourcePadCallback):
3947         (WebCore::AudioSourceProviderGStreamer::cleanUpElementsAfterDeinterleaveSourcePad):
3948         Remove the elements after the given deinterleave source pad.
3949         (WebCore::AudioSourceProviderGStreamer::reset): Cleanup the
3950         deinterleave source pads. This is especially needed before the
3951         whole pipeline goes to NULL and later on prerolls again.
3952         * platform/audio/gstreamer/AudioSourceProviderGStreamer.h: Added.
3953         (WebCore::AudioSourceProviderGStreamer::create): Use this to
3954         create the provider and get an OwnPtr of it.
3955         (WebCore::AudioSourceProviderGStreamer::client): Provider client getter.
3956         (WebCore::AudioSourceProviderGStreamer::getAudioBin): Audio bin
3957         getter, used by the media player to configure its
3958         playbin::audio-sink property.
3959         * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
3960         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3961         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
3962         Provider life cycle management and reset the audio provider before
3963         going to NULL.
3964         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Ditto.
3965         (WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult): Ditto.
3966         (WebCore::MediaPlayerPrivateGStreamer::cancelLoad): Ditto.
3967         (WebCore::MediaPlayerPrivateGStreamer::didEnd): Ditto.
3968         (WebCore::MediaPlayerPrivateGStreamer::createAudioSink): Configure
3969         the audio source provider if needed.
3970         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
3971         (WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider):
3972         Provider getter, used by MediaPlayer and MediaElement.
3973
3974 2014-12-09  Myles C. Maxfield  <mmaxfield@apple.com>
3975
3976         Scrolling to anchor tags does nothing in vertical-rl writing mode
3977         https://bugs.webkit.org/show_bug.cgi?id=137838
3978
3979         Reviewed by David Hyatt.
3980
3981         Scroll to a particular tag, and make sure the viewport is rendered as expected.
3982
3983         Tests: fast/events/scroll-to-anchor-vertical-lr-writing-mode.html
3984                fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html
3985                fast/events/scroll-to-anchor-vertical-writing-mode-contained.html
3986                fast/events/scroll-to-anchor-vertical-writing-mode.html
3987
3988         * page/FrameView.cpp:
3989         (WebCore::FrameView::scrollToAnchor):
3990         * rendering/ScrollBehavior.cpp:
3991         * rendering/ScrollBehavior.h:
3992
3993 2014-12-09  Bem Jones-Bey  <bjonesbe@adobe.com>
3994
3995         REGRESSION(r155906): Page content disappears on Tuaw article after loading
3996         https://bugs.webkit.org/show_bug.cgi?id=138100
3997
3998         Reviewed by Simon Fraser.
3999
4000         Test: ManualTests/float-layer-not-painting.html
4001
4002         * rendering/RenderBlockFlow.cpp:
4003         (WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens,
4004         it can change whether the float's renderer has a self painting layer.
4005         So in that case, we need to update the flag on the FloatingObject
4006         instance for that float.
4007
4008 2014-12-09  Andreas Kling  <akling@apple.com>
4009
4010         Roll out r165076.
4011         <rdar://problem/18490587>
4012
4013         This change broke selection when editing Confluence wiki pages.
4014
4015         * css/CSSComputedStyleDeclaration.cpp:
4016         (WebCore::nodeOrItsAncestorNeedsStyleRecalc):
4017         (WebCore::ComputedStyleExtractor::propertyValue):
4018         * dom/Document.cpp:
4019         (WebCore::nodeOrItsAncestorNeedsStyleRecalc): Deleted.
4020         (WebCore::Document::updateStyleIfNeededForNode): Deleted.
4021         * dom/Document.h:
4022         * editing/htmlediting.cpp:
4023         (WebCore::isEditablePosition):
4024         * html/TextFieldInputType.cpp:
4025         (WebCore::TextFieldInputType::forwardEvent):
4026
4027 2014-12-09  Myles C. Maxfield  <mmaxfield@apple.com>
4028
4029         Fix iOS build after r177035.
4030
4031         Unreviewed.
4032
4033         I accidentally added my line to WebCore.exp.in inside an
4034         #IF PLATFORM(MAC) block.
4035
4036         * WebCore.exp.in:
4037
4038 2014-12-09  Jeremy Jones  <jeremyj@apple.com>
4039
4040         Enable automatic optimized fullscreen mode.
4041         https://bugs.webkit.org/show_bug.cgi?id=139437
4042
4043         Reviewed by Eric Carlson.
4044
4045         Anticipate transition to optimized video fullscreen mode when entering background.
4046
4047         * WebCore.exp.in:
4048         * html/HTMLMediaElement.cpp:
4049         (WebCore::HTMLMediaElement::overrid