[CSS Grid Layout] Upgrade align-self and align-items parsing to CSS 3
[WebKit-https.git] / Source / WebCore / ChangeLog
index 6890b5e..1cd0b56 100644 (file)
+2015-03-30  Javier Fernandez  <jfernandez@igalia.com>
+
+        [CSS Grid Layout] Upgrade align-self and align-items parsing to CSS 3
+        https://bugs.webkit.org/show_bug.cgi?id=133359
+
+        Reviewed by David Hyatt.
+
+        From Blink r164817 and r165264 by <jchaffraix@chromium.org>
+
+        Broaden justify-self's parsing name
+
+        This is in preparation of migrating align-self, align-items
+        and justify-items to the CSS 3 Alignment syntax.
+
+        The current naming was too tied to justify-self and needs to
+        be broadened. This will reduce the follow-up implementations'
+        patches.
+
+        Upgrade align-self and align-items parsing to CSS 3
+
+        This change migrates the 2 properties to the CSS 3 Alignment
+        parsing. The new parsing is identical to how we parse
+        'justify-self'. The 2 properties need to be migrated together
+        as they are used in tandem in CSSComputedStyleDeclaration.
+
+        This change also removes EAlignItems as it is now unused.
+
+        Tests: css3/parse-align-items.html
+               css3/parse-align-self.html
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::resolveAlignmentAuto): Added. Resolves the "auto" value for the alignment properties.
+        (WebCore::valueForItemPositionWithOverflowAlignment): Added. Builds the CSSValue for the for the alignment properties.
+        (WebCore::ComputedStyleExtractor::propertyValue):
+        * css/CSSParser.cpp:
+         (WebCore::isValidKeywordPropertyAndValue): Removed align-self, align-items and justify-items.
+        (WebCore::isKeywordPropertyID): Removed align-self, align-items and justify-items.
+        (WebCore::isBaselinePositionKeyword): Added. Set of keywords related to baseline value.
+        (WebCore::CSSParser::parseItemPositionOverflowPosition): Generic parsing fuction for the alignment properties.
+        (WebCore::CSSParser::parseJustifySelf): Deleted.
+        (WebCore::CSSParser::parseValue): Added align-items and align-self to the list and call to the generic parsing fuction for the alignment properties.
+        * css/CSSParser.h:
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added.
+        (WebCore::CSSPrimitiveValue::operator ItemPosition): Added. Replace the old EAlignItems enumeration.
+        (WebCore::CSSPrimitiveValue::operator OverflowAlignment): Added.
+        (WebCore::CSSPrimitiveValue::operator EAlignItems): Deleted.
+        (WebCore::CSSPrimitiveValue::operator EJustifySelf): Deleted.
+        (WebCore::CSSPrimitiveValue::operator EJustifySelfOverflowAlignment): Deleted.
+        * css/CSSPropertyNames.in:
+        * css/CSSValueKeywords.in:
+        * css/StyleBuilderCustom.h:
+        (WebCore::StyleBuilderCustom::applyInheritAlignSelf): Added.
+        (WebCore::StyleBuilderCustom::applyInitialAlignSelf): Added.
+        (WebCore::StyleBuilderCustom::applyValueAlignSelf): Added.
+        (WebCore::StyleBuilderCustom::applyInheritAlignItems): Added.
+        (WebCore::StyleBuilderCustom::applyInitialAlignItems): Added.
+        (WebCore::StyleBuilderCustom::applyValueAlignItems): Added.
+        (WebCore::StyleBuilderCustom::applyInheritJustifySelf): Added.
+        (WebCore::StyleBuilderCustom::applyInitialJustifySelf): Added.
+        (WebCore::StyleBuilderCustom::applyValueJustifySelf): Added.
+        (WebCore::StyleBuilderCustom::applyValueWebkitJustifySelf): Deleted.
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::adjustRenderStyle): isDisplayFlexibleOrGridBox now a RenderStyle function.
+        (WebCore::isDisplayFlexibleBox): Deleted. Moved to RenderStyle.
+        (WebCore::isDisplayGridBox): Deleted. Moved to RenderStyle.
+        (WebCore::isDisplayFlexibleOrGridBox): Deleted. Moved to RenderStyle.
+        * rendering/RenderBox.cpp:
+        (WebCore::flexItemHasStretchAlignment): Adapted to the new ItemPostition enum.
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::firstLineBaseline): Adapted to the new ItemPostition enum.
+        (WebCore::RenderFlexibleBox::styleDidChange): Adapted to the new ItemPostition enum.
+        (WebCore::RenderFlexibleBox::alignmentForChild): Adapted to the new ItemPostition enum.
+        (WebCore::RenderFlexibleBox::needToStretchChild): Adapted to the new ItemPostition enum.
+        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Adapted to the new ItemPostition enum.
+        (WebCore::RenderFlexibleBox::alignChildren): Adapted to the new ItemPostition enum.
+        (WebCore::resolveAlignment): Deleted. Moved to RenderStyle.
+        * rendering/RenderFlexibleBox.h:
+        * rendering/RenderFullScreen.cpp:
+        (WebCore::createFullScreenStyle): Adapted to the new ItemPostition enum.
+        * rendering/RenderMenuList.cpp:
+        (WebCore::RenderMenuList::adjustInnerStyle): Adapted to the new ItemPostition enum.
+        * rendering/mathml/RenderMathMLRoot.cpp:
+        (WebCore::RenderMathMLRoot::updateStyle): Adapted to the new ItemPostition enum.
+        * rendering/mathml/RenderMathMLScripts.cpp:
+        (WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair): Adapted to the new ItemPostition enum.
+        (WebCore::RenderMathMLScripts::fixAnonymousStyles): Adapted to the new ItemPostition enum.
+        * rendering/style/ContentData.h:
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::resolveAlignment): Added.
+        * rendering/style/RenderStyle.h: Adapted to the new ItemPostition enum.
+        * rendering/style/RenderStyleConstants.h: Adapted to the new ItemPostition enum.
+        * rendering/style/StyleRareNonInheritedData.cpp: Adapted to the new ItemPostition enum.
+        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Adapted to the new ItemPostition enum.
+        (WebCore::StyleRareNonInheritedData::operator==): Adapted to the new ItemPostition enum.
+        * rendering/style/StyleRareNonInheritedData.h: Adapted to the new ItemPostition enum.
+        * style/StyleResolveTree.cpp:
+        (WebCore::Style::determineChange): Changes in the alignItems property cause a Detach.
+
+2015-03-27  David Hyatt  <hyatt@apple.com>
+
+        [New Block-Inside-Inline Model] Create anonymous inline blocks to hold blocks-inside-inlines.
+        https://bugs.webkit.org/show_bug.cgi?id=143145
+
+        Reviewed by Dean Jackson.
+
+        Added fast/block/inside-inlines/ tests.
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::renderName):
+        Add support for labeling anonymous inline-blocks when dumped by the render tree.
+
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::addChildIgnoringContinuation):
+        When the pref is set to use the new block-inside-inline model, create an anonymous inline block to
+        hold block children of RenderInlines instead of splitting flows or creating continuations.
+
+        * rendering/RenderObject.h:
+        (WebCore::RenderObject::isAnonymousInlineBlock):
+        Add the definition of isAnonymousInlineBlock (note the exclusion of Ruby, since Ruby creates anonymous
+        inline-blocks also).
+
+2015-03-30  Chris Dumez  <cdumez@apple.com>
+
+        [WK2][NetworkCache] Add support for "Cache-Control: max-stale" request header
+        https://bugs.webkit.org/show_bug.cgi?id=143159
+        <rdar://problem/20333296>
+
+        Reviewed by Antti Koivisto.
+
+        Add support for "Cache-Control: max-stale" request header:
+        https://tools.ietf.org/html/rfc7234#section-5.2.1.2
+
+        Test: http/tests/cache/disk-cache/disk-cache-request-max-stale.html
+
+        * platform/network/CacheValidation.cpp:
+        (WebCore::parseCacheControlDirectives):
+        * platform/network/CacheValidation.h:
+
+2015-03-30  Simon Fraser  <simon.fraser@apple.com>
+
+        Fix iOS internal build after r182132.
+
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
+
+2015-03-30  Jer Noble  <jer.noble@apple.com>
+
+        [iOS] When Web Audio is interrupted by a phone call, it cannot be restarted.
+        https://bugs.webkit.org/show_bug.cgi?id=143190
+
+        Reviewed by Darin Adler.
+
+        Tests: webaudio/audiocontext-state-interrupted.html
+               webaudio/audiocontext-state.html
+
+        Implement the following methods and properties from the Web Audio spec:
+        close(), suspend(), resume(), onstatechange.
+
+        AudioContext will take more responsibility for tracking state and interruptions (and
+        AudioDestination will give up that responsibility). This means AudioContext must be a
+        MediaSessionClient, and own its own MediaSession. In return, AudioDestinationIOS and 
+        AudioDestinationMac relinquish both.
+
+        * Modules/webaudio/AudioContext.cpp:
+        (WebCore::AudioContext::AudioContext): Set default values in header.
+        (WebCore::AudioContext::uninitialize): Call setState() instead of setting m_state.
+        (WebCore::AudioContext::addReaction): Added. Append the callback to the appropriate vector for the state.
+        (WebCore::AudioContext::setState): Added. Fire events and resolve the appropriate reaction callbacks for the new state.
+        (WebCore::AudioContext::state): Return a string representing the context's state.
+        (WebCore::AudioContext::stop): Close the event queue.
+        (WebCore::AudioContext::startRendering): Call setState().
+        (WebCore::AudioContext::fireCompletionEvent): Call setState().
+        (WebCore::AudioContext::suspendContext): Added. Add reaction callback and call suspend() on the destination node.
+        (WebCore::AudioContext::resumeContext): Added. Add reaction callback and call resume() on the destination node.
+        (WebCore::AudioContext::closeContext): Added. Add reaction callback and call close() on the destination node.
+        (WebCore::AudioContext::suspendPlayback): Added. Suspend playback and set state to interrupted.
+        (WebCore::AudioContext::mayResumePlayback): Added. Conditionally resume playback.
+        * bindings/js/JSAudioContextCustom.cpp:
+        (WebCore::JSAudioContext::suspend): Added. Create and return a new Promise object.
+        (WebCore::JSAudioContext::resume): Ditto.
+        (WebCore::JSAudioContext::close): Ditto.
+        * Modules/webaudio/AudioContext.idl: Add new methods and properties.
+
+        Extensive organizational changes were made to AudioContext.h to group instance
+        variables together and add C++11 initializers in their declarations:
+
+        * Modules/webaudio/AudioContext.h:
+        (WebCore::AudioContext::mediaType): Moved from AudioDestinationNode.
+        (WebCore::AudioContext::presentationType): Ditto.
+        (WebCore::AudioContext::canReceiveRemoteControlCommands): Ditto.
+        (WebCore::AudioContext::didReceiveRemoteControlCommand): Ditto.
+        (WebCore::AudioContext::overrideBackgroundPlaybackRestriction): Ditto.
+        
+        Other changes to support the new AudioContext methods:
+
+        * Modules/webaudio/AudioDestinationNode.h:
+        (WebCore::AudioDestinationNode::resume): Add empty default virtual method.
+        (WebCore::AudioDestinationNode::suspend): Ditto.
+        (WebCore::AudioDestinationNode::close): Ditto.
+        * Modules/webaudio/DefaultAudioDestinationNode.cpp:
+        (WebCore::DefaultAudioDestinationNode::resume): Added. Pass to AudioDestination.
+        (WebCore::DefaultAudioDestinationNode::suspend): Ditto.
+        (WebCore::DefaultAudioDestinationNode::close): Ditto.
+        * Modules/webaudio/DefaultAudioDestinationNode.h:
+        * bindings/js/JSDOMPromise.h:
+        (WebCore::DeferredWrapper::resolve): Add an overload for a nullptr resolve value.
+        * dom/EventNames.h: Added 'statechange'.
+        * dom/ScriptExecutionContext.h:
+        (WebCore::ScriptExecutionContext::Task::Task): Add a constructor which takes a void() callback.
+
+        Modify MediaSession, AudioSession, and MediaSessionManager to support the new
+        interruption behavior.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::suspendPlayback): Renamed from pausePlayback().
+        (WebCore::HTMLMediaElement::mayResumePlayback): Renamed from resumePlayback().
+        * html/HTMLMediaElement.h:
+        * platform/audio/AudioSession.cpp:
+        (WebCore::AudioSession::tryToSetActive): Renamed from setActive. Return true by default.
+        (WebCore::AudioSession::setActive): Deleted.
+        * platform/audio/AudioSession.h:
+        * platform/audio/MediaSession.cpp:
+        (WebCore::MediaSession::beginInterruption): pausePlayback() was renamed to suspendPlayback().
+        (WebCore::MediaSession::endInterruption): Always notify the client, telling it whether to resume.
+        (WebCore::MediaSession::clientWillBeginPlayback): Bail early if reentrant.  Check the (new) 
+            return value of sessionWillBeginPlayback() and remember to resume once the interruption ends.
+        (WebCore::MediaSession::clientWillPausePlayback): Bail early if reentrant.
+        (WebCore::MediaSession::pauseSession): pausePlayback() was renamed to suspendPlayback().
+        * platform/audio/MediaSession.h:
+        * platform/audio/MediaSessionManager.cpp:
+        (WebCore::MediaSessionManager::sessionWillBeginPlayback): Return false if not allowed to break interruption or 
+            if activating the audio session failed. Otherwise, end the interruption.
+        * platform/audio/MediaSessionManager.h:
+        * platform/audio/ios/AudioDestinationIOS.cpp:
+        (WebCore::AudioDestinationIOS::AudioDestinationIOS): m_mediaSession was removed.
+        (WebCore::AudioDestinationIOS::start): Ditto.
+        * platform/audio/ios/AudioDestinationIOS.h:
+        * platform/audio/ios/AudioSessionIOS.mm:
+        (WebCore::AudioSession::tryToSetActive): Renamed from setActive. Return false if the AVAudioSession could not be activated.
+        (WebCore::AudioSession::setActive): Deleted.
+        * platform/audio/ios/MediaSessionManagerIOS.h:
+        * platform/audio/ios/MediaSessionManagerIOS.mm:
+        (WebCore::MediaSessionManageriOS::sessionWillBeginPlayback): Do not update the now playing info if session playback was blocked.
+        * platform/audio/mac/AudioDestinationMac.cpp:
+        (WebCore::AudioDestinationMac::AudioDestinationMac): m_mediaSession was removed.
+        * platform/audio/mac/AudioDestinationMac.h:
+        * platform/audio/mac/AudioSessionMac.cpp:
+        (WebCore::AudioSession::tryToSetActive): Renamed from setActive(). Return true by default.
+        (WebCore::AudioSession::setActive): Deleted.
+        * platform/audio/mac/MediaSessionManagerMac.cpp:
+        (MediaSessionManager::updateSessionState): No longer attempt to activate the session, as this is done
+            MediaSessionManager::sessionWillBeginPlayback().
+        * testing/Internals.cpp:
+        (WebCore::Internals::setMediaSessionRestrictions): Add "InterruptedPlaybackNotPermitted".
+
+2015-03-25 Xabier Rodriguez Calvar <calvaris@igalia.com> and Youenn Fablet <youenn.fablet@crf.canon.fr>
+
+        [Streams API] Error storage should be moved from source to stream/reader
+        https://bugs.webkit.org/show_bug.cgi?id=143048
+
+        Reviewed by Benjamin Poulain.
+
+        This patch removes error storage from the source as it should be stored at the stream level as error access goes through the reader.
+        It removes abstract ReadableStreamSource::isErrored and the storage of JavaScript errors from ReadableStreamJSSource.
+
+        Existing tests cover most of the changes.
+        Added test case for creating readable stream from empty JS object.
+
+        * Modules/streams/ReadableStreamSource.h: Removing isErrored().
+        * bindings/js/JSReadableStreamCustom.cpp:
+        (WebCore::constructJSReadableStream): Added JS stream constructor parameters checking.
+        * bindings/js/ReadableStreamJSSource.cpp:
+        (WebCore::ReadableStreamJSSource::ReadableStreamJSSource): Removed JS stream constructor parameters checking.
+        (WebCore::ReadableStreamJSSource::start): Changed prototype of start so that start can throw errors directly.
+        (WebCore::ReadableStreamJSSource::setInternalError): Deleted.
+        * bindings/js/ReadableStreamJSSource.h: Removed m_error, setInternalError and updated start declaration.
+
+2015-03-30  Philippe Normand  <pnormand@igalia.com>
+
+        [GStreamer] More GL shared context fixes
+        https://bugs.webkit.org/show_bug.cgi?id=143216
+
+        Reviewed by Carlos Garcia Campos.
+
+        Moved the GLX/EGL context tests to be done at runtime rather than
+        using build-time macros because in the GTK port at least, both EGL
+        and GLX support are mutually exclusive. Also fixed a couple wrong
+        defines (USE(GLES2) doesn't exist).
+
+        * platform/graphics/GLContext.h: Simple utility method to check if
+        the platform context is compatible with EGL APIs or not.
+        * platform/graphics/egl/GLContextEGL.h:
+        (WebCore::GLContextEGL::isEGLContext):
+        * platform/graphics/glx/GLContextGLX.h:
+        (WebCore::GLContextGLX::isEGLContext):
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::ensureGstGLContext): Do
+        runtime checks and properly ensure GLES2/GL API usage.
+
+2015-03-30  Marcos Chavarría Teijeiro  <chavarria1991@gmail.com>
+
+        Add support for deleting emoji on GTK
+        https://bugs.webkit.org/show_bug.cgi?id=141419
+
+        Reviewed by Gustavo Noronha Silva.
+
+        The code for deleting special group of characters was specific for
+        COCOA and EFL platforms. The fix consists on add GTK to the #if
+        preprocessor directive.
+
+        * rendering/RenderText.cpp:
+        (WebCore::RenderText::previousOffsetForBackwardDeletion):
+
+2015-03-30  Benjamin Poulain  <benjamin@webkit.org>
+
+        Start the features.json files
+        https://bugs.webkit.org/show_bug.cgi?id=143207
+
+        Reviewed by Darin Adler.
+
+        * features.json: Added.
+
+2015-03-29  Simon Fraser  <simon.fraser@apple.com>
+
+        Convert arguments to ScrollingCoordinator functions to references
+        https://bugs.webkit.org/show_bug.cgi?id=143198
+
+        Reviewed by Darin Adler.
+
+        Convert all the FrameView* and ScrollableArea* arguments to ScrollingCoordinator functions to
+        references, and use references in a few other places.
+
+        * dom/Document.cpp:
+        (WebCore::wheelEventHandlerCountChanged):
+        * loader/HistoryController.cpp:
+        (WebCore::HistoryController::restoreScrollPositionAndViewState):
+        * page/DebugPageOverlays.cpp:
+        (WebCore::NonFastScrollableRegionOverlay::updateRegion):
+        * page/Frame.cpp:
+        (WebCore::Frame::willDetachPage):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::prepareForDetach):
+        (WebCore::FrameView::addSlowRepaintObject):
+        (WebCore::FrameView::removeSlowRepaintObject):
+        (WebCore::FrameView::addViewportConstrainedObject):
+        (WebCore::FrameView::removeViewportConstrainedObject):
+        (WebCore::FrameView::requestScrollPositionUpdate):
+        (WebCore::FrameView::performPostLayoutTasks):
+        (WebCore::FrameView::scrollableAreaSetChanged):
+        (WebCore::FrameView::wheelEvent):
+        * page/Page.cpp:
+        (WebCore::Page::nonFastScrollableRects):
+        * page/Page.h:
+        * page/scrolling/AsyncScrollingCoordinator.cpp:
+        (WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
+        (WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
+        (WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
+        (WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
+        (WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):
+        (WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
+        (WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
+        (WebCore::AsyncScrollingCoordinator::updateMainFrameScrollLayerPosition):
+        (WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
+        * page/scrolling/AsyncScrollingCoordinator.h:
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::pageDestroyed):
+        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
+        (WebCore::ScrollingCoordinator::computeNonFastScrollableRegion):
+        (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
+        (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
+        (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
+        (WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
+        (WebCore::ScrollingCoordinator::scrollLayerForFrameView):
+        (WebCore::ScrollingCoordinator::headerLayerForFrameView):
+        (WebCore::ScrollingCoordinator::footerLayerForFrameView):
+        (WebCore::ScrollingCoordinator::counterScrollingLayerForFrameView):
+        (WebCore::ScrollingCoordinator::insetClipLayerForFrameView):
+        (WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):
+        (WebCore::ScrollingCoordinator::rootContentLayerForFrameView):
+        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
+        (WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects):
+        (WebCore::ScrollingCoordinator::synchronousScrollingReasons):
+        (WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
+        (WebCore::ScrollingCoordinator::setForceSynchronousScrollLayerPositionUpdates):
+        (WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously):
+        (WebCore::ScrollingCoordinator::replaySessionStateDidChange):
+        (WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
+        * page/scrolling/ScrollingCoordinator.h: Align the bitmask enums to make mistakes easier to spot.
+        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
+        (WebCore::ScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
+        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
+        (WebCore::ScrollingCoordinator::handleWheelEvent):
+        (WebCore::ScrollingCoordinator::willDestroyScrollableArea):
+        (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
+        (WebCore::ScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
+        (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
+        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
+        (WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
+        (WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
+        (WebCore::ScrollingCoordinatorCoordinatedGraphics::requestScrollPositionUpdate):
+        * page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.h:
+        * page/scrolling/ios/ScrollingCoordinatorIOS.h:
+        * page/scrolling/mac/ScrollingCoordinatorMac.h:
+        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
+        (WebCore::ScrollingCoordinatorMac::handleWheelEvent):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::~RenderLayer):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::updateBacking):
+        (WebCore::RenderLayerCompositor::hasCoordinatedScrolling):
+        (WebCore::RenderLayerCompositor::scrollingLayerDidChange):
+        (WebCore::RenderLayerCompositor::updateLayerForHeader):
+        (WebCore::RenderLayerCompositor::updateLayerForFooter):
+        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
+        (WebCore::RenderLayerCompositor::destroyRootLayer):
+        (WebCore::RenderLayerCompositor::updateScrollCoordinationForThisFrame):
+        (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
+        (WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
+        (WebCore::RenderLayerCompositor::didAddScrollingLayer):
+        * testing/Internals.cpp:
+        (WebCore::Internals::nonFastScrollableRects):
+
+2015-03-29  Benjamin Poulain  <benjamin@webkit.org>
+
+        Use :matches() instead of :-webkit-any() for the sections and headings default style
+        https://bugs.webkit.org/show_bug.cgi?id=143197
+
+        Reviewed by Darin Adler.
+
+        We no longer need to use the :-webkit-any() hack in the default stylesheet.
+
+        The pseudo class :matches() also support correct specificity. This is not observable
+        since those selector do not conflict with any other rule in the default stylesheet.
+
+        * css/CSSSelector.h:
+        * css/SelectorChecker.cpp:
+        (WebCore::SelectorChecker::determineLinkMatchType):
+        * css/html.css:
+        (:matches(article, aside, nav, section) h1):
+        (:matches(article, aside, nav, section) :matches(article, aside, nav, section) h1):
+        (:matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) h1):
+        (:matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) h1):
+        (:matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) :matches(article, aside, nav, section) h1):
+        (:-webkit-any(article,aside,nav,section) h1): Deleted.
+        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): Deleted.
+        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): Deleted.
+        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): Deleted.
+        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): Deleted.
+
+2015-03-29  Benjamin Poulain  <benjamin@webkit.org>
+
+        `currentColor` computes to the same colour on all elements, even if 'color' is inherited differently
+        https://bugs.webkit.org/show_bug.cgi?id=133420
+
+        Reviewed by Darin Adler.
+
+        When resolving a style with the help of the property cache, we were
+        completely ignoring currentColor.
+
+        Since you can set currentColor on properties that are not inherited,
+        those properties would just be copied from the cached style, which
+        may have a completely different inherited color.
+
+        This pacth fixes the issue by preventing any MatchResult from hitting
+        the cache if it contains any non-inherited property that would require
+        resolution by the cache:
+        -Using the inherit value.
+        -Using the currentColor value.
+
+        Tests: fast/css/currentColor-on-before-after-pseudo-elements.html
+               fast/css/currentColor-style-update-reftest.html
+               fast/css/currentColor-value-style-update.html
+
+        * css/ElementRuleCollector.cpp:
+        (WebCore::ElementRuleCollector::addElementStyleProperties):
+        (WebCore::ElementRuleCollector::matchAuthorRules):
+        (WebCore::ElementRuleCollector::matchUserRules):
+        (WebCore::ElementRuleCollector::matchUARules):
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::MatchResult::addMatchedProperties):
+        (WebCore::StyleResolver::styleForKeyframe):
+        (WebCore::StyleResolver::pseudoStyleForElement):
+        (WebCore::StyleResolver::styleForPage):
+        (WebCore::StyleResolver::findFromMatchedPropertiesCache):
+        (WebCore::StyleResolver::addToMatchedPropertiesCache):
+        (WebCore::extractDirectionAndWritingMode):
+        (WebCore::StyleResolver::applyMatchedProperties):
+        (WebCore::StyleResolver::CascadedProperties::addStyleProperties):
+        (WebCore::StyleResolver::CascadedProperties::addMatches):
+        * css/StyleResolver.h:
+        (WebCore::StyleResolver::MatchResult::matchedProperties):
+
+2015-03-29  Benjamin Poulain  <benjamin@webkit.org>
+
+        Enable :any-link by default
+        https://bugs.webkit.org/show_bug.cgi?id=143201
+
+        Reviewed by Sam Weinig.
+
+        The pseudo class :any-link has been stable for a while. This patch enables
+        it by default and remove the -webkit- prefix on the default style.
+
+        * css/CSSDefaultStyleSheets.cpp:
+        * css/CSSSelector.cpp:
+        (WebCore::CSSSelector::selectorText):
+        * css/CSSSelector.h:
+        * css/RuleSet.cpp:
+        (WebCore::RuleSet::addRule):
+        * css/SelectorChecker.cpp:
+        (WebCore::SelectorChecker::checkOne):
+        * css/SelectorChecker.h:
+        (WebCore::SelectorChecker::isCommonPseudoClassSelector):
+        * css/SelectorPseudoClassAndCompatibilityElementMap.in:
+        * css/html.css:
+        (a:any-link):
+        (a:any-link:active):
+        (:any-link img):
+        (a:-webkit-any-link): Deleted.
+        (a:-webkit-any-link:active): Deleted.
+        (:-webkit-any-link img): Deleted.
+        * cssjit/SelectorCompiler.cpp:
+        (WebCore::SelectorCompiler::addPseudoClassType):
+        (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):
+
+2015-03-29  Joonghun Park  <jh718.park@samsung.com>
+
+        nullptr cleanup in RenderFooBox classes
+        https://bugs.webkit.org/show_bug.cgi?id=143182
+
+        Reviewed by Ryosuke Niwa.
+
+        No new tests, no behavior changes
+
+        Replace 0 with nullptr in RenderFooBox classes.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::RenderBox):
+        (WebCore::RenderBox::paintFillLayer):
+        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
+        (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
+        (WebCore::RenderBox::renderBoxRegionInfo):
+        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
+        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
+        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
+        (WebCore::RenderBox::positionForPoint):
+        (WebCore::RenderBox::layoutOverflowRectForPropagation):
+        * rendering/RenderBox.h:
+        (WebCore::RenderBox::setMarginBefore):
+        (WebCore::RenderBox::setMarginAfter):
+        (WebCore::RenderBox::setMarginStart):
+        (WebCore::RenderBox::setMarginEnd):
+        (WebCore::RenderBox::createAnonymousBoxWithSameTypeAs):
+        (WebCore::RenderBox::setInlineBoxWrapper):
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::willBeDestroyed):
+        (WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
+        (WebCore::RenderBoxModelObject::paintBorderSides):
+        (WebCore::RenderBoxModelObject::firstLetterRemainingText):
+        * rendering/RenderBoxModelObject.h:
+        (WebCore::RenderBoxModelObject::moveChildTo):
+        (WebCore::RenderBoxModelObject::moveAllChildrenTo):
+        (WebCore::RenderBoxModelObject::moveChildrenTo):
+        * rendering/RenderDeprecatedFlexibleBox.cpp:
+        (WebCore::FlexBoxIterator::reset):
+        (WebCore::FlexBoxIterator::next):
+        * rendering/RenderDeprecatedFlexibleBox.h:
+        * rendering/RenderFlexibleBox.cpp:
+        (WebCore::RenderFlexibleBox::firstLineBaseline):
+        (WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
+        * rendering/RenderLineBoxList.cpp:
+        (WebCore::RenderLineBoxList::deleteLineBoxTree):
+        (WebCore::RenderLineBoxList::extractLineBox):
+        (WebCore::RenderLineBoxList::deleteLineBoxes):
+        (WebCore::RenderLineBoxList::checkConsistency):
+        * rendering/RenderLineBoxList.h:
+        (WebCore::RenderLineBoxList::RenderLineBoxList):
+        * rendering/RenderListBox.cpp:
+        (WebCore::RenderListBox::enclosingScrollableArea):
+        (WebCore::RenderListBox::setHasVerticalScrollbar):
+        * rendering/RenderListBox.h:
+
+2015-03-29  Darin Adler  <darin@apple.com>
+
+        HTMLCollection caches incorrect length if item(0) is called before length on an empty collection
+        https://bugs.webkit.org/show_bug.cgi?id=143203
+        rdar://problem/18460462
+
+        Reviewed by Antti Koivisto.
+
+        Test: fast/dom/htmlcollection-length-after-item-2.html
+
+        * dom/CollectionIndexCache.h:
+        (CollectionIndexCache::nodeAt): If we hit the end looking for index 0, cache a length
+        of 0, not a length of 1.
+
+2015-03-29  Darin Adler  <darin@apple.com>
+
+        Remove unneeded SVG code, including most isSupportedAttribute functions
+        https://bugs.webkit.org/show_bug.cgi?id=143194
+
+        Reviewed by Antti Koivisto.
+
+        - Removed most implementations of isSupportedAttribute. Others can be removed in
+          future patches. The ones left behind are now all private static member functions.
+          It's dangerous for them to be public because they tend to indicate which attributes
+          are supported at a particular level in the class hierarchy and they are not virtual
+          functions; might want to rethink the function name if we keep any of these long term.
+
+        - Removed unneeded includes, especially of Attr.h and Attribute.h.
+
+        - Changed most parseAttribute and svgAttributeChanged functions so they no longer
+          rely on checking attribute names against a set. Also removed lots of unneeded calls
+          to SVGLangSpace::parseAttribute, which is called by SVGElement::parseAttribute and
+          need not be called by derived classes.
+
+        - Removed return values from parseAttribute functions. Skipping other parseAttribute
+          logic is not an important optimization and makes functions needlessly complex.
+
+        - Moved use of InstanceInvalidationGuard closer to where they are needed. Eventually
+          we may be able to remove many of these.
+
+        - Used auto in a few places where the same type is repeated twice on the same line of
+          code, and auto makes it a bit smaller.
+
+        - Got rid of protected sections in some final classes; doesn't make sense to combine
+          these two. Also moved a few functions from protected to private in other classes.
+
+        - Made a number of functions into static member functions in the base classes such
+          as SVGLangSpace; they were not making any use of the object, and so it was wasteful
+          to compile them as non-static member functions.
+
+        * rendering/svg/RenderSVGImage.cpp: Removed unneeded includes.
+        * svg/SVGAElement.cpp: Removed unneeded includes.
+        (WebCore::SVGAElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGAElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGAElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGAElement.h: Removed isSupportedAttribute.
+        * svg/SVGAnimateMotionElement.cpp: Removed unneeded includes.
+        (WebCore::SVGAnimateMotionElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGAnimateMotionElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGAnimateMotionElement.h: Removed isSupportedAttribute.
+        * svg/SVGAnimateTransformElement.cpp:
+        (WebCore::SVGAnimateTransformElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGAnimateTransformElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGAnimateTransformElement.h: Removed isSupportedAttribute.
+        * svg/SVGAnimationElement.cpp:
+        (WebCore::SVGAnimationElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGCircleElement.cpp:
+        (WebCore::SVGCircleElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGCircleElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGCircleElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGCircleElement.h: Removed isSupportedAttribute.
+        * svg/SVGClipPathElement.cpp: Removed unneeded includes.
+        (WebCore::SVGClipPathElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGComponentTransferFunctionElement.cpp:
+        (WebCore::SVGComponentTransferFunctionElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGCursorElement.cpp: Removed unneeded includes.
+        (WebCore::SVGCursorElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGCursorElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGElement.cpp: Removed unneeded includes.
+        * svg/SVGEllipseElement.cpp: Removed unneeded includes.
+        (WebCore::SVGEllipseElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGEllipseElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGEllipseElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGEllipseElement.h: Removed isSupportedAttribute.
+        * svg/SVGExternalResourcesRequired.cpp: Removed unneeded includes.
+        (WebCore::SVGExternalResourcesRequired::parseAttribute): Don't return a boolean.
+        * svg/SVGExternalResourcesRequired.h: Don't return a boolean.
+        * svg/SVGFEBlendElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEBlendElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEBlendElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEBlendElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEBlendElement.h: Removed isSupportedAttribute.
+        * svg/SVGFEColorMatrixElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEColorMatrixElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEColorMatrixElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEColorMatrixElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEColorMatrixElement.h: Removed isSupportedAttribute.
+        * svg/SVGFEComponentTransferElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEComponentTransferElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEComponentTransferElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGFEComponentTransferElement.h: Removed unneeded includes.
+        * svg/SVGFECompositeElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFECompositeElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFECompositeElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFECompositeElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFECompositeElement.h:
+        * svg/SVGFEConvolveMatrixElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEConvolveMatrixElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEConvolveMatrixElement.h:
+        * svg/SVGFEDiffuseLightingElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEDiffuseLightingElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEDiffuseLightingElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEDiffuseLightingElement.h:
+        * svg/SVGFEDisplacementMapElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEDisplacementMapElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEDisplacementMapElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEDisplacementMapElement.h:
+        * svg/SVGFEDropShadowElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEDropShadowElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEDropShadowElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEDropShadowElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEDropShadowElement.h:
+        * svg/SVGFEFloodElement.cpp: Removed unneeded includes.
+        * svg/SVGFEGaussianBlurElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEGaussianBlurElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEGaussianBlurElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEGaussianBlurElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEGaussianBlurElement.h:
+        * svg/SVGFEImageElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEImageElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEImageElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEImageElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEImageElement.h:
+        * svg/SVGFELightElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFELightElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFELightElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFELightElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFELightElement.h:
+        * svg/SVGFEMergeNodeElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEMergeNodeElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEMergeNodeElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEMergeNodeElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEMergeNodeElement.h:
+        * svg/SVGFEMorphologyElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEMorphologyElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEMorphologyElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEMorphologyElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEMorphologyElement.h:
+        * svg/SVGFEOffsetElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFEOffsetElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFEOffsetElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFEOffsetElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFEOffsetElement.h:
+        * svg/SVGFESpecularLightingElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFESpecularLightingElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFESpecularLightingElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFESpecularLightingElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFESpecularLightingElement.h:
+        * svg/SVGFETileElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFETileElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFETileElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFETileElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFETileElement.h:
+        * svg/SVGFETurbulenceElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFETurbulenceElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGFETurbulenceElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGFETurbulenceElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGFETurbulenceElement.h:
+        * svg/SVGFilterElement.cpp: Removed unneeded includes.
+        (WebCore::SVGFilterElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGFilterPrimitiveStandardAttributes.cpp: Removed unneeded includes.
+        (WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGFilterPrimitiveStandardAttributes.h: Removed isSupportedAttribute and also moved a
+        couple functions out of the class definition.
+        * svg/SVGFitToViewBox.cpp: Removed unneeded includes.
+        * svg/SVGFontFaceElement.cpp: Removed unneeded includes.
+        * svg/SVGFontFaceUriElement.cpp: Removed unneeded includes.
+        * svg/SVGForeignObjectElement.cpp: Removed unneeded includes.
+        (WebCore::SVGForeignObjectElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGGElement.cpp: Removed unneeded includes.
+        (WebCore::SVGGElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGGlyphElement.cpp: Removed unneeded includes.
+        * svg/SVGGlyphRefElement.cpp: Removed unneeded includes.
+        (WebCore::SVGGlyphRefElement::hasValidGlyphElement): Rewrote to use is<> instead of hasTagName.
+        (WebCore::SVGGlyphRefElement::parseAttribute): Don't use return value from SVGURIReference::parseAttribute.
+        * svg/SVGGradientElement.cpp: Removed unneeded includes.
+        (WebCore::SVGGradientElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGGraphicsElement.cpp: Removed unneeded includes.
+        (WebCore::SVGGraphicsElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGImageElement.cpp: Removed unneeded includes.
+        (WebCore::SVGImageElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGLangSpace.cpp: Removed unneeded includes.
+        (WebCore::SVGLangSpace::parseAttribute): Removed the return value.
+        * svg/SVGLangSpace.h: Converted functions to static member functions and removed the
+        return value from parseAttribute.
+        * svg/SVGLineElement.cpp: Removed unneeded includes.
+        (WebCore::SVGLineElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGLinearGradientElement.cpp: Removed unneeded includes.
+        (WebCore::SVGLinearGradientElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGMPathElement.cpp: Removed unneeded includes.
+        (WebCore::SVGMPathElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGMPathElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGMPathElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGMPathElement.h: Removed isSupportedAttribute and made didNotifySubtreeInsertions
+        private instead of protected.
+        * svg/SVGMarkerElement.cpp: Removed unneeded includes.
+        (WebCore::SVGMarkerElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGMaskElement.cpp: Removed unneeded includes.
+        (WebCore::SVGMaskElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGPathElement.cpp: Removed unneeded includes.
+        (WebCore::SVGPathElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGPatternElement.cpp: Removed unneeded includes.
+        (WebCore::SVGPatternElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGPolyElement.cpp: Removed unneeded includes.
+        (WebCore::SVGPolyElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGPolyElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGPolyElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGPolyElement.h:
+        * svg/SVGRadialGradientElement.cpp: Removed unneeded includes.
+        (WebCore::SVGRadialGradientElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGRectElement.cpp: Removed unneeded includes.
+        (WebCore::SVGRectElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGRectElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGRectElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGRectElement.h:
+        * svg/SVGSVGElement.cpp: Removed unneeded includes.
+        (WebCore::SVGSVGElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGScriptElement.cpp: Removed unneeded includes.
+        * svg/SVGStopElement.cpp: Removed unneeded includes.
+        (WebCore::SVGStopElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGStopElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGStopElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGStopElement.h: Removed isSupportedAttribute.
+        * svg/SVGStyleElement.cpp: Removed unneeded includes.
+        (WebCore::SVGStyleElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGStyleElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGStyleElement.h: Removed isSupportedAttribute.
+        * svg/SVGSymbolElement.cpp: Removed unneeded includes.
+        (WebCore::SVGSymbolElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGSymbolElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGSymbolElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGSymbolElement.h: Removed isSupportedAttribute.
+        * svg/SVGTRefElement.cpp: Removed unneeded includes.
+        (WebCore::SVGTRefElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGTRefElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGTRefElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGTRefElement.h: Removed isSupportedAttribute and made didNotifySubtreeInsertions
+        private instead of protected.
+        * svg/SVGTests.cpp: Removed unneeded includes.
+        (WebCore::SVGTests::parseAttribute): Removed return value.
+        * svg/SVGTests.h: Removed return value of parseAttribute.
+        * svg/SVGTextContentElement.cpp: Removed unneeded includes.
+        (WebCore::SVGTextContentElement::collectStyleForPresentationAttribute): Don't use
+        isSupportedAttribute. Also removed global to optimize comparing attribute value against
+        the string "preserve".
+        (WebCore::SVGTextContentElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGTextContentElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGTextContentElement.h: Made isSupportedAttribute private instead of protected.
+        * svg/SVGTextElement.cpp: Removed unneeded includes.
+        * svg/SVGTextPathElement.cpp: Removed unneeded includes.
+        (WebCore::SVGTextPathElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGTextPositioningElement.cpp: Removed unneeded includes.
+        (WebCore::SVGTextPositioningElement::isSupportedAttribute): Deleted.
+        (WebCore::SVGTextPositioningElement::parseAttribute): Don't use isSupportedAttribute.
+        (WebCore::SVGTextPositioningElement::svgAttributeChanged): Don't use isSupportedAttribute.
+        * svg/SVGTextPositioningElement.h: Removed isSupportedAttribute and made some functions
+        private insetad of protected.
+        * svg/SVGURIReference.cpp: Removed unneeded includes.
+        (WebCore::SVGURIReference::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGURIReference.h:
+        (WebCore::SVGURIReference::isExternalURIReference):
+        * svg/SVGUseElement.cpp: Removed unneeded includes.
+        (WebCore::SVGUseElement::parseAttribute): Don't use isSupportedAttribute.
+        * svg/SVGViewElement.h: Removed isSupportedAttribute.
+        * svg/animation/SVGSMILElement.cpp: Removed unneeded includes.
+
+2015-03-29  Darin Adler  <darin@apple.com>
+
+        Remove unneeded includes of "Attribute.h"
+        https://bugs.webkit.org/show_bug.cgi?id=143195
+
+        Reviewed by Antti Koivisto.
+
+        * css/StyleResolver.cpp:
+        * html/HTMLAnchorElement.cpp:
+        * html/HTMLAreaElement.cpp:
+        * html/HTMLBRElement.cpp:
+        * html/HTMLBaseElement.cpp:
+        * html/HTMLBodyElement.cpp:
+        * html/HTMLButtonElement.cpp:
+        * html/HTMLCanvasElement.cpp:
+        * html/HTMLDivElement.cpp:
+        * html/HTMLElement.cpp:
+        * html/HTMLEmbedElement.cpp:
+        * html/HTMLFontElement.cpp:
+        * html/HTMLFormControlElement.cpp:
+        * html/HTMLFormElement.cpp:
+        * html/HTMLFrameElement.cpp:
+        * html/HTMLFrameElementBase.cpp:
+        * html/HTMLFrameSetElement.cpp:
+        * html/HTMLHRElement.cpp:
+        * html/HTMLIFrameElement.cpp:
+        * html/HTMLImageElement.cpp:
+        * html/HTMLOListElement.cpp:
+        * html/HTMLOptionElement.cpp:
+        * html/HTMLParagraphElement.cpp:
+        * html/HTMLParamElement.cpp:
+        * html/HTMLPlugInElement.cpp:
+        * html/HTMLPreElement.cpp:
+        * html/HTMLProgressElement.cpp:
+        * html/HTMLScriptElement.cpp:
+        * html/HTMLSelectElement.cpp:
+        * html/HTMLStyleElement.cpp:
+        * html/HTMLTableCaptionElement.cpp:
+        * html/HTMLTableCellElement.cpp:
+        * html/HTMLTableColElement.cpp:
+        * html/HTMLTableElement.cpp:
+        * html/HTMLTablePartElement.cpp:
+        * html/HTMLTextAreaElement.cpp:
+        * html/HTMLTextFormControlElement.cpp:
+        * html/HTMLUListElement.cpp:
+        * html/HTMLVideoElement.cpp:
+        * html/parser/HTMLScriptRunner.cpp:
+        * inspector/InspectorNodeFinder.cpp:
+        Removed includes of "Attribute.h".
+
+2015-03-28  Eric Carlson  <eric.carlson@apple.com>
+
+        [Mac] Update for output device API change
+        https://bugs.webkit.org/show_bug.cgi?id=143187
+
+        Reviewed by Zalan Bujtas.
+
+        The API used for output device is being deprecated, update to the replacement.
+
+        * WebCore.xcodeproj/project.pbxproj: Add SPI headers.
+
+        * platform/graphics/MediaPlaybackTarget.h:
+        (WebCore::MediaPlaybackTarget::MediaPlaybackTarget): Update for API change.
+        (WebCore::MediaPlaybackTarget::setDevicePickerContext):
+        (WebCore::MediaPlaybackTarget::devicePickerContext):
+
+        * platform/graphics/avfoundation/MediaPlaybackTargetMac.mm:
+        (WebCore::MediaPlaybackTarget::encode):
+        (WebCore::MediaPlaybackTarget::decode):
+
+        * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
+        * platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
+        (WebCore::MediaPlaybackTargetPickerMac::MediaPlaybackTargetPickerMac):
+        (WebCore::MediaPlaybackTargetPickerMac::~MediaPlaybackTargetPickerMac):
+        (WebCore::MediaPlaybackTargetPickerMac::outputeDeviceAvailabilityChangedTimerFired):
+        (WebCore::MediaPlaybackTargetPickerMac::devicePicker):
+        (WebCore::MediaPlaybackTargetPickerMac::currentDeviceDidChange):
+        (WebCore::MediaPlaybackTargetPickerMac::stopMonitoringPlaybackTargets):
+        (-[WebAVOutputDeviceMenuControllerHelper observeValueForKeyPath:ofObject:change:context:]):
+        (-[WebAVOutputDevicePickerMenuControllerHelper observeValueForKeyPath:ofObject:change:context:]): Deleted.
+
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessPlaybackTarget):
+        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
+
+        * platform/spi/cocoa/AVKitSPI.h: Copied from Source/WebCore/platform/spi/ios/AVKitSPI.h. Moved
+            from ios directory, added Mac includes and prototypes.
+        * platform/spi/ios/AVKitSPI.h: Removed.
+
+        * platform/spi/mac/AVFoundationSPI.h: Added.
+
+2015-03-28  Simon Fraser  <simon.fraser@apple.com>
+
+        Optimize RenderLayer::intersectsDamageRect() slightly
+        https://bugs.webkit.org/show_bug.cgi?id=143186
+
+        Reviewed by Zalan Bujtas.
+
+        We can early return from RenderLayer::intersectsDamageRect() if the
+        damageRect is empty, since nothing will intersect with the empty rect.
+        
+        Slight performance gain when scrolling overflow-scroll with lots of nested,
+        clipping layers.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::calculateClipRects):
+
+2015-03-28  Anders Carlsson  <andersca@apple.com>
+
+        Remove an unused SPI method from WebKitLegacy
+        https://bugs.webkit.org/show_bug.cgi?id=143185
+
+        Reviewed by Sam Weinig.
+
+        * loader/appcache/ApplicationCacheStorage.cpp:
+        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Deleted.
+        * loader/appcache/ApplicationCacheStorage.h:
+
+2015-03-28  Joonghun Park  <jh718.park@samsung.com>
+
+        nullptr cleanup in InlineFooBox classes
+        https://bugs.webkit.org/show_bug.cgi?id=143178
+
+        Reviewed by Csaba Osztrogonác.
+
+        No new tests, no behavior changes
+
+        Replace 0 with nullptr in InlineFooBox classes.
+
+        * rendering/InlineBox.cpp:
+        (WebCore::InlineBox::prevLeafChildIgnoringLineBreak):
+        * rendering/InlineFlowBox.cpp:
+        (WebCore::InlineFlowBox::removeChild):
+        (WebCore::InlineFlowBox::deleteLine):
+        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
+        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+        * rendering/InlineFlowBox.h:
+        (WebCore::InlineFlowBox::InlineFlowBox):
+        * rendering/InlineTextBox.h:
+        (WebCore::InlineTextBox::InlineTextBox):
+        * rendering/RootInlineBox.cpp:
+        (WebCore::RootInlineBox::getLogicalStartBoxWithNode):
+        (WebCore::RootInlineBox::getLogicalEndBoxWithNode):
+        * rendering/RootInlineBox.h:
+        * rendering/svg/SVGInlineTextBox.cpp:
+        (WebCore::SVGInlineTextBox::SVGInlineTextBox):
+        (WebCore::SVGInlineTextBox::releasePaintingResource):
+        (WebCore::SVGInlineTextBox::restoreGraphicsContextAfterTextPainting):
+        * rendering/svg/SVGRootInlineBox.cpp:
+        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
+        (WebCore::findFirstAndLastAttributesInVector):
+        * rendering/svg/SVGRootInlineBox.h:
+
+2015-03-27  Simon Fraser  <simon.fraser@apple.com>
+
+        More modern loops in RenderLayer.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=143175
+
+        Reviewed by Ryosuke Niwa.
+
+        Use modern loops in more places in RenderLayer.app.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::update3DTransformedDescendantStatus):
+        (WebCore::RenderLayer::paint):
+        (WebCore::performOverlapTests):
+        (WebCore::RenderLayer::paintFixedLayersInNamedFlows):
+        (WebCore::RenderLayer::paintList):
+        (WebCore::RenderLayer::collectFragments):
+        (WebCore::RenderLayer::updatePaintingInfoForFragments):
+        (WebCore::RenderLayer::paintTransformedLayerIntoFragments):
+        (WebCore::RenderLayer::calculateClipRects):
+
+2015-03-27  Simon Fraser  <simon.fraser@apple.com>
+
+        nullptr cleanup in RenderLayer
+        https://bugs.webkit.org/show_bug.cgi?id=143174
+
+        Reviewed by Ryosuke Niwa.
+
+        Replace 0 with nullptr in RenderLayer.cpp.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::filterRenderer):
+        (WebCore::RenderLayer::updateLayerPositionsAfterLayout):
+        (WebCore::RenderLayer::updateLayerPositionsAfterOverflowScroll):
+        (WebCore::RenderLayer::positionNewlyCreatedOverflowControls):
+        (WebCore::RenderLayer::enclosingOverflowClipLayer):
+        (WebCore::RenderLayer::enclosingCompositingLayer):
+        (WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
+        (WebCore::RenderLayer::enclosingFilterLayer):
+        (WebCore::RenderLayer::enclosingFilterRepaintLayer):
+        (WebCore::RenderLayer::clippingRootForPainting):
+        (WebCore::RenderLayer::transparentPaintingAncestor):
+        (WebCore::transparencyClipBox):
+        (WebCore::RenderLayer::removeChild):
+        (WebCore::RenderLayer::removeOnlyThisLayer):
+        (WebCore::RenderLayer::insertOnlyThisLayer):
+        (WebCore::accumulateOffsetTowardsAncestor):
+        (WebCore::RenderLayer::enclosingScrollableArea):
+        (WebCore::RenderLayer::enclosingPaginationLayerInSubtree):
+        (WebCore::RenderLayer::enclosingElement):
+        (WebCore::RenderLayer::enclosingFlowThreadAncestor):
+        (WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
+        (WebCore::RenderLayer::hitTestLayer):
+        (WebCore::RenderLayer::hitTestTransformedLayerInFragments):
+        (WebCore::RenderLayer::hitTestLayerByApplyingTransform):
+        (WebCore::RenderLayer::hitTestList):
+        (WebCore::RenderLayer::updateClipRects):
+        (WebCore::RenderLayer::clipRects):
+        (WebCore::RenderLayer::calculateClipRects):
+
+2015-03-27  Gwang Yoon Hwang  <yoon@igalia.com>
+
+        [TexMap] Seperate BitmapTexture related classes implementations from TextureMapper
+        https://bugs.webkit.org/show_bug.cgi?id=142386
+
+        Reviewed by Žan Doberšek.
+
+        TextureMapper and TextureMapperGL are bloated and tightly coupled with
+        BitmapTexture. We should move these classes to seperated file of their own.
+        Also, this patch removes friend relationship from TextureMapperGL and  its
+        subsidiary classes.
+
+        The main purpose of this refactoring is to expose BitmapTexturePool to
+        renderers of platformlayers like Video and Canvas. By doing this, each
+        renderer can acquire textures from the global texture pool to paint
+        their contents directly.
+
+        No new tests needed.
+
+        * PlatformEfl.cmake:
+        * PlatformGTK.cmake:
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+        Include BitmapTextureGL and BitmapTexturePool explicitly
+
+        * platform/graphics/texmap/BitmapTexture.cpp: Added.
+        * platform/graphics/texmap/BitmapTexture.h: Added.
+        (WebCore::BitmapTexture::updateContents):
+        Exclude BitmapTexture class from TextureMapper
+
+        * platform/graphics/texmap/BitmapTextureGL.cpp: Added.
+        * platform/graphics/texmap/BitmapTextureGL.h: Added.
+        Exclude BitmapTextureGL class from TextureMapperGL
+        (WebCore::BitmapTextureGL::clipStack): Added.
+        Add the getter for clipStack for TextureMapperGL
+        (WebCore::BitmapTextureGL::Bind): Deleted.
+        (WebCore::BitmapTextureGL::BindAsSurface): Added.
+        Bind used TextureMapperGL's internal data directly to compute projection matrix as a friend class,
+        However, TextureMapperGL can compute projection matrix itself after binding job, so this
+        friend ship is not needed. Also, this patch renames Bind to BindAsSurface to remove ambiguity.
+
+        * platform/graphics/texmap/BitmapTextureImageBuffer.cpp: Added.
+        * platform/graphics/texmap/BitmapTextureImageBuffer.h: Added.
+        Exclude BitmapTextureImageBuffer class from TextureMapperImageBuffer
+
+        * platform/graphics/texmap/BitmapTexturePool.cpp: Added.
+        * platform/graphics/texmap/BitmapTexturePool.h: Added.
+        Exclude BitmapTexturePool class from TextureMapperGL
+        (WebCore::BitmapTexturePool::acquireTexture):
+        Modified to use passed GraphicsContext3D instead of TextureMapperGL to remove redundant coupling
+
+        * platform/graphics/texmap/TextureMapper.cpp:
+        * platform/graphics/texmap/TextureMapper.h:
+        Remove BitmapTexturePool and BitmapTexture from its implementation.
+
+        * platform/graphics/texmap/TextureMapperGL.cpp:
+        * platform/graphics/texmap/TextureMapperGL.h:
+        Remove BitmapTextureGL from its implementation.
+        (WebCore::TextureMapperGL::TextureMapperGL):
+        (WebCore::TextureMapperGL::clipStack):
+        (WebCore::TextureMapperGL::bindSurface):
+        (WebCore::TextureMapperGL::currentSurface):
+        Add a getter of the current surface for filtering operation in BitmapTextureGL.
+        It would be clear to move filtering operation from BitmapTextureGL to TextureMapperGL later.
+
+        (WebCore::TextureMapperGL::ClipStack):
+        Move inner class declaration to public.
+
+        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
+        * platform/graphics/texmap/TextureMapperImageBuffer.h:
+        Remove BitmapTextureImageBuffer from its implementation.
+
+2015-03-27  Tim Horton  <timothy_horton@apple.com>
+
+        WebProcess started by editable WKWebView spends 15% of its initialization time loading DataDetectors
+        https://bugs.webkit.org/show_bug.cgi?id=143142
+        <rdar://problem/20324495>
+
+        Reviewed by Anders Carlsson.
+
+        Calling DataDetectorsLibrary() is expensive; we should avoid doing it
+        until actually necessary. When loading a page that makes a caret selection,
+        ServicesOverlayController was calling DataDetectorsLibrary() (ignoring the fact
+        that a caret selection can't have any services associated with it) to avoid
+        crashing on systems where DataDetectors is not available. Instead, we should
+        first check if there's anything to do, and then check for the existence
+        of DataDetectors.
+
+        * page/mac/ServicesOverlayController.mm:
+        (WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
+        Build the list of phone number ranges, and bail (clearing the potential highlights)
+        if it is empty, before calling DataDetectorsLibrary().
+
+        (WebCore::ServicesOverlayController::buildSelectionHighlight):
+        Check the list of selection rects, and bail (clearing the potential highlights)
+        if it is empty, before calling DataDetectorsLibrary().
+
+2015-03-27  Jer Noble  <jer.noble@apple.com>
+
+        [Mac] Safari fails to fire page "load" event with video[preload=none]
+        https://bugs.webkit.org/show_bug.cgi?id=143147
+
+        Reviewed by Simon Fraser.
+
+        Test: media/video-page-load-preload-none.html
+
+        When told to load() when preload == None, set the networkState to Idle.
+        This causes HTMLMediaElement to set the shouldDelayLoadEvent flag to
+        false, and allows the page's 'load' event to fire.
+
+        Drive-by fix: add setNetworkState() and setReadyState() methods to
+        MediaPlayerPrivateAVFoundation, reducing a bunch of code duplication.
+
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundation::load):
+        (WebCore::MediaPlayerPrivateAVFoundation::setNetworkState):
+        (WebCore::MediaPlayerPrivateAVFoundation::setReadyState):
+        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+
+2015-03-27  Alexey Proskuryakov  <ap@apple.com>
+
+        Calling crypto.webkitSubtle.generateKey causes page memory to never be released
+        https://bugs.webkit.org/show_bug.cgi?id=143151
+        rdar://problem/18940687
+
+        Reviewed by Tim Horton.
+
+        * crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::generatePair): Don't.
+
+2015-03-27  Brent Fulgham  <bfulgham@apple.com>
+
+        Null dereference in InbandMetadataTextTrack handling
+        https://bugs.webkit.org/show_bug.cgi?id=143144
+        <rdar://problem/18983250>
+
+        Reviewed by Eric Carlson.
+
+        * platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:
+        (WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes): Check for null return value from
+        'client()', just like we do in all other methods.
+
+2015-03-27  Oliver Hunt  <oliver@apple.com>
+
+        Forward additional CFNetwork ATS information to child processes
+        https://bugs.webkit.org/show_bug.cgi?id=143136
+
+        Reviewed by Anders Carlsson.
+
+        Declare SPI.
+
+        * platform/spi/cf/CFNetworkSPI.h:
+
+2015-03-27  Chris Dumez  <cdumez@apple.com>
+
+        [WK2][NetworkCache] We only cache responses with status codes that are cacheable by default
+        https://bugs.webkit.org/show_bug.cgi?id=143125
+        <rdar://problem/20321172>
+
+        Reviewed by Antti Koivisto.
+
+        Export a couple of extra symbols.
+
+        * platform/network/ResourceResponseBase.h:
+
+2015-03-27  Jer Noble  <jer.noble@apple.com>
+
+        HTMLMediaElement will fire 'seeked' before seek completes, leading to currentTime discontinuities.
+        https://bugs.webkit.org/show_bug.cgi?id=143132
+
+        Reviewed by Eric Carlson.
+
+        When seeking, if the ready state rises to >= HAVE_CURRENT_DATA, we will fire the 'seeked'
+        event and continue playback. However, if a media engine updates the ready state before its
+        seek operation actually completes, the currentTime it returns may still be the time before
+        the seek.
+
+        Wait until both the ready state rises to HAVE_CURRENT_DATA and m_player->seeking() returns
+        false before firing the 'seeked' event.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::parseAttribute):
+
+2015-03-26  Geoffrey Garen  <ggaren@apple.com>
+
+        Make some more objects use FastMalloc
+        https://bugs.webkit.org/show_bug.cgi?id=143122
+
+        Reviewed by Csaba Osztrogonác.
+
+        * Modules/geolocation/GeolocationController.h:
+        * Modules/geolocation/NavigatorGeolocation.h:
+        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
+        * Modules/notifications/NotificationController.h:
+        * Modules/webdatabase/DatabaseServer.h:
+        * css/CSSFontFaceSource.h:
+        * html/HTMLMediaSession.h:
+        * inspector/InspectorIndexedDBAgent.h:
+        * inspector/InspectorReplayAgent.h:
+        * page/CaptionUserPreferencesMediaAF.h:
+        * page/PageConsoleClient.h:
+        * page/PageDebuggable.h:
+        * page/animation/CSSPropertyAnimation.cpp:
+        * page/mac/ServicesOverlayController.h:
+        * platform/RemoteCommandListener.h:
+        * platform/Timer.h:
+        * platform/audio/MediaSessionManager.h:
+        * platform/mac/SystemSleepListenerMac.h:
+        * platform/mac/ThemeMac.h:
+        * rendering/svg/RenderSVGResourceSolidColor.h:
+        * replay/ReplayController.h:
+
+2015-03-27  Said Abou-Hallawa  <sabouhallawa@apple.com>
+
+        FEMorphology::platformApplyGeneric() should bail out if the radius is less than or equal to zero.
+        https://bugs.webkit.org/show_bug.cgi?id=142885.
+
+        Reviewed by Dean Jackson.
+
+        FEMorphology class implementation code clean up.
+        
+        Tests: svg/filters/feMorphology-radius-cases.svg
+
+        * platform/graphics/filters/FEMorphology.cpp:
+        (WebCore::shouldSupersedeExtremum): Reuse code instead of repeating it and
+        use < and > instead of =< and >=.
+        
+        (WebCore::pixelArrayIndex): Returns the array index of a pixel in an image
+        buffer, given: position(x, y), image width and the color channel.
+        
+        (WebCore::columnExtremum): Returns the extremum of a column of pixels.
+        
+        (WebCore::kernelExtremum): Returns the extremum of a filter kernel.
+        
+        (WebCore::FEMorphology::platformApplyGeneric): Apply some code clean-up.
+        The kernel size should be equal to radius of the filter. The extra pixel
+        was causing the resulted image to be asymmetric in some cases.
+        
+        (WebCore::FEMorphology::platformApplyDegenerate):
+        (WebCore::FEMorphology::platformApplySoftware): After applying scaling, we
+        still need to check the resulted radius is negative (overflow case) or less
+        than one (zero radius case) and treat these cases differently.
+        
+        (WebCore::FEMorphology::morphologyOperator): Deleted.
+        (WebCore::FEMorphology::radiusX): Deleted.
+        (WebCore::FEMorphology::radiusY): Deleted.
+        * platform/graphics/filters/FEMorphology.h:
+        (WebCore::FEMorphology::morphologyOperator):
+        (WebCore::FEMorphology::radiusX):
+        (WebCore::FEMorphology::radiusY):
+        Move a single line functions from the source file to the header file.
+
+2015-03-27  Antti Koivisto  <antti@apple.com>
+
+        Move CacheValidation to platform
+        https://bugs.webkit.org/show_bug.cgi?id=143133
+
+        Reviewed by Chris Dumez.
+
+        It deals with platform types only and is currently violating layering.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * loader/cache/CacheValidation.cpp: Removed.
+        * loader/cache/CacheValidation.h: Removed.
+        * platform/network/CacheValidation.cpp: Copied from Source/WebCore/loader/cache/CacheValidation.cpp.
+        * platform/network/CacheValidation.h: Copied from Source/WebCore/loader/cache/CacheValidation.h.
+
+2015-03-27  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r177896.
+        https://bugs.webkit.org/show_bug.cgi?id=142978
+
+        Loading libgstclutter.so in-process hangs web process
+        (Requested by mcatanzaro on #webkit).
+
+        Reverted changeset:
+
+        "[GStreamer] Disable gst-plugin-scanner if seccomp filters are
+        enabled"
+        https://bugs.webkit.org/show_bug.cgi?id=140069
+        http://trac.webkit.org/changeset/177896
+
+2015-03-26  Antti Koivisto  <antti@apple.com>
+
+        Respect cache-control directives in request
+        https://bugs.webkit.org/show_bug.cgi?id=143121
+        rdar://problem/19714040
+
+        Reviewed by Chris Dumez.
+
+        Test: http/tests/cache/disk-cache/disk-cache-request-headers.html
+
+        * loader/cache/CacheValidation.cpp:
+        (WebCore::isCacheHeaderSeparator):
+        (WebCore::isControlCharacter):
+        (WebCore::trimToNextSeparator):
+        (WebCore::parseCacheHeader):
+        (WebCore::parseCacheControlDirectives):
+
+            Factor Cache-control parsing here so it can be used for both requests and responses.
+
+        * loader/cache/CacheValidation.h:
+        * platform/network/ResourceRequestBase.h:
+        * platform/network/ResourceResponseBase.cpp:
+        (WebCore::ResourceResponseBase::ResourceResponseBase):
+        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
+        (WebCore::ResourceResponseBase::cacheControlContainsNoCache):
+        (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
+        (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate):
+        (WebCore::ResourceResponseBase::cacheControlMaxAge):
+        (WebCore::isCacheHeaderSeparator): Deleted.
+        (WebCore::isControlCharacter): Deleted.
+        (WebCore::trimToNextSeparator): Deleted.
+        (WebCore::parseCacheHeader): Deleted.
+        * platform/network/ResourceResponseBase.h:
+
+2015-03-27  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
+
+        [GStreamer] share GL context in pipeline, part 2
+        https://bugs.webkit.org/show_bug.cgi?id=143049
+
+        Reviewed by Carlos Garcia Campos.
+
+        This patch, instead of cluttering the GstGL attributes creation in
+        ::handleSyncMessage(), creates a new method ::ensureGstGLContext(),
+        where those attributes are defined. This method is guarded by
+        USE(GSTREAMER_GL)
+
+        ::handlSyncMessage() shall return nothing, according to GStreamer
+        documentation, not a boolean.
+
+        The GstGL attributes are now GRefPtr<> to avoid memory leaks.
+
+        The GstGLAPI and GstGLPlatform are now set given by the pre-processor
+        directives, and the code in ::ensureGstGLContext() is simpler.
+
+        No new tests because this is platform specific and it depends in the
+        run-time availability and configurations of GstGL elements.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
+        Don't initialise the GstGL attributes since are GRefPtr<>
+        (WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage): Changed the
+        signature to use void instead of gboolean.
+        (WebCore::MediaPlayerPrivateGStreamer::ensureGstGLContext): New method.
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
 2015-03-26  Jeremy Jones  <jeremyj@apple.com>
 
         Optimized Fullscreen fails to cleanup because of no longer necessary release of m_playerController in exitFullscreen()