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