[CSS Grid Layout] Upgrade align-self and align-items parsing to CSS 3
[WebKit-https.git] / Source / WebCore / ChangeLog
index b93417d..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()
+        https://bugs.webkit.org/show_bug.cgi?id=143120
+
+        Reviewed by Eric Carlson.
+
+        We used to release m_playerController in WebVideoFullscreenInterfaceAVKit::exitFullscreen() in order to make sure 
+        media state was reset. This is no longer necessary as we now have a way the model can explicitly request resetting the
+        media state via resetMediaState(). m_playerController is already released in 
+        WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal(). Releasing it prematurely can actually prevent the exit
+        fullscreen process from completing successfully.
+
+        * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
+        (WebVideoFullscreenInterfaceAVKit::exitFullscreen):
+
+2015-03-26  Zalan Bujtas  <zalan@apple.com>
+
+        Inline continuation code should not take anonymous containing wrapper granted.
+        https://bugs.webkit.org/show_bug.cgi?id=133312
+
+        Reviewed by Dave Hyatt.
+
+        It's wrong to assume that when RenderInline is part of an inline continuation, its containing block
+        is an anonymous wrapper and its sibling might be a block level renderer.
+        When the inline continuation is no longer needed, for example when the block level renderer that initiated the continuation
+        is detached from the render tree, the inline renderes still continue to form continuation.(however they no longer require
+        anonymous wrappers)
+
+        Test: fast/inline/crash-when-position-property-is-changed-and-no-longer-in-continuation.html
+
+        * rendering/RenderInline.cpp:
+        (WebCore::updateStyleOfAnonymousBlockContinuations):
+        (WebCore::RenderInline::styleDidChange):
+
+2015-03-26  Tim Horton  <timothy_horton@apple.com>
+
+        REGRESSION (r181358 and r181507): Lots of sites think that we support touch events on OS X
+        https://bugs.webkit.org/show_bug.cgi?id=142888
+        <rdar://problem/20227304>
+
+        Reviewed by Beth Dakin.
+
+        * dom/Document.idl:
+        * dom/Element.idl:
+        * html/HTMLBodyElement.idl:
+        * html/HTMLFrameSetElement.idl:
+        * page/DOMWindow.idl:
+        Re-conditionalize a lot of event listeners; sites test ("ontouchstart" in window), which
+        is not covered by NotEnumerable, and so r181358 and r181507 broke a bunch of sites
+        (apple.com, blaze.com, anything using nicescroll.js, etc.) by causing them to think
+        that (Mac) Safari was touch-enabled.
+
+2015-03-26  Geoffrey Garen  <ggaren@apple.com>
+
+        "lineNo" does not match WebKit coding style guidelines
+        https://bugs.webkit.org/show_bug.cgi?id=143119
+
+        Reviewed by Michael Saboff.
+
+        We can afford to use whole words.
+
+        * bindings/js/JSLazyEventListener.cpp:
+        (WebCore::JSLazyEventListener::initializeJSFunction):
+        * bindings/js/JSMainThreadExecStateInstrumentation.h:
+        (WebCore::JSMainThreadExecState::instrumentFunctionCall):
+        * inspector/InspectorDOMAgent.cpp:
+        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
+        * testing/Internals.cpp:
+        (WebCore::Internals::parserMetaData):
+
+2015-03-26  Roger Fong  <roger_fong@apple.com>
+
+        Apply blur effect to media control background.
+        https://bugs.webkit.org/show_bug.cgi?id=143116.
+        <rdar://problem/20316964>.
+
+        Reviewed by Brent Fulgham.
+
+        There are still a few issues, like the borders of the controls being blurred with black,
+        and the volume slider background not showing the blur effect. Will fix those separately.
+
+        Add CSS for new divs to create blur effect using back drop filters and blend modes.
+        * Modules/mediacontrols/mediaControlsApple.css:
+        (audio::-webkit-media-controls-panel):
+        (audio::-webkit-media-controls-panel-tint):
+        (audio::-webkit-media-controls-panel-background):
+        (audio::-webkit-media-controls-panel .volume-box):
+        (audio::-webkit-media-controls-volume-slider-container-background):
+        (audio::-webkit-media-controls-volume-slider-container-tint):
+        (audio::-webkit-media-controls-toggle-closed-captions-button): Adjust fill.
+        (audio::-webkit-media-controls-fullscreen-button): Adjust fill.
+        (audio::-webkit-media-controls-fullscreen-button.exit): Adjust fill.
+        (video:-webkit-full-screen::-webkit-media-controls-panel):
+        (audio:-webkit-full-screen::-webkit-media-controls-panel-tint):
+        (audio:-webkit-full-screen::-webkit-media-controls-panel-background):
+        (video:-webkit-full-screen::-webkit-media-controls-panel .volume-box):
+        (video:-webkit-full-screen::-webkit-media-controls-play-button):
+        (video:-webkit-full-screen::-webkit-media-controls-seek-back-button):
+        (video:-webkit-full-screen::-webkit-media-controls-seek-forward-button):
+        (video:-webkit-full-screen::-webkit-media-controls-timeline-container):
+        (video:-webkit-full-screen::-webkit-media-controls-status-display):
+        (audio::-webkit-media-controls-panel .volume-box:active): Deleted.
+        * Modules/mediacontrols/mediaControlsApple.js:
+        (Controller.prototype.createControls):
+        (Controller.prototype.configureInlineControls): Add new divs for blurred background effect.
+        (Controller.prototype.configureFullScreenControls): Ditto.
+        (Controller.prototype.handlePanelMouseDown): The tint div is now in front.
+        (Controller.prototype.drawTimelineBackground): Adjust colors to make border look better with new background.
+        (Controller.prototype.drawVolumeBackground): Ditto.
+
+2015-03-26  Geoffrey Garen  <ggaren@apple.com>
+
+        Assertion firing in JavaScriptCore/parser/parser.h for statesman.com site
+        https://bugs.webkit.org/show_bug.cgi?id=142974
+
+        Reviewed by Joseph Pecoraro.
+
+        * bindings/js/JSLazyEventListener.cpp:
+        (WebCore::JSLazyEventListener::initializeJSFunction): Use the new override
+        line number API to guarantee that errors will map to the .html file locations
+        that we like.
+
+        * bindings/js/ScriptController.cpp:
+        (WebCore::ScriptController::eventHandlerPosition): Added a FIXME to cover
+        some cases where our line and column numbers are still nonsense.
+
+2015-03-26  Beth Dakin  <bdakin@apple.com>
+
+        Relevant repainted objects callback is inaccurate and inconsistent for PDF 
+        documents
+        https://bugs.webkit.org/show_bug.cgi?id=143118
+        -and corresponding-
+        rdar://problem/13371582
+
+        Reviewed by Tim Horton.
+
+        Investigating this bug resulted in finding two things that should change for the 
+        relevant repainted objects heuristic. First, we should not count any objects 
+        painted while updating control tints. And secondly, we should not use it at all 
+        for plugin documents. In other documents, we count the plugin area as “painted” 
+        when we get to paint whether or not the plugin has actually loaded. This is 
+        intentional because it allows us to account for chunks of the page that will be 
+        filled in by possibly slow-loading ads. However, if the plugin is the whole 
+        document, then the heuristic just doesn’t make any sense and it leads to 
+        inconsistent behavior at different window sizes. So we’ll only count plugins when 
+        the document is not a plugin document. 
+
+        Don’t count objects during this paint!
+        * page/FrameView.cpp:
+        (WebCore::FrameView::updateControlTints):
+        * page/Page.h:
+        (WebCore::Page::setIsCountingRelevantRepaintedObjects):
+
+        Make sure the document is not a plugin document.
+        * rendering/RenderEmbeddedObject.cpp:
+        (WebCore::RenderEmbeddedObject::paint):
+
+2015-03-26  Alex Christensen  <achristensen@webkit.org>
+
+        Progress towards CMake on Mac.
+        https://bugs.webkit.org/show_bug.cgi?id=143112
+
+        Reviewed by Chris Dumez.
+
+        * CMakeLists.txt:
+        * PlatformEfl.cmake:
+        * PlatformGTK.cmake:
+        * PlatformMac.cmake:
+        * platform/graphics/mac/IconMac.mm:
+
+2015-03-26  Jer Noble  <jer.noble@apple.com>
+
+        [iOS] Accessibility crashing because MediaPlayer is laying out UI off the main thread
+        https://bugs.webkit.org/show_bug.cgi?id=142970
+
+        Reviewed by Eric Carlson.
+
+        isMainThread() will (ironically) return true if called from the web thread. Rather than dispatch
+        synchronously to the main thread to allocate the _volumeView, dispatch asynchronously and handle
+        the case where the MPVolumeView has not yet been created.
+
+        * platform/audio/ios/MediaSessionManagerIOS.mm:
+        (-[WebMediaSessionHelper allocateVolumeView]): Dispatch to the main thread to allocate. Move notification
+            registration to -setVolumeView:.
+        (-[WebMediaSessionHelper setVolumeView:]): Added. Register/Unregister for route availablitiy notifications.
+        (-[WebMediaSessionHelper hasWirelessTargetsAvailable]): Handle the possibility of a nil _volumeView.
+
+2015-03-26  Benjamin Poulain  <bpoulain@apple.com>
+
+        Fix state maching debugging after r181964
+        https://bugs.webkit.org/show_bug.cgi?id=143082
+
+        Reviewed by Alex Christensen.
+
+        * contentextensions/ContentExtensionCompiler.cpp:
+        (WebCore::ContentExtensions::compileRuleList):
+
+2015-03-25  David Hyatt  <hyatt@apple.com>
+
+        Improve the offsetWidth/Height layout optimization
+        https://bugs.webkit.org/show_bug.cgi?id=143008
+
+        Reviewed by Zalan Bujtas.
+
+        * dom/Document.cpp:
+        (WebCore::Document::updateLayoutIfDimensionsOutOfDate):
+        * dom/Document.h:
+        Change Element* to Element&. Clean up the dimension bits to use shifting. Remove both the inline and
+        the positioning restrictions on the optimization check.
+
+        * dom/Element.cpp:
+        (WebCore::Element::offsetWidth):
+        (WebCore::Element::offsetHeight):
+        Change to use Element& instead of Element*.
+
+        (WebCore::Element::clientWidth):
+        (WebCore::Element::clientHeight):
+        (WebCore::Element::scrollWidth):
+        (WebCore::Element::scrollHeight):
+        Turn on the optimization for clientWidth/Height and scrollWidth/Height.
+
+2015-03-26  Brady Eidson  <beidson@apple.com>
+
+        Apply ContentExtension actions after redirects.
+        <rdar://problem/20062613> and https://bugs.webkit.org/show_bug.cgi?id=143055
+
+        Reviewed by Alex Christensen.
+
+        Tests: http/tests/contentextensions/loading/main-resource-redirect-blocked.php
+               http/tests/contentextensions/subresource-redirect-blocked.html
+
+        This patch moves the "run a URL against the content extension" code from CachedResourceLoader to
+        the ContentExtensionsBackend.
+
+        That allows it to be shared between the CachedResourceLoader where loads are initiated and 
+        ResourceLoader where redirects are handled.
+
+        * contentextensions/ContentExtension.cpp:
+        (WebCore::ContentExtensions::ContentExtension::globalDisplayNoneStyleSheet):
+
+        * contentextensions/ContentExtensionsBackend.cpp:
+        (WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
+        (WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
+        * contentextensions/ContentExtensionsBackend.h:
+
+        * loader/NetscapePlugInStreamLoader.cpp:
+        (WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
+
+        * loader/ResourceLoadInfo.h:
+
+        * loader/ResourceLoader.cpp:
+        (WebCore::ResourceLoader::ResourceLoader):
+        (WebCore::ResourceLoader::willSendRequest):
+        * loader/ResourceLoader.h:
+
+        * loader/SubresourceLoader.cpp:
+        (WebCore::SubresourceLoader::SubresourceLoader):
+
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::requestResource):
+
+        * page/UserContentController.cpp:
+        (WebCore::UserContentController::processContentExtensionRulesForLoad):
+        (WebCore::UserContentController::actionsForResourceLoad): Deleted.
+        (WebCore::UserContentController::globalDisplayNoneStyleSheet): Deleted.
+        (WebCore::UserContentController::displayNoneCSSRule): Deleted.
+        * page/UserContentController.h:
+
+2015-03-26  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        Crash when laying out (char)0
+        https://bugs.webkit.org/show_bug.cgi?id=143103
+
+        Reviewed by Dean Jackson.
+
+        We currently cache a character -> Font mapping in a HashMap.
+        However, keys in Hashmaps can't be 0. This patch simply skips
+        the cache in this case.
+
+        No new tests, for now. I'm having trouble creating a test because
+        the site that causes this bug generates their page using script,
+        and the script is all minified, and difficult to understand. I
+        will contact the owner of the site and ask for and unminified
+        version of their sources. However, I don't want to that to block
+        this tiny fix from going in.
+
+        * platform/graphics/Font.cpp:
+        (WebCore::Font::systemFallbackFontForCharacter):
+
+2015-03-26  Jer Noble  <jer.noble@apple.com>
+
+        [Mac][EME] Crash at com.apple.WebCore: WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys + 177
+        https://bugs.webkit.org/show_bug.cgi?id=143080
+
+        Reviewed by Eric Carlson.
+
+        Null-check m_certificate before dereferencing.
+
+        * platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
+        (WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys):
+
+2015-03-26  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: [role="button"][aria-pressed] should be exposed as AXCheckbox:AXToggleButton, with role description of "toggle button"
+        https://bugs.webkit.org/show_bug.cgi?id=115298
+
+        Reviewed by Mario Sanchez Prada.
+
+        A role=button + aria-pressed object should be exposed as AXCheckbox on Mac now. It should also convert the
+        aria-pressed state into a 0, 1, 2 number value for the Mac.
+
+        Test: platform/mac/accessibility/aria-pressed-button-attributes.html
+
+        * accessibility/AccessibilityObject.cpp:
+        (WebCore::AccessibilityObject::checkboxOrRadioValue):
+        * accessibility/AccessibilityObject.h:
+        (WebCore::AccessibilityObject::isToggleButton):
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
+        (createAccessibilityRoleMap):
+        (-[WebAccessibilityObjectWrapper subrole]):
+        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2015-03-25  Dean Jackson  <dino@apple.com>
+
+        CSS blend modes do not parse when in the shadow tree
+        https://bugs.webkit.org/show_bug.cgi?id=143067
+        <rdar://problem/20302662>
+
+        Reviewed by Anders Carlson.
+
+        The media controls style sheets are injected as UA stylesheets
+        when we come across a <video> or <audio> element. These stylesheets
+        have a different parsing context than the document stylesheets -
+        one that uses the default constructor, which initializes some
+        features like cssCompositingEnabled to false without checking
+        the runtime state.
+
+        The easy fix is to use the global state to initialize the context.
+
+        Unfortunately we can't test this since it only occurs in the shadow
+        tree.
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParserContext::CSSParserContext): Check the state
+        of RuntimeEnabledFeatures to initialize CSS Regions and
+        CSS Compositing (Blending).
+
+2015-03-25  Chris Fleizach  <cfleizach@apple.com>
+
+        AX: table cells that use display:block render the table inaccessible to VoiceOver
+        https://bugs.webkit.org/show_bug.cgi?id=143007
+
+        Reviewed by Mario Sanchez Prada.
+
+        When display:block is used on a table cell, it was being ignored because it was anonymous.
+        This is still a valid scenario however if it's still inside of a valid table.
+
+        Test: accessibility/table-cell-display-block.html
+
+        * accessibility/AccessibilityTableCell.cpp:
+        (WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored):
+
+2015-03-25  Tim Horton  <timothy_horton@apple.com>
+
+        Add a preference to prevent "user-scalable=no" from having any effect
+        https://bugs.webkit.org/show_bug.cgi?id=143032
+
+        Reviewed by Sam Weinig.
+
+        * page/ViewportConfiguration.cpp:
+        (WebCore::ViewportConfiguration::ViewportConfiguration):
+        (WebCore::ViewportConfiguration::allowsUserScaling):
+        * page/ViewportConfiguration.h:
+        (WebCore::ViewportConfiguration::setForceAlwaysUserScalable):
+        If forceAlwaysUserScalable is set to true, force "user-scalable=yes".
+
+2015-03-25  Dan Bernstein  <mitz@apple.com>
+
+        Another attempt to get the iOS EWS building again.
+
+        * WebCore.xcodeproj/project.pbxproj:
+
+2015-03-25  Alex Christensen  <achristensen@webkit.org>
+
+        Add case-insensitive checks to DFA bytecode.
+        https://bugs.webkit.org/show_bug.cgi?id=142977
+
+        Reviewed by Benjamin Poulain.
+
+        * contentextensions/DFABytecode.h:
+        (WebCore::ContentExtensions::instructionSizeWithArguments):
+        * contentextensions/DFABytecodeCompiler.cpp:
+        (WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
+        (WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValueRange):
+        Add case-insensitive bytecode.
+        (WebCore::ContentExtensions::DFABytecodeCompiler::compileNodeTransitions):
+        Check to see if case-insensitive bytecodes can be used.
+        (WebCore::ContentExtensions::DFABytecodeCompiler::compileCheckForRange):
+        * contentextensions/DFABytecodeCompiler.h:
+        (WebCore::ContentExtensions::DFABytecodeCompiler::Range::Range):
+        Added Range structure to be able to count the ranges in a future patch deciding if we want to use jump tables.
+        * contentextensions/DFABytecodeInterpreter.cpp:
+        (WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
+        Interpret case-insensitive bytecodes.
+
+2015-03-25  Sam Weinig  <sam@webkit.org>
+
+        Address additional review feedback from https://bugs.webkit.org/show_bug.cgi?id=143059.
+
+        * contentextensions/ContentExtensionCompiler.cpp:
+        (WebCore::ContentExtensions::compileRuleList):
+        * contentextensions/ContentExtensionCompiler.h:
+        * contentextensions/ContentExtensionParser.cpp:
+        (WebCore::ContentExtensions::getTypeFlags):
+
+2015-03-25  Sam Weinig  <sam@webkit.org>
+
+        [Content Extensions] Convert content extension compiling to return error codes and write its output using a client
+        https://bugs.webkit.org/show_bug.cgi?id=143059
+
+        Reviewed by Alex Christensen.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        Add ContentExtensionError.h/cpp.
+
+        * contentextensions/ContentExtensionError.cpp: Added.
+        (WebCore::ContentExtensions::contentExtensionErrorCategory):
+        * contentextensions/ContentExtensionError.h: Added.
+        (WebCore::ContentExtensions::make_error_code):
+        Add ContentExtensionError enum and std::error_code adaptor.
+
+        * contentextensions/ContentExtensionCompiler.h:
+        Instead of returning CompiledContentExtensionData, use a client interface
+        to pass data. Eventually, this should be turned into a direct streaming 
+        interface so we can write directly to a file.
+
+        * contentextensions/ContentExtensionCompiler.cpp:
+        (WebCore::ContentExtensions::compileRuleList):
+        * contentextensions/ContentExtensionParser.cpp:
+        (WebCore::ContentExtensions::getTypeFlags):
+        (WebCore::ContentExtensions::loadTrigger):
+        (WebCore::ContentExtensions::loadAction):
+        (WebCore::ContentExtensions::loadRule):
+        (WebCore::ContentExtensions::loadEncodedRules):
+        (WebCore::ContentExtensions::parseRuleList):
+        * contentextensions/ContentExtensionParser.h:
+        Convert to return an error.
+
+2015-03-25  Beth Dakin  <bdakin@apple.com>
+
+        REGRESSION (r181660): Safari navigates to link after a starting and canceling a 
+        force preview
+        https://bugs.webkit.org/show_bug.cgi?id=143057
+        -and corresponding-
+        rdar://problem/20251436
+
+        Reviewed by Tim Horton.
+
+        This patch adds a value for ActionUpdated to the ImmediateActionStage enum. Now if 
+        m_immediateActionStage indicates that an immediate action has either begun or 
+        completed then we can have the same behavior.
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::handleMouseReleaseEvent):
+        * page/EventHandler.h:
+
+2015-03-25  Dean Jackson  <dino@apple.com>
+
+        MediaControls: Use font with fixed number width
+        https://bugs.webkit.org/show_bug.cgi?id=143018
+        <rdar://problem/20245415>
+
+        Reviewed by Eric Carlson.
+
+        Add a new font-family, specific to Apple platforms,
+        called -apple-system-font-monospaced-numbers. This is
+        a special variant of the system font which uses monospaced
+        forms for the number glyphs - allowing a time reading that
+        doesn't bounce around as the time changes.
+
+        * Modules/mediacontrols/mediaControlsApple.css: Media controls should
+        use the new font.
+        (audio::-webkit-media-controls-time-remaining-display):
+        * Modules/mediacontrols/mediaControlsiOS.css:
+        (audio::-webkit-media-controls-time-remaining-display):
+
+        * platform/graphics/ios/FontCacheIOS.mm: Request a new CTFontRef with
+        the appropriate attributes.
+        (WebCore::createCTFontWithFamilyNameAndWeight):
+        * platform/graphics/mac/FontCacheMac.mm: Ditto, but NSFont.
+        (WebCore::fontWithFamily):
+        * platform/spi/cocoa/CoreTextSPI.h: Expose the constants for
+        the new form so that the public SDK can build.
+
+2015-03-25  Alex Christensen  <achristensen@webkit.org>
+
+        [Content Extensions] Add multi-DFA compiling and interpreting.
+        https://bugs.webkit.org/show_bug.cgi?id=143010
+
+        Reviewed by Benjamin Poulain.
+
+        * contentextensions/ContentExtensionCompiler.cpp:
+        (WebCore::ContentExtensions::compileRuleList):
+        Compile multiple NFAs to DFAs.
+        * contentextensions/ContentExtensionsBackend.cpp:
+        (WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
+        Fixed a bug when there are no non-universal actions.
+        We still need to report that no ignore-previous-rules was hit to apply the
+        universal actions which are now accessed through DFABytecodeInterpreter::actionsFromDFARoot
+        and skipped in DFABytecodeInterpreter::interpret.
+        * contentextensions/DFABytecodeCompiler.cpp:
+        (WebCore::ContentExtensions::DFABytecodeCompiler::compile):
+        Add a header for each DFA.
+        * contentextensions/DFABytecodeInterpreter.cpp:
+        (WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot):
+        (WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
+        Interpret as many DFAs as there are in the bytecode.
+
+2015-03-25  Per Arne Vollan  <peavo@outlook.com>
+
+        [Win] Illegal character in project file.
+        https://bugs.webkit.org/show_bug.cgi?id=143051
+
+        Reviewed by Brent Fulgham.
+
+        There is an illegal character in the WebCore project filter.
+        WebCore files are shown unfiltered.
+
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+
+2015-03-25  David Hyatt  <hyatt@apple.com>
+
+        Add a pref to enable the new block-inside-inline model
+        https://bugs.webkit.org/show_bug.cgi?id=143050
+
+        Reviewed by Sam Weinig.
+
+        * page/Settings.in:
+
+2015-03-25  Dan Bernstein  <mitz@apple.com>
+
+        iOS Simulator build fix.
+
+        * platform/spi/cocoa/IOSurfaceSPI.h:
+
+2015-03-25  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r181932.
+        https://bugs.webkit.org/show_bug.cgi?id=143041
+
+        The test fails most of the time on bots (Requested by ap on
+        #webkit).
+
+        Reverted changeset:
+
+        "[Content Extensions] Add multi-DFA compiling and
+        interpreting."
+        https://bugs.webkit.org/show_bug.cgi?id=143010
+        http://trac.webkit.org/changeset/181932
+
+2015-03-24  Dean Jackson  <dino@apple.com>
+
+        Source/WebCore/rendering/RenderThemeMac.mm:2181:118: error: null passed to a callee that requires a non-null argument [-Werror,-Wnonnull]
+        https://bugs.webkit.org/show_bug.cgi?id=143039
+
+        Unreviewed build fix for newer versions of OS X.
+
+        * rendering/RenderThemeMac.mm: Define a null language parameter. This
+        seemed better than turning the clang warning off for just that
+        function.
+        (WebCore::AttachmentLayout::layOutTitle):
+        (WebCore::AttachmentLayout::layOutSubtitle):
+
+2015-03-24  Dan Bernstein  <mitz@apple.com>
+
+        Another attempt to fix the build.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/spi/cocoa/QuartzCoreSPI.h:
+
+2015-03-24  Alex Christensen  <achristensen@webkit.org>
+
+        [Content Extensions] Add multi-DFA compiling and interpreting.
+        https://bugs.webkit.org/show_bug.cgi?id=143010
+
+        Reviewed by Benjamin Poulain.
+
+        * contentextensions/ContentExtensionCompiler.cpp:
+        (WebCore::ContentExtensions::compileRuleList):
+        Compile multiple NFAs to DFAs.
+        * contentextensions/ContentExtensionsBackend.cpp:
+        (WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
+        Fixed a bug when there are no non-universal actions.
+        We still need to report that no ignore-previous-rules was hit to apply the
+        universal actions which are now accessed through DFABytecodeInterpreter::actionsFromDFARoot
+        and skipped in DFABytecodeInterpreter::interpret.
+        * contentextensions/DFABytecodeCompiler.cpp:
+        (WebCore::ContentExtensions::DFABytecodeCompiler::compile):
+        Add a header for each DFA.
+        * contentextensions/DFABytecodeInterpreter.cpp:
+        (WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot):
+        (WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
+        Interpret as many DFAs as there are in the bytecode.
+
+2015-03-24  Dan Bernstein  <mitz@apple.com>
+
+        Tried to fix the EWS build.
+
+        * platform/spi/cocoa/QuartzCoreSPI.h:
+
+2015-03-24  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r181898 and r181909.
+        https://bugs.webkit.org/show_bug.cgi?id=143034
+
+        Broke fast/regions/auto-size/autoheight-two-pass-layout-
+        complex-002.html (Requested by ap on #webkit).
+
+        Reverted changesets:
+
+        "Improve the offsetWidth/Height layout optimization"
+        https://bugs.webkit.org/show_bug.cgi?id=143008
+        http://trac.webkit.org/changeset/181898
+
+        "Disable layout dimensions optimization for RenderRegions"
+        https://bugs.webkit.org/show_bug.cgi?id=143017
+        http://trac.webkit.org/changeset/181909
+
+2015-03-24  Zhuo Li  <zachli@apple.com>
+
+        Scripts running in isolated world should not subject to a page's CSP about 'eval'.
+        https://bugs.webkit.org/show_bug.cgi?id=141316.
+
+        Reviewed by Geoffrey Garen.
+
+        * bindings/js/ScriptController.cpp:
+        (WebCore::ScriptController::initScript):
+        We should not impose the main world Content Security Policy onto the isolated world.
+
+2015-03-24  Chris Dumez  <cdumez@apple.com>
+
+        [Mac] Use .cpp file extension instead of .mm for SharedTimerCF and PowerObserverMac
+        https://bugs.webkit.org/show_bug.cgi?id=143026
+
+        Reviewed by Andy Estes.
+
+        Use .cpp file extension instead of .mm for SharedTimerCF and
+        PowerObserverMac.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/cf/SharedTimerCF.cpp: Renamed from Source/WebCore/platform/cf/SharedTimerCF.mm.
+        (WebCore::timerFired):
+        Use WTF::AutodrainedPool instead of @autoreleasepool {}.
+
+        * platform/mac/PowerObserverMac.cpp: Renamed from Source/WebCore/platform/mac/PowerObserverMac.mm.
+
+2015-03-24  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        REGRESSION (r181458): Heap use-after-free in JSSetIterator destructor
+        https://bugs.webkit.org/show_bug.cgi?id=142696
+
+        Reviewed and tweaked by Geoffrey Garen.
+
+        Use JSSetIterator/JSMapIterator to iterate over JSSet and JSMap.
+
+        * ForwardingHeaders/runtime/JSMapIterator.h: Added.
+        * ForwardingHeaders/runtime/JSSetIterator.h: Added.
+        * bindings/js/SerializedScriptValue.cpp:
+        (WebCore::CloneSerializer::serialize):
+
+2015-03-24  Dan Bernstein  <mitz@apple.com>
+
+        Tried to fix the iOS Simulator build.
+
+        * platform/spi/cocoa/QuartzCoreSPI.h:
+
+2015-03-24  Benjamin Poulain  <bpoulain@apple.com>
+
+        Make URL filter patterns matching consistent and add a simple canonicalization step
+        https://bugs.webkit.org/show_bug.cgi?id=142998
+
+        Reviewed by Alex Christensen.
+
+        This patch makes two changes to the url filter input:
+        -Make the matching "Search" by default, the pattern can now appear anywhere
+         in the URL by default.
+        -Make the input a little less fragile: do not explode on valid input
+         that is not formatted in a certain way.
+
+        To implement the search behavior, I simply add an implict ".*" in front of the patterns
+        when that make sense.
+
+        To make the input more solid, we do some little modification on the input:
+        -Remove duplicated ".*".
+        -Remove matching suffixes that do not bring new information.
+        -Unify all the ".*" in the same format.
+
+        Why do that here? That should be done through a graph analysis on the machine.
+
+        The reason is this is incredibly cheap compared to the graph analysis. Any state
+        removed upfront will save the handling of several hundred nodes in the deterministic
+        graph.
+
+        * contentextensions/URLFilterParser.cpp:
+        (WebCore::ContentExtensions::Term::isKnownToMatchAnyString):
+        (WebCore::ContentExtensions::Term::isUniversalTransition):
+        (WebCore::ContentExtensions::GraphBuilder::finalize):
+        (WebCore::ContentExtensions::GraphBuilder::assertionBOL):
+        (WebCore::ContentExtensions::GraphBuilder::fail):
+        (WebCore::ContentExtensions::GraphBuilder::simplifySunkTerms):
+
+2015-03-24  Chris Dumez  <cdumez@apple.com>
+
+        Regression(r181671): Caused Timer-related crashes on iOS / WK1
+        https://bugs.webkit.org/show_bug.cgi?id=143025
+
+        Reviewed by Andy Estes.
+
+        Call CFRunLoopAddTimer() on WebThreadRunLoop() instead of
+        CFRunLoopGetCurrent() for iOS, as we did before r181671.
+
+        I inadvertently changed this in r181671 when merging the Mac
+        and iOS implementations.
+
+        No new tests, already covered by existing tests.
+
+        * platform/cf/SharedTimerCF.mm:
+        (WebCore::setSharedTimerFireInterval):
+
 2015-03-24  Dan Bernstein  <mitz@apple.com>
 
         WebCore part of <rdar://problem/20282863> Transforms are flattened in snapshots of on-screen WKWebViews
 2015-03-24  Dan Bernstein  <mitz@apple.com>
 
         WebCore part of <rdar://problem/20282863> Transforms are flattened in snapshots of on-screen WKWebViews