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