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