FocusController::setFocusedNode() should be setFocusedElement().
[WebKit-https.git] / Source / WebCore / ChangeLog
index b441ca5..5b91e81 100644 (file)
+2013-05-26  Andreas Kling  <akling@apple.com>
+
+        FocusController::setFocusedNode() should be setFocusedElement().
+        <http://webkit.org/b/116780>
+
+        Reviewed by Antti Koivisto.
+
+        Only Elements can have focus, so make the public API of FocusController take Element*.
+
+        * WebCore.exp.in:
+        * page/FocusController.h:
+        * page/FocusController.cpp:
+        (WebCore::FocusController::setFocusedElement):
+
+            Out with the setFocusedNode(), in with the setFocusedElement().
+
+        * dom/Element.cpp:
+        (WebCore::Element::focus):
+        (WebCore::Element::blur):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::dispatchMouseEvent):
+        * plugins/PluginView.cpp:
+        (WebCore::PluginView::focusPluginElement):
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::setFocusedNodeIfNeeded):
+
+            Tweak for FocusController taking Element* instead of Node*.
+
+        (WebCore::FrameSelection::setFocusedElementIfNeeded):
+
+            Renamed from setFocusedNodeIfNeeded().
+
+        * editing/htmlediting.h:
+        * editing/htmlediting.cpp:
+        (WebCore::enclosingAnchorElement):
+
+            Cleaned up the loop for readability and made it return an Element.
+
+2013-05-26  Andreas Kling  <akling@apple.com>
+
+        Move some form control things from Element to HTMLFormControlElement.
+        <http://webkit.org/b/116779>
+
+        Reviewed by Antti Koivisto.
+
+        The following methods sit better on HTMLFormControlElement than on Element:
+
+            - formControlType()
+            - wasChangedSinceLastFormControlChangeEvent()
+            - setChangedSinceLastFormControlChangeEvent()
+            - dispatchFormControlChangeEvent()
+
+        Moved them, and devirtualized as much as possible.
+
+        * dom/Document.cpp:
+        (WebCore::Document::setFocusedNode):
+
+            Check if the old focus target is an Element before (possibly) dispatching a change event.
+
+        * dom/Element.cpp:
+        * dom/Element.h:
+
+            Removed some stub methods that were only used by HTMLFormControlElement subclasses.
+
+        * html/HTMLFormControlElement.cpp:
+        * html/HTMLFormControlElement.h:
+        (WebCore::isHTMLFormControlElement):
+        (WebCore::toHTMLFormControlElement):
+
+            Add toHTMLFormControlElement() helper with ASSERT_WITH_SECURITY_IMPLICATION.
+
+        * html/HTMLTextFormControlElement.h:
+
+            Sprinkle OVERRIDE.
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Move Node::supportsFocus() to Element.
+        <http://webkit.org/b/116778>
+
+        Reviewed by Antti Koivisto.
+
+        Node never supports focus, so move supportsFocus() to Element instead.
+
+        * dom/Element.h:
+        * dom/Node.cpp:
+        * dom/Node.h:
+
+            Removed Node::supportsFocus(), it always returned false anyway.
+
+        * accessibility/AccessibilityNodeObject.cpp:
+        (WebCore::AccessibilityNodeObject::canSetFocusAttribute):
+
+            Check that the underlying Node is an Element before asking if it supports focus.
+
+        * html/HTMLAnchorElement.h:
+        * html/HTMLAreaElement.h:
+        * html/HTMLBodyElement.h:
+        * html/HTMLElement.h:
+        * html/HTMLFieldSetElement.h:
+        * html/HTMLFormControlElement.h:
+        * html/HTMLFrameElementBase.h:
+        * html/HTMLMediaElement.h:
+        * html/HTMLOptGroupElement.h:
+        * html/HTMLOptionElement.h:
+        * html/HTMLOutputElement.h:
+        * svg/SVGAElement.h:
+        * svg/SVGCircleElement.h:
+        * svg/SVGEllipseElement.h:
+        * svg/SVGGElement.h:
+        * svg/SVGImageElement.h:
+        * svg/SVGLineElement.h:
+        * svg/SVGPathElement.h:
+        * svg/SVGPolyElement.h:
+        * svg/SVGRectElement.h:
+        * svg/SVGSVGElement.h:
+        * svg/SVGSwitchElement.h:
+        * svg/SVGSymbolElement.h:
+        * svg/SVGTextElement.h:
+        * svg/SVGUseElement.h:
+
+            OVERRIDE ALL THE THINGS!
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Move Node::isFocusable() to Element.
+        <http://webkit.org/b/116777>
+
+        Reviewed by Anders Carlsson.
+
+        Nodes cannot be focusable, so move isFocusable() from Node to Element.
+
+        * dom/Node.cpp:
+        * dom/Node.h:
+        * dom/Element.h:
+        * dom/Element.cpp:
+        (WebCore::Element::isFocusable):
+
+            Moved here from Node.
+
+        * dom/Document.cpp:
+        (WebCore::Document::setFocusedNode):
+        * accessibility/AccessibilityNodeObject.cpp:
+        (WebCore::AccessibilityNodeObject::determineAccessibilityRole):
+
+            Check that the underlying node is an Element before asking if it's focusable.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scrollToAnchor):
+
+            Renamed the 'anchorNode' variable to 'anchorElement' because reasons.
+
+        * html/HTMLAreaElement.h:
+        * html/HTMLFormControlElement.h:
+        * html/HTMLLabelElement.h:
+        * html/HTMLOptionElement.h:
+        * svg/SVGAElement.h:
+
+            Sprinkle OVERRIDE.
+
+        * html/ValidationMessage.cpp:
+        (WebCore::ValidationMessage::setMessage):
+
+            Update a comment to refer to Element::isFocusable() instead of Node.
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Move Node::tabIndex() to Element.
+        <http://webkit.org/b/116772>
+
+        Reviewed by Ryosuke Niwa.
+
+        Since only Elements are keyboard-focusable, it doesn't make sense for Node to have a tabIndex().
+
+        * dom/Element.h:
+        * dom/Node.cpp:
+        * dom/Node.h:
+
+            A Node can't have a tab index, so move tabIndex() to Element.
+
+        * page/FocusController.h:
+        * page/FocusController.cpp:
+        (WebCore::adjustedTabIndex):
+        (WebCore::FocusController::findElementWithExactTabIndex):
+        (WebCore::nextElementWithGreaterTabIndex):
+        (WebCore::previousElementWithLowerTabIndex):
+        (WebCore::FocusController::nextFocusableNode):
+        (WebCore::FocusController::previousFocusableNode):
+
+            Make this code deal in Element* when doing tab index stuff. FocusController needs
+            more Node->Element cleanup, but let's do that separately.
+
+        * html/HTMLAnchorElement.h:
+        * html/HTMLElement.h:
+        * html/HTMLFormControlElement.h:
+
+            Sprinkle OVERRIDE.
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Don't instantiate ChildNodeLists just to get a child count.
+        <http://webkit.org/b/116776>
+
+        Reviewed by Ryosuke Niwa.
+
+        Use ContainerNode::childNodeCount() instead of Node::childNodes()->length().
+
+        * editing/ApplyStyleCommand.cpp:
+        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        PluginDocument::pluginNode() should be pluginElement() instead.
+        <http://webkit.org/b/116774>
+
+        Reviewed by Anders Carlsson.
+
+        Make PluginDocument hand out a HTMLPlugInElement* instead of a Node*.
+
+        * dom/Document.cpp:
+        (WebCore::eventTargetNodeForDocument):
+        * html/PluginDocument.h:
+        * html/PluginDocument.cpp:
+        (WebCore::PluginDocumentParser::createDocumentStructure):
+        (WebCore::PluginDocument::pluginWidget):
+        (WebCore::PluginDocument::setPluginElement):
+        (WebCore::PluginDocument::detach):
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Remove Document::getFocusableNodes().
+        <http://webkit.org/b/116773>
+
+        Reviewed by Joseph Pecoraro.
+
+        This was added in r42191 and there are no remaining clients of the API.
+
+        * dom/Document.cpp:
+        * dom/Document.h:
+        * WebCore.exp.in:
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Move Node::focusDelegate() to Element.
+        <http://webkit.org/b/116768>
+
+        Reviewed by Anders Carlsson.
+
+        Only Element can be a focus delegate (it's currently only ever HTMLInputElement actually)
+        so move Node::focusDelegate() to Element. Sprinkled isElementNode() checks as needed.
+
+        * dom/Node.cpp:
+        * dom/Node.h:
+        * dom/Element.h:
+        * dom/Element.cpp:
+        * html/shadow/SliderThumbElement.cpp:
+        (WebCore::SliderThumbElement::focusDelegate):
+        * html/shadow/SliderThumbElement.h:
+        * rendering/RenderTheme.cpp:
+        (WebCore::RenderTheme::isFocused):
+        * rendering/RenderThemeMac.mm:
+        (WebCore::RenderThemeMac::paintSliderThumb):
+
+2013-05-25  Alberto Garcia  <agarcia@igalia.com>
+
+        Path: clean up addPathForRoundedRect()
+        https://bugs.webkit.org/show_bug.cgi?id=116765
+
+        Reviewed by Andreas Kling.
+
+        Reorganize code that is a bit redundant.
+
+        No new tests, no behavior change.
+
+        * platform/graphics/Path.cpp:
+        (WebCore::Path::addPathForRoundedRect):
+
+2013-05-25  Simon Fraser  <simon.fraser@apple.com>
+
+        Unprefix Page Visibility API
+        https://bugs.webkit.org/show_bug.cgi?id=102340
+
+        Reviewed by Tim Horton.
+        
+        Remove prefixes from the document properties, and the visibilitychanged event.
+        
+        Rename the "preview" state to "unloaded". The "unloaded" state is never
+        reached yet (see https://bugs.webkit.org/show_bug.cgi?id=116769).
+        
+        Add some comments to places where we should update the visibility state
+        when going in and out of the page cache, but cannot safely do so yet.
+
+        Tested by existing Page Visibility tests.
+
+        * dom/Document.cpp:
+        (WebCore::Document::pageVisibilityState):
+        (WebCore::Document::visibilityState):
+        (WebCore::Document::hidden):
+        (WebCore::Document::dispatchVisibilityStateChangeEvent):
+        * dom/Document.h:
+        * dom/Document.idl:
+        * dom/EventNames.h:
+        * history/CachedFrame.cpp:
+        (WebCore::CachedFrameBase::restore):
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::stopLoading):
+        * page/Page.cpp:
+        (WebCore::Page::setVisibilityState):
+        * page/PageVisibilityState.cpp:
+        (WebCore::pageVisibilityStateString):
+        * page/PageVisibilityState.h:
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Move Node::isMouseFocusable() to Element.
+        <http://webkit.org/b/116762>
+
+        Reviewed by Anders Carlsson.
+
+        Node::isMouseFocusable() would just return isFocusable(), which is never true for a non-Element
+        since Node::supportsFocus() always returns false. So move it to Element!
+
+        * dom/Node.h:
+        * dom/Node.cpp:
+        * dom/Element.h:
+        * dom/Element.cpp:
+        (WebCore::Element::isMouseFocusable):
+
+            Moved here from Node.
+
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::setFocusedNodeIfNeeded):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::dispatchMouseEvent):
+
+            Walk up the parent chain with parentOrShadowHostElement() instead of parentOrShadowHostNode().
+            Removed a misleading no-op hunk about mouse-focusable ShadowRoots, since ShadowRoots are not
+            Elements and thus cannot be mouse-focusable.
+
+        * page/TouchAdjustment.cpp:
+        (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
+
+            Check that the Node is an Element before asking if it's mouse-focusable.
+
+        * html/HTMLAnchorElement.h:
+        * html/HTMLAreaElement.h:
+        * html/HTMLFormControlElement.h:
+        * html/HTMLInputElement.h:
+        * html/HTMLMediaElement.h:
+        * html/HTMLSelectElement.h:
+        * html/HTMLTextAreaElement.h:
+        * html/shadow/ClearButtonElement.h:
+        * html/shadow/TextControlInnerElements.h:
+        * svg/SVGAElement.h:
+        * svg/SVGStyledElement.h:
+
+            Sprinkle OVERRIDE.
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Move Node::isKeyboardFocusable() to Element.
+        <http://webkit.org/b/116761>
+
+        Reviewed by Antti Koivisto.
+
+        Only Elements can be keyboard-focusable. Move the base isKeyboardFocusable() implementation to Element
+        and sprinkle OVERRIDE on subclass overrides.
+        FocusController gets some temporary type checks that will go away as that code moves to dealing in
+        Elements instead of Node.
+
+        * dom/Node.h:
+        * dom/Node.cpp:
+        * dom/Element.h:
+        * dom/Element.cpp:
+        (WebCore::Element::isKeyboardFocusable):
+
+            Move isKeyboardFocusable() from Node to Element.
+
+        * page/FocusController.cpp:
+        (WebCore::isNonFocusableShadowHost):
+        (WebCore::isFocusableShadowHost):
+        (WebCore::shouldVisit):
+        (WebCore::FocusController::advanceFocusInDocumentOrder):
+
+            Check that the inspected Node is an Element before querying isKeyboardFocusable().
+
+        * html/HTMLAnchorElement.h:
+        * html/HTMLAreaElement.h:
+        * html/HTMLFormControlElement.h:
+        * html/HTMLFrameOwnerElement.h:
+        * html/HTMLInputElement.h:
+        * html/HTMLPlugInElement.h:
+        * html/HTMLSelectElement.h:
+        * html/HTMLTextAreaElement.h:
+        * svg/SVGAElement.h:
+        * svg/SVGStyledElement.h:
+
+            Sprinkle OVERRIDE.
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Begin moving "focus" state logic from Node to Element.
+        <http://webkit.org/b/116760>
+
+        Reviewed by Antti Koivisto.
+
+        Only Elements can be focused, so merge the "focus" state logic from Node and ContainerNode
+        and move it into Element. There's a lot more iceberg under this tip, but we'll be starting
+        with setFocus(bool) and focused().
+
+        * dom/Node.h:
+        * dom/ContainerNode.cpp:
+        * dom/ContainerNode.h:
+        * dom/Element.cpp:
+        (WebCore::Element::isUserActionElementFocused):
+        (WebCore::Element::setFocus):
+        * dom/Element.h:
+        (WebCore::Element::focused):
+        * dom/Node.cpp:
+
+            Move focused() and setFocus(bool) from Node/ContainerNode to Element.
+
+        * dom/Document.cpp:
+        (WebCore::Document::setFocusedNode):
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::dispatchMouseEvent):
+
+            Check if the inspected Node is an Element before asking if it's focused.
+
+2013-05-25  Noam Rosenthal  <noam.rosenthal@nokia.com>
+
+        Direct pattern compositing breaks when no-repeat is set on a large layer
+        https://bugs.webkit.org/show_bug.cgi?id=116140
+
+        Reviewed by Antti Koivisto.
+
+        In some cases the directly composited background color logic overrides the layer's
+        contentsRect, which results in wrong rendering of tiled images.
+        This patch makes sure that the background image is applied after the solid color,
+        which ensures the correct contentsRect.
+
+        Test: compositing/patterns/direct-pattern-compositing-contain-no-repeat.html
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
+
+2013-05-24  Andreas Kling  <akling@apple.com>
+
+        Move "hover" state logic from Node to Element.
+        <http://webkit.org/b/116757>
+
+        Reviewed by Antti Koivisto.
+
+        Resolve a 7 year old FIXME by merging the "hover" state logic from Node and ContainerNode
+        and moving it all to Element instead.
+
+        * dom/Node.cpp:
+        (WebCore::Node::detach):
+        * dom/Element.cpp:
+        (WebCore::Element::detach):
+
+            Move Document::hoveredNodeDetached() call from Node::detach() to Element::detach().
+
+        (WebCore::Element::isUserActionElementHovered):
+        (WebCore::Element::setHovered):
+        * dom/Element.h:
+        (WebCore::Element::hovered):
+
+            Moved here from Node/ContainerNode.
+
+        * dom/UserActionElementSet.h:
+        (WebCore::UserActionElementSet::setHovered):
+        (WebCore::UserActionElementSet::setFlags):
+
+            Make setHovered() take an Element* instead of a Node*. I'd like to do this will all
+            of these methods eventually, so added a setFlags() helper with the tighter type.
+
+        * html/HTMLLabelElement.h:
+        * html/shadow/SpinButtonElement.h:
+
+            Sprinkle OVERRIDE on setHovered() overrides.
+
+        * dom/Document.cpp:
+        (WebCore::Document::updateHoverActiveState):
+        * accessibility/AccessibilityNodeObject.cpp:
+        (WebCore::AccessibilityNodeObject::isHovered):
+        * rendering/RenderTheme.cpp:
+        (WebCore::RenderTheme::isHovered):
+
+            Check if the inspected Node is an element before asking if it's hovered.
+
+2013-05-25  Andreas Kling  <akling@apple.com>
+
+        Document::formController() should return a reference.
+        <http://webkit.org/b/116758>
+
+        Reviewed by Antti Koivisto.
+
+        The formController() is created on demand, so return a reference instead.
+
+        * dom/Document.h:
+        * dom/Document.cpp:
+        (WebCore::Document::formController):
+        (WebCore::Document::setStateForNewFormElements):
+        * html/HTMLFormControlElementWithState.cpp:
+        (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
+        (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
+        (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
+        (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
+        * html/HTMLFormElement.cpp:
+        (WebCore::HTMLFormElement::~HTMLFormElement):
+        (WebCore::HTMLFormElement::finishParsingChildren):
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::~HTMLInputElement):
+        (WebCore::HTMLInputElement::didMoveToNewDocument):
+        (WebCore::HTMLInputElement::checkedRadioButtons):
+
+2013-05-25  Sergio Villar Senin  <svillar@igalia.com>
+
+        Reducing CSS code duplication in declaration list error recovery
+        https://bugs.webkit.org/show_bug.cgi?id=115157
+
+        Reviewed by Andreas Kling.
+
+        From Blink r148974 by <serya@chromium.org>
+
+        Refactor "invalid_block_list error | /* empty */" in a new
+        decl_list_recovery rule that allows to remove 4 redundant rules.
+
+        No new test required as we're just refactoring code, no new behaviour.
+
+        * css/CSSGrammar.y.in:
+
+2013-05-24  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Build fix after r150664.
+
+        * bindings/scripts/test/JS/JSTestObj.cpp:
+        (WebCore):
+
+2013-05-24  Sergio Villar Senin  <svillar@igalia.com>
+
+        Fixing invalid block recovery in some declaration list.
+        https://bugs.webkit.org/show_bug.cgi?id=115159
+
+        Reviewed by Darin Adler.
+
+        From Blink r148889 by <serya@chromium.org>
+
+        Improves the detection of some invalid block declarations inside a
+        declaration list. This allows the parser not to completely discard
+        a whole declaration list that contains an invalid block. In
+        particular grammar failed in tests 8, 12, 13, 15, 16 and 17 in the
+        new test added by this change.
+
+        Test: fast/css/parsing-invalid-block-recovery.html
+
+        * css/CSSGrammar.y.in:
+
+
+2013-05-24  Beth Dakin  <bdakin@apple.com>
+
+        DidFirstFlushForHeaderLayer can be called too soon on pages that redirect
+        https://bugs.webkit.org/show_bug.cgi?id=116749
+        -and corresponding-
+        <rdar://problem/13886753>
+
+        Reviewed by Simon Fraser.
+
+        Only start m_paintRelatedMilestonesTimer if we have actually painted.
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
+
+2013-05-24  Anders Carlsson  <andersca@apple.com>
+
+        Fix Windows build.
+
+        * WebCore.vcproj/WebCore.vcproj:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+
+2013-05-24  Tim Horton  <timothy_horton@apple.com>
+
+        Animated GIFs don't repaint after TiledCoreAnimationDrawingArea un-suspends painting
+        https://bugs.webkit.org/show_bug.cgi?id=116744
+        <rdar://problem/13973514>
+
+        Reviewed by Simon Fraser.
+
+        * WebCore.exp.in: Export FrameView::resumeAnimatingImages.
+        * page/FrameView.cpp:
+        (WebCore::FrameView::setIsInWindow):
+        (WebCore::FrameView::resumeAnimatingImages):
+        Factor the code to restart animated images out of frameView::setIsInWindow.
+
+        * page/FrameView.h:
+        (FrameView):
+
+2013-05-24  Anders Carlsson  <andersca@apple.com>
+
+        Move history property list writer to WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=116746
+
+        Reviewed by Tim Horton.
+
+        Remove files from the Xcode project and remove symbols that now live in WebKit.
+
+        * WebCore.exp.in:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2013-05-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
+
+        Global constructors exposed in worker environment have wrong attributes
+        https://bugs.webkit.org/show_bug.cgi?id=116708
+
+        Reviewed by Geoffrey Garen.
+
+        Fix JSC bindings generator so that Global constructors exposed in worker environment
+        have the following attributes:
+        { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
+
+        This is now consistent with global constructors on DOMWindow and with the Web IDL
+        specification:
+        http://dev.w3.org/2006/webapi/WebIDL/#es-interfaces
+
+        Test: fast/js/global-constructors-attributes-worker.html
+
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (GenerateAttributesHashTable):
+
+2013-05-24  Christophe Dumez  <ch.dumez@sisa.samsung.com>
+
+        Remove custom code for webkitAudioContext global constructor getter
+        https://bugs.webkit.org/show_bug.cgi?id=116530
+
+        Reviewed by Geoffrey Garen.
+
+        Get rid of custom code for webkitAudioContext global constructor getter. The
+        global DOMWindow attribute is now automatically generated by leveraging support
+        for [EnabledAtRuntime] extended attribute and the existing methods in
+        RuntimeEnabledFeatures class.
+
+        No new tests, no behavior change.
+
+        * GNUmakefile.list.am: Remove JSDOMWindowWebAudioCustom.*.
+        * Modules/webaudio/AudioContext.idl:
+        Remove [NoInterfaceObject] extended attribute so that the global constructor is
+        automatically generated instead of automatically added. Add [EnabledAtRuntime]
+        extended attribute since this global constructor can be disabled at runtime and
+        so that we can getter rid of the [CustomGetter] for the corresponding global
+        constructor. Use [InterfaceName] extended attribute so that the interface name
+        matches the global constructor on DOMWindow (webkitAudioContext).
+
+        * Target.pri: Remove JSDOMWindowWebAudioCustom.*.
+        * UseJSC.cmake: Remove JSDOMWindowWebAudioCustom.*.
+        * WebCore.exp.in: Export additional symbol.
+        * WebCore.order: Export additional symbol.
+        * WebCore.vcproj/WebCore.vcproj: Remove JSDOMWindowWebAudioCustom.*.
+        * WebCore.vcxproj/WebCore.vcxproj: Remove JSDOMWindowWebAudioCustom.*.
+        * WebCore.vcxproj/WebCore.vcxproj.filters: Remove JSDOMWindowWebAudioCustom.*.
+        * WebCore.xcodeproj/project.pbxproj: Remove JSDOMWindowWebAudioCustom.*.
+        * bindings/generic/RuntimeEnabledFeatures.h:
+        (WebCore::RuntimeEnabledFeatures::setWebAudioEnabled):
+        * bindings/js/JSBindingsAllInOne.cpp: Remove JSDOMWindowWebAudioCustom.*.
+        * bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed. We no longer need any custom code for
+        the WebAudio global constructor getter because we use [EnabledAtRuntime] support in the
+        bindings generator now.
+        * page/DOMWindow.idl: Remove global constructor for AudioContext as it is now automatically
+        generated.
+        * page/Settings.in: Remove webAudioEnabled setting as we use the existing setting
+        in RuntimeEnabledFeatures now.
+
+2013-05-24  Seokju Kwon  <seokju.kwon@gmail.com>
+
+        [AC] Needs to be guarded by USE(ACCELERATED_COMPOSITING)
+        https://bugs.webkit.org/show_bug.cgi?id=116712
+
+        Reviewed by Andreas Kling.
+
+        renderView is used when ACCELERATED_COMPOSITING is enabled.
+        So, this patch allows it to be guarded by USE(ACCELERATED_COMPOSITING).
+
+        No new tests, no behavior change.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::setFrameRect):
+
+2013-05-24  Thomas Deniau  <deniau@apple.com>
+
+        Add more lines to the context during Dictionary lookups
+        https://bugs.webkit.org/show_bug.cgi?id=115256
+
+        Reviewed by Ryosuke Niwa.
+
+        No new tests - no new functionality.
+
+        * WebCore.exp.in: Export a few methods in VisibleUnits needed to be able
+        to call previousLinePosition(), nextLinePosition(), startOfLine() and
+        endOfLine() in WebPageMac.mm when determining the context while looking
+        up a dictionary definition. These symbols used to be exported for iOS
+        only, export them on the desktop too.
+
+2013-05-24  Anders Carlsson  <andersca@apple.com>
+
+        Remove PagePopup code
+        https://bugs.webkit.org/show_bug.cgi?id=116732
+
+        Reviewed by Andreas Kling.
+
+        Remove all page popup code.
+
+        * GNUmakefile.list.am:
+        * WebCore.xcodeproj/project.pbxproj:
+        * dom/ContextFeatures.cpp:
+        * dom/ContextFeatures.h:
+        * loader/EmptyClients.h:
+        * page/ChromeClient.h:
+        * page/DOMWindowPagePopup.cpp: Removed.
+        * page/DOMWindowPagePopup.h: Removed.
+        * page/DOMWindowPagePopup.idl: Removed.
+        * page/PagePopup.h: Removed.
+        * page/PagePopupClient.cpp: Removed.
+        * page/PagePopupClient.h: Removed.
+        * page/PagePopupController.cpp: Removed.
+        * page/PagePopupController.h: Removed.
+        * page/PagePopupController.idl: Removed.
+        * page/PagePopupDriver.h: Removed.
+        * testing/Internals.cpp:
+        (WebCore::Internals::resetToConsistentState):
+        (WebCore):
+        * testing/Internals.h:
+        (WebCore):
+        (Internals):
+        * testing/Internals.idl:
+        * testing/MockPagePopupDriver.cpp: Removed.
+        * testing/MockPagePopupDriver.h: Removed.
+
+2013-05-24  Jer Noble  <jer.noble@apple.com>
+
+        Mac: Set the default audio buffer size to a large value for <video> elements.
+        https://bugs.webkit.org/show_bug.cgi?id=116342
+
+        Reviewed by Eric Carlson.
+        Roll-in rubber stamped by Eric Carlson.
+
+        To enable power savings by waking up the audio hardware less often, set the
+        requested buffer frame size to a large value, such as 4096. Since this results
+        in approximately 100ms worth of buffer, set the buffer size to a much lower
+        value when playing WebAudio, which is much more sensitive to latency than video
+        or audio elements.
+
+        Introduce a new class, AudioSessionManager, as well as a helper class,
+        AudioSessionManagerToken. Audio elements, video elements, and WebAudio destination
+        nodes will create and retain a token, and release the token in their destructor.
+        This allows the AudioSessionManager to track how many of what type of audio-
+        generating objects are in existence.
+
+        This requires implementing AudioSession for Mac platforms. Move the implementation
+        for retrieving the hardware sample rate and setting the buffer duration into
+        AudioSessionMac from AudioDestinationMac, to be shared with AudioSessionManagerMac.
+
+        Change the AudioSession method preferredBufferLength() into preferredBufferSize(),
+        as the callers really want to specify a buffer size, not a buffer duration. On iOS,
+        where the available API requires a duration, perform the conversion from duration to
+        size on behalf of the caller.
+
+        However, since the original version of this patch caused media test
+        failures on the Mac ML and Lion bots, only enable the buffer size
+        change for OS X > ML.
+
+        * html/HTMLMediaElement.h:  Add a AudioSessionManagerToken member.
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize the token.
+        * platform/audio/AudioSession.cpp:
+        (WebCore::AudioSession::preferredBufferSize): Renamed from preferredBufferLength.
+        (WebCore::AudioSession::setPreferredBufferSize): Renamed from setPreferredBufferLength.
+        * platform/audio/AudioSession.h:
+        * platform/audio/AudioSessionManager.cpp:
+        (AudioSessionManagerToken::create): Simple factory method.
+        (AudioSessionManagerToken::AudioSessionManagerToken): Call AudioSessionManager::incrementCount().
+        (AudioSessionManagerToken::~AudioSessionManagerToken): Call AudioSessionManager::decrementCount().
+        (AudioSessionManager::sharedManager): Simple singleton method.
+        (AudioSessionManager::AudioSessionManager): Simple constructor.
+        (AudioSessionManager::has): Return whether the type is present.
+        (AudioSessionManager::incrementCount): Increment, then call updateSessionState()
+        (AudioSessionManager::decrementCount): Decrement, then call updateSessionState()
+        (AudioSessionManager::updateSessionState): Stub, does nothing.
+        * platform/audio/AudioSessionManager.h:
+        * platform/audio/ios/AudioDestinationIOS.cpp:
+        (WebCore::AudioDestinationIOS::configure): Call setPreferredBufferSize() instead of setPreferredBufferLength()
+        * platform/audio/ios/AudioSessionIOS.mm:
+        (WebCore::AudioSession::preferredBufferSize): Renamed from preferredBufferLength.
+        (WebCore::AudioSession::setPreferredBufferSize): Renamed from setPreferredBufferLength
+        * platform/audio/mac/AudioDestinationMac.cpp:
+        (WebCore::AudioDestination::hardwareSampleRate): Call AudioSession::sampleRate().
+        (WebCore::AudioDestinationMac::AudioDestinationMac): Create the AudioSessionManagerToken.
+        (WebCore::AudioDestinationMac::configure): Do not set the buffer size (this is done in AudioSessionManagerMac).
+        * platform/audio/mac/AudioDestinationMac.h:
+        * platform/audio/mac/AudioSessionMac.cpp: Added.
+        (WebCore::defaultDevice): Added, returns the default audio device.
+        (WebCore::AudioSession::AudioSession): Simple constructor.
+        (WebCore::AudioSession::~AudioSession): Simple destructor.
+        (WebCore::AudioSession::category): Stub, unimplemented.
+        (WebCore::AudioSession::setCategory): Ditto.
+        (WebCore::AudioSession::categoryOverride): Ditto.
+        (WebCore::AudioSession::setCategoryOverride): Ditto.
+        (WebCore::AudioSession::numberOfOutputChannels): Ditto.
+        (WebCore::AudioSession::setActive): Ditto.
+        (WebCore::AudioSession::sampleRate): Use the HAL to return the default audio device sample rate.
+        (WebCore::AudioSession::preferredBufferSize): Return the current HAL setting.
+        (WebCore::AudioSession::setPreferredBufferSize): Set the buffer size.
+        * platform/audio/mac/AudioSessionManagerMac.cpp:
+        (AudioSessionManager::updateSessionState): Set the buffer size depending on what audio outputs are present.
+        * WebCore.xcodeproj/project.pbxproj: Add the new files to the project.
+
+2013-05-24  Alberto Garcia  <agarcia@igalia.com>
+
+        Path: upstream the missing bits from the BlackBerry port
+        https://bugs.webkit.org/show_bug.cgi?id=116658
+
+        Reviewed by Xan Lopez.
+
+        PathBlackBerry was upstreamed a while ago (r144612) but a few bits
+        were missing from the cross-platform code.
+
+        * platform/graphics/Path.cpp:
+        (WebCore::Path::addPathForRoundedRect):
+        * platform/graphics/Path.h:
+        (Graphics):
+        (Path):
+
+2013-05-24  Noam Rosenthal  <noam@webkit.org>
+
+        WebProcess is crashing on http://achicu.github.io/css-presentation when direct pattern compositing is enabled
+        https://bugs.webkit.org/show_bug.cgi?id=115135
+
+        Reviewed by Antti Koivisto.
+
+        Issue is invoked when there is a visibility:hidden layer with a non-compositable
+        background image (e.g. a radial gradient).
+        The layer is treated as a no-contents layer because of its visibility, however
+        updateDirectlyCompositedBackgroundImage() later mistakenly treats it as a layer
+        with direct background-image compositing.
+
+        Fixed by returning early from updating directly composited contents for layers
+        with hidden contents.
+
+        Test: compositing/patterns/direct-pattern-compositing-hidden-radial-gradient.html
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateDirectlyCompositedContents):
+        (WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
+        (WebCore::RenderLayerBacking::paintsChildren):
+        (WebCore::RenderLayerBacking::isDirectlyCompositedImage):
+
+2013-05-24  Robert Hogan  <robert@webkit.org>
+
+        Refactor shouldAddBorderPaddingMargin()
+        https://bugs.webkit.org/show_bug.cgi?id=98803
+
+        Reviewed by Ryosuke Niwa.
+
+        Make this helper function less clever-stupid in its misguided sacrifice of intelligibility
+        for the sake of concision.
+
+        No new tests, refactoring.
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::shouldAddBorderPaddingMargin):
+        (WebCore::inlineLogicalWidth):
+
+2013-05-24  Xiaobo Wang  <xiaobwang@blackberry.com>
+
+        [BlackBerry] DRT - crashed on GraphicsContext3D::makeContextCurrent
+        https://bugs.webkit.org/show_bug.cgi?id=116654
+
+        Reviewed by Carlos Garcia Campos.
+
+        PR 331552.
+        Internally reviewed and amended by Arvid Nilsson.
+
+        No new tests, this patch is to fix DRT crashes in fast/canvas/webgl.
+        The instance of GraphicsContext3D has already been destroyed but
+        WebGLLayerWebKitThread is not aware of that. This is because compositor
+        layer of the WebGL graphics context was referenced outside the context.
+        So when destructing GraphicsContext3D the compositing layer was not
+        destructed.
+        Fix by setting m_webGLContext to 0 when destructing GrapthicsContext3D
+        after releasing the compositor layer, so that it won't be de-referenced
+        again later.
+
+        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
+        (WebCore::GraphicsContext3D::~GraphicsContext3D):
+        * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
+        (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
+        (WebCore::WebGLLayerWebKitThread::webGLContextDestroyed):
+        (WebCore):
+        * platform/graphics/blackberry/WebGLLayerWebKitThread.h:
+        (WebGLLayerWebKitThread):
+
+2013-05-24  Andreas Kling  <akling@apple.com>
+
+        Typing in Safari's unified field causes unnecessary web content repaints.
+        <http://webkit.org/b/116703>
+
+        Reviewed by Andy Estes.
+
+        Break out an alternate version of Page::markAllMatchesForText() that only counts the number of times
+        a string occurs in the page, but doesn't try to mark the occurrences.
+        This allows Safari to count matches for the 'Find "foo" on This Page' functionality in the unified
+        location bar without causing tile repaints.
+
+        * WebCore.exp.in:
+        * page/Page.h:
+        * page/Page.cpp:
+        (WebCore::Page::findMatchesForText):
+        (WebCore::Page::markAllMatchesForText):
+        (WebCore::Page::countFindMatches):
+
+            Renamed markAllMatchesForText() to findMatchesForText() and gave it a boolean parameter to control whether
+            matches should be marked or not. countFindMatches() is the new helper that doesn't mark.
+
+2013-05-23  Beth Dakin  <bdakin@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=116702
+        REGRESSION (r150399): Scrollbar missing for all overflow scroll
+        -and corresponding-
+        <rdar://problem/13963712>
+
+        Reviewed by Simon Fraser.
+
+        This was a silly copy-paste error.
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::scrollbarAnimationsAreSuppressed):
+
+2013-05-23  peavo@outlook.com  <peavo@outlook.com>
+
+        [WinCairo] Build fails to link.
+        https://bugs.webkit.org/show_bug.cgi?id=116671
+
+        Reviewed by Brent Fulgham.
+
+        * page/FrameView.h: Added guard for ACCELERATED_COMPOSITING.
+
+2013-05-23  Roger Fong  <roger_fong@apple.com>
+
+        Unreviewed. Modify WebCore for AppleWin 2010 production build.
+
+        * WebCore.vcxproj/WebCoreGenerated.make:
+        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
+        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+
+2013-05-23  Yongjun Zhang  <yongjun_zhang@apple.com>
+
+        We need to clear main resource when detaching DocumentLoader from the frame.
+        https://bugs.webkit.org/show_bug.cgi?id=116680
+
+        Normally, when we detach the documentLoader in DocumentLoader::detachFromFrame, main resource is also cleared
+        in stopLoading().  There is possibility that main resource not being cleared, and this could cause crash later
+        since docLoader could still receive resource callbacks.  To avoid that, we can remove docLoader from main resource's
+        client set in detachFromFrame.
+
+        Reviewed by Brady Eidson.
+
+        No new tests, this doesn't happen on OS X.
+
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::detachFromFrame):
+        (WebCore::DocumentLoader::clearMainResource):
+        * loader/cache/CachedResource.h: make hasClient accessible publicly.
+        (WebCore::CachedResource::hasClient):
+        (CachedResource):
+
+2013-05-23  Mihai Maerean  <mmaerean@adobe.com>
+
+        assertion failed: !node || node->isElementNode() in WebCore::RenderBlock::clone
+        https://bugs.webkit.org/show_bug.cgi?id=116614
+
+        Reviewed by David Hyatt.
+
+        Add a test for flow threads so they don't end up being cloned in region based multi columns with columns:1 where
+        the only child has column-span:all.
+
+        Test: fast/multicol/newmulticol/direct-child-column-span-all.html
+
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
+
+2013-05-23  Anders Carlsson  <andersca@apple.com>
+
+        Crash in convertMainResourceLoadToDownload when downloading file by option-return
+        https://bugs.webkit.org/show_bug.cgi?id=116451
+
+        Reviewed by Andreas Kling.
+
+        Handle MainResourceLoader being null here which will happen when loading a cached main resource.
+
+        * loader/DocumentLoader.cpp:
+        (WebCore::DocumentLoader::continueAfterContentPolicy):
+
+2013-05-23  Benjamin Poulain  <bpoulain@apple.com>
+
+        KURL::createCFURL() should return a RetainPtr<CFURLRef>
+        https://bugs.webkit.org/show_bug.cgi?id=116644
+
+        Reviewed by Andreas Kling.
+
+        For consistency with the other createCFType() APIs in WebKit, KURL should
+        return a RetainPtr<> instead of raw +1 CFURLRef.
+
+        No leak were discovered while making this change.
+
+        * platform/KURL.h:
+        * platform/cf/KURLCFNet.cpp:
+        (WebCore):
+        (WebCore::createCFURLFromBuffer):
+        (WebCore::KURL::createCFURL):
+        (WebCore::KURL::fileSystemPath):
+        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+        (WebCore::AVFWrapper::createAssetForURL):
+        * platform/graphics/cg/GraphicsContextCG.cpp:
+        (WebCore::GraphicsContext::setURLForRect):
+        * platform/mac/KURLMac.mm:
+        (WebCore):
+        (WebCore::KURL::operator NSURL *):
+        (WebCore::KURL::createCFURL):
+        * platform/network/cf/CookieJarCFNet.cpp:
+        (WebCore::setCookiesFromDOM):
+        (WebCore::cookiesForDOM):
+        (WebCore::cookieRequestHeaderFieldValue):
+        (WebCore::getRawCookies):
+        (WebCore::deleteCookie):
+        * platform/network/cf/DNSCFNet.cpp:
+        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
+        * platform/network/cf/ProxyServerCFNet.cpp:
+        (WebCore::addProxyServersForURL):
+        * platform/network/cf/ResourceRequestCFNet.cpp:
+        (WebCore::ResourceRequest::doUpdatePlatformRequest):
+        (WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
+        * platform/network/cf/ResourceResponseCFNet.cpp:
+        (WebCore::ResourceResponse::cfURLResponse):
+        * platform/network/cf/SocketStreamHandleCFNet.cpp:
+        (WebCore::SocketStreamHandle::SocketStreamHandle):
+
+2013-05-18  Robert Hogan  <robert@webkit.org>
+
+        The ellipsis in a text overflow should not avoid floats
+        https://bugs.webkit.org/show_bug.cgi?id=115746
+
+        Reviewed by David Hyatt.
+
+        When placing an ellipsis for text overflow we shouldn't avoid any floats on the line.
+        That is to say, if there is a float in the box we overflow we should let our no-wrap text,
+        including the ellipsis, render inside the float just as we would if overflow was hidden but
+        a text-overflow rendering had not been specified.
+
+        Test: fast/css/text-overflow-ellipsis-behind-floats.html
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::checkLinesForTextOverflow):
+
+2013-05-23  Christophe Dumez  <ch.dumez@sisa.samsung.com>
+
+        Unreviewed, rolling out r150586.
+        http://trac.webkit.org/changeset/150586
+        https://bugs.webkit.org/show_bug.cgi?id=116660
+
+        Those constructors should be exposed on the WorkerContext, not
+        the DOMWindow
+
+        * fileapi/FileReaderSync.idl:
+        * workers/WorkerLocation.idl:
+
+2013-05-23  Christophe Dumez  <ch.dumez@sisa.samsung.com>
+
+        Remove [NoInterfaceObject] from FileReaderSync and WorkerLocation
+        https://bugs.webkit.org/show_bug.cgi?id=116660
+
+        Reviewed by Kentaro Hara.
+
+        Remove [NoInterfaceObject] from FileReaderSync and WorkerLocation to match their
+        respective specifications:
+        - http://dev.w3.org/2006/webapi/FileAPI/#FileReaderSync
+        - http://dev.w3.org/html5/workers/#workerlocation
+
+        No new tests, covered by existing tests.
+
+        * fileapi/FileReaderSync.idl:
+        * workers/WorkerLocation.idl:
+
+2013-05-23  Christophe Dumez  <ch.dumez@sisa.samsung.com>
+
+        Remove special case for MessagePortArray from bindings generator
+        https://bugs.webkit.org/show_bug.cgi?id=116653
+
+        Reviewed by Kentaro Hara.
+
+        Use MessagePort[] instead of MessagePortArray type in the IDL as MessagePortArray
+        is not defined on IDL side. This allows us to remove the special case for
+        MessagePortArray from the bindings generator.
+
+        No new tests, no behavior change.
+
+        * bindings/js/JSMessageEventCustom.cpp:
+        (WebCore::JSMessageEvent::data):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (NativeToJSValue): Remove special case for MessagePortArray.
+        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
+        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
+        (WebDOMTestSerializedScriptValueInterface):
+        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
+        (webkit_dom_test_serialized_script_value_interface_get_property):
+        (webkit_dom_test_serialized_script_value_interface_class_init):
+        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+        (WebCore::jsTestSerializedScriptValueInterfacePorts):
+        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
+        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
+        * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Replace MessagePortArray
+        by MessagePort[].
+        * dom/MessageEvent.h:
+        (WebCore::MessageEvent::ports): The method should return a Vector, not a Vector*
+        as the array on JavaScript side is not nullable.
+        * dom/MessageEvent.idl: Replace MessagePortArray by MessagePort[].
+
+2013-05-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
+
+        [EFL] Back, Forward and Stop should be hidden in context menu
+        https://bugs.webkit.org/show_bug.cgi?id=116615
+
+        Reviewed by Christophe Dumez.
+
+        Context menu items: Back, Forward, Stop, Reload, should be shown only when
+        they are able to perform action.
+
+        No new tests - no new functionality.
+
+        * page/ContextMenuController.cpp:
+        (WebCore::ContextMenuController::populate):
+
+2013-05-22  Dean Jackson  <dino@apple.com>
+
+        Rolling out r150555. It borked about 30 media tests.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::HTMLMediaElement):
+        * html/HTMLMediaElement.h:
+        * platform/audio/AudioSession.cpp:
+        (WebCore):
+        (WebCore::AudioSession::AudioSession):
+        (WebCore::AudioSession::preferredBufferDuration):
+        (WebCore::AudioSession::setPreferredBufferDuration):
+        * platform/audio/AudioSession.h:
+        * platform/audio/AudioSessionListener.h:
+        (AudioSessionListener):
+        * platform/audio/AudioSessionManager.cpp: Removed.
+        * platform/audio/AudioSessionManager.h: Removed.
+        * platform/audio/ios/AudioDestinationIOS.cpp:
+        (WebCore::AudioDestinationIOS::configure):
+        * platform/audio/ios/AudioSessionIOS.mm:
+        (WebCore::AudioSession::preferredBufferDuration):
+        (WebCore::AudioSession::setPreferredBufferDuration):
+        * platform/audio/mac/AudioDestinationMac.cpp:
+        (WebCore::AudioDestination::hardwareSampleRate):
+        (WebCore::AudioDestinationMac::AudioDestinationMac):
+        (WebCore::AudioDestinationMac::configure):
+        * platform/audio/mac/AudioDestinationMac.h:
+        (AudioDestinationMac):
+        * platform/audio/mac/AudioSessionMac.cpp: Removed.
+        * platform/audio/mac/AudioSessionManagerMac.cpp: Removed.
+
+2013-05-20  Jeffrey Pfau  <jpfau@apple.com>
+
+        Active DOM object resumption should match reason for suspending
+        https://bugs.webkit.org/show_bug.cgi?id=116476
+
+        Add a reason to the arguments for resuming active DOM object and
+        scheduled tasks and ensure that it matches the suspend reason before
+        actually resuming the objects.
+
+        Reviewed by Joseph Pecoraro.
+
+        No new tests, no change in functionality.
+
+        * bindings/js/PageScriptDebugServer.cpp:
+        (WebCore::PageScriptDebugServer::setJavaScriptPaused): Add matching resume reason
+        * dom/Document.cpp:
+        (WebCore::Document::resumeActiveDOMObjects): Check for matching resume reason
+        (WebCore::Document::resumeScheduledTasks): Check for matching resume reason
+        * dom/Document.h:
+        (Document):
+        * dom/ScriptExecutionContext.cpp:
+        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): Check for matching resume reason
+        * dom/ScriptExecutionContext.h:
+        (ScriptExecutionContext):
+        (WebCore::ScriptExecutionContext::reasonForSuspendingActiveDOMObjects): Expose suspend reason to subclasses
+        * history/CachedFrame.cpp:
+        (WebCore::CachedFrameBase::restore): Add matching resume reason
+        * page/Frame.cpp:
+        (WebCore::Frame::resumeActiveDOMObjectsAndAnimations): Add matching resume reason
+        * page/PageGroupLoadDeferrer.cpp:
+        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Add matching resume reason
+
+2013-05-22  Dean Jackson  <dino@apple.com>
+
+        Don't snapshot plugins that can't be snapshotted
+        https://bugs.webkit.org/show_bug.cgi?id=116490
+
+        Reviewed by Tim Horton.
+
+        Some plugins, such as QuickTime, don't support snapshotting. We're
+        planning on another way to capture snapshots, but in the meantime make
+        sure that they don't fail to initialise because they were told to
+        not use accelerated rendering.
+
+        * WebCore.exp.in: Export restartSnapshottedPlugin so that it can be used from WK2.
+        * html/HTMLPlugInImageElement.cpp:
+        (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Don't set the play state before restarting.
+        (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): Make sure we indicated that this snapshotted plugin was clicked.
+        * html/HTMLPlugInImageElement.h: Move restartSnapshottedPlugin from protected to public.
+        * rendering/RenderSnapshottedPlugIn.cpp:
+        (WebCore::RenderSnapshottedPlugIn::handleEvent): Don't set play state here. Let the restart functions do it.
+
+2013-05-22  Max Vujovic  <mvujovic@adobe.com>
+
+        [CSS Shaders] valueForCustomFilterTransformParameter should check that renderer is a RenderBox
+        https://bugs.webkit.org/show_bug.cgi?id=116464
+
+        Reviewed by Alexandru Chiculita.
+
+        If the renderer is not a RenderBox, we just use a zero size to compute the transform,
+        like in CSSComputedStyleDeclaration::computedTransform.
+
+        Test: css3/filters/custom/custom-filter-crash-inline-computed-style.html
+
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::valueForCustomFilterTransformParameter):
+
+2013-05-22  Simon Fraser  <simon.fraser@apple.com>
+
+        Fix assertion in the getComputedStyle-background-shorthand.html test
+        https://bugs.webkit.org/show_bug.cgi?id=116639
+
+        Reviewed by Ryosuke Niwa.
+
+        getComputedStyle-background-shorthand.html was asserting under the newly added
+        code in willBeRemovedFromTree(). The assertion was caused by too many calls to
+        FrameView::removeSlowRepaintObject(), which happened because we called it for
+        RenderTexts, which share style with their parent renderer.
+        
+        RenderText overrides styleWillChange() to do nothing, so we never
+        call add/removeSlowRepaintObject() for them. Thus we should also skip this
+        work in willBeRemovedFromTree() for RenderTexts.
+
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::willBeRemovedFromTree):
+
+2013-05-22  Bem Jones-Bey  <bjonesbe@adobe.com>
+
+        Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingLayer
+        https://bugs.webkit.org/show_bug.cgi?id=116626
+
+        Reviewed by David Hyatt.
+
+        This is a port of a Blink bug fix by Emil Eklund.
+
+        Account for saturated estimated position in RenderBlock::layoutBlockChild.
+
+        If the estimated top position is saturated the comparison with oldLogicalTop
+        might yield a false negative as adding and removing margins, borders etc from
+        a saturated number might yield incorrect results. If this is the case always
+        mark for layout.
+
+        Minimal test case impractical. See bug for raw fuzzer test case.
+
+        * platform/LayoutUnit.h:
+        (WebCore::LayoutUnit::mightBeSaturated): Add helper method for checking whether
+            a number might be saturated.
+        * rendering/RenderBlock.cpp:
+        (WebCore::RenderBlock::layoutBlockChild): Check if logicalTopEstimate is likely
+            to be saturated and if so mark for layout.
+
+2013-05-22  Benjamin Poulain  <benjamin@webkit.org>
+
+        Remove CSSPropertySourceData emptyCSSPropertySourceData
+        https://bugs.webkit.org/show_bug.cgi?id=116517
+
+        Reviewed by Darin Adler.
+
+        This was added for chromium and does not seem to be used
+        anywhere anymore.
+
+        * css/CSSParser.cpp:
+        (WebCore::CSSParser::CSSParser):
+        * css/CSSPropertySourceData.cpp:
+        * css/CSSPropertySourceData.h:
+
+2013-05-22  Csaba Osztrogonác  <ossy@webkit.org>
+
+        Buildfix for !ENABLE(FULLSCREEN_API) platforms.
+
+        Rubber-stamped by Ryosuke Niwa.
+
+        * rendering/RenderInline.cpp: Missing #if guard added.
+        (WebCore::RenderInline::splitInlines):
+
+2013-05-22  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Fix a typo in 150469.
+
+        * editing/Editor.cpp:
+        (WebCore::dispatchEditableContentChangedEvents):
+
+2013-05-22  Ryosuke Niwa  <rniwa@webkit.org>
+
+        REGRESSION: ASSERTION FAILED: obj->isRenderInline() || obj == this, Bad cast in WebCore::RenderBlock::createLineBoxes
+        https://bugs.webkit.org/show_bug.cgi?id=110622
+
+        Reviewed by David Hyatt.
+
+        Merge https://chromium.googlesource.com/chromium/blink/+/998ad358eed702b873dd54697b3fa3f952e0feb7
+
+        Inserting an element before the fullscreened element could crash if it caused a containing inline to be split,
+        since the splitting logic doesn't expect the fullscreened element to be wrapped in a RenderFullScreen. This patch changes
+        inline splitting to be aware of RenderFullScreen.
+
+        Test: fullscreen/full-screen-inline-split-crash.html
+
+        * rendering/RenderInline.cpp:
+        (WebCore::RenderInline::splitInlines):
+
+2013-05-22  Simon Fraser  <simon.fraser@apple.com>
+
+        Fix issues with focus rings on search fields
+        https://bugs.webkit.org/show_bug.cgi?id=116591
+
+        Reviewed by Darin Adler.
+        
+        On a future OS, the rect returned by _focusRingVisibleRect should
+        be in the coordinate system of the that NSView, not the base
+        coordinate system, so fix the code that sets and reads the global
+        focusRingClipRect variable accordingly.
+
+        * platform/graphics/mac/WebLayer.mm:
+        (drawLayerContents):
+        * platform/mac/ThemeMac.mm:
+        (-[WebCoreFlippedView _focusRingVisibleRect]):
+
+2013-05-22  Simon Fraser  <simon.fraser@apple.com>
+
+        New Flickr doesn't get fast scrolling but should
+        https://bugs.webkit.org/show_bug.cgi?id=116514
+
+        Reviewed by Darin Adler.
+        
+        RenderObject increments and decrements a counter of slow repaint objects on
+        FrameView when it sees style changes related to background-attachment:fixed.
+        However, it omitted to decrement the count when a renderer with a fixed background
+        was destroyed.
+        
+        This caused Flickr to never fall into fast scrolling mode, since it toggled
+        display:none on an element with a fixed background during loading, then removed
+        the fixed background.
+        
+        Did some minor cleanup of #ENABLE(FAST_MOBILE_SCROLLING) crap.
+
+        Tests: platform/mac-wk2/tiled-drawing/slow-scrolling-background-toggle.html
+               platform/mac-wk2/tiled-drawing/slow-scrolling-hidden-background-toggle.html
+               platform/mac-wk2/tiled-drawing/slow-scrolling.html
+
+        * rendering/RenderObject.cpp:
+        (WebCore::shouldRepaintFixedBackgroundsOnScroll):
+        (WebCore::RenderObject::styleWillChange):
+        (WebCore::RenderObject::willBeRemovedFromTree):
+
+2013-05-22  Robert Hogan  <robert@webkit.org>
+
+        Need to Remove Anonymous Wrappers When All Children Become Inline
+        https://bugs.webkit.org/show_bug.cgi?id=115687
+
+        Reviewed by David Hyatt.
+
+        Remove a simple subset of anonymous wrappers, i.e. anonymous blocks without continuations,
+        when a block becoming float or positioned removes the need for them.
+
+        Test: fast/block/remove-anonymous-wrappers-when-element-changes-to-float-or-positioned.html
+
+        * rendering/RenderBlock.h:
+        (RenderBlock):
+        * rendering/RenderObject.cpp:
+        (WebCore):
+        (WebCore::RenderObject::removeAnonymousWrappersFromLineIfNecessary):
+        (WebCore::RenderObject::styleWillChange):
+        (WebCore::RenderObject::styleDidChange):
+        * rendering/RenderObject.h:
+        (RenderObject):
+
+2013-05-22  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
+
+        [css] Update ETextDecorations enum to TextDecorations
+        https://bugs.webkit.org/show_bug.cgi?id=116581
+
+        Reviewed by Andreas Kling.
+
+        Currently, ETextDecorations enum uses a C-like coding style for its
+        enumeration values, as well as a 'E' prefix that surely had some meaning
+        in the past, but not nowadays.
+
+        No behavior changes, covered by existing tests.
+
+        * accessibility/AccessibilityRenderObject.cpp:
+        (WebCore::AccessibilityRenderObject::hasPlainText):
+        (WebCore::AccessibilityRenderObject::hasUnderline):
+        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
+        (getAttributeSetForAccessibilityObject):
+        * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
+        (AXAttributeStringSetStyle):
+        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
+        (AXAttributeStringSetStyle):
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::renderTextDecorationFlagsToCSSValue):
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::operator TextDecoration):
+        * css/DeprecatedStyleBuilder.cpp:
+        (WebCore::ApplyPropertyTextDecoration::applyValue):
+        (WebCore::ApplyPropertyTextDecoration::createHandler):
+        * editing/mac/EditorMac.mm:
+        (WebCore::Editor::fontAttributesForSelectionStart):
+        * platform/mac/HTMLConverter.mm:
+        (+[WebHTMLConverter editingAttributedStringFromRange:]):
+        * rendering/InlineTextBox.cpp:
+        (WebCore::InlineTextBox::paint):
+        (WebCore::InlineTextBox::paintDecoration):
+        * rendering/InlineTextBox.h:
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::getTextDecorationColors):
+        * rendering/style/RenderStyle.h:
+        * rendering/style/RenderStyleConstants.h:
+        (WebCore::operator|):
+        (WebCore::operator|=):
+        * rendering/style/StyleVisualData.h:
+        (StyleVisualData):
+        * rendering/svg/SVGInlineTextBox.cpp:
+        (WebCore::SVGInlineTextBox::paint):
+        (WebCore::positionOffsetForDecoration):
+        (WebCore::thicknessForDecoration):
+        (WebCore::findRenderObjectDefininingTextDecoration):
+        (WebCore::SVGInlineTextBox::paintDecoration):
+        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
+        * rendering/svg/SVGInlineTextBox.h:
+
+2013-05-22  Lori Anderson  <lori@rkymtnhi.com>
+
+        [GStreamer] Allow multiple log levels in media player
+        https://bugs.webkit.org/show_bug.cgi?id=116618
+
+        Reviewed by Philippe Normand.
+
+        No new tests, just changing logging.
+
+        * platform/graphics/gstreamer/GStreamerUtilities.h:
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::load):
+        (WebCore::MediaPlayerPrivateGStreamer::pause):
+        (WebCore::MediaPlayerPrivateGStreamer::seek):
+        (WebCore::MediaPlayerPrivateGStreamer::setRate):
+        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
+
+2013-05-22  Beth Dakin  <bdakin@apple.com>
+
+        The LayoutMilestones didLayout callback sometimes fires with a milestone value of 0
+        https://bugs.webkit.org/show_bug.cgi?id=116623
+
+        Reviewed by Geoffrey Garen.
+
+        Make sure we have actually achieved some milestones before calling didLayout().
+        * page/FrameView.cpp:
+        (WebCore::FrameView::performPostLayoutTasks):
+
+2013-05-22  Mario Sanchez Prada  <mario.prada@samsung.com>
+
+        [GTK] Reimplement atk_text_get_text_*_offset for CHAR boundary
+        https://bugs.webkit.org/show_bug.cgi?id=114870
+
+        Reviewed by Martin Robinson.
+
+        Re-implement this functions without using GailTextUtil nor Pango.
+
+        * accessibility/atk/WebKitAccessibleInterfaceText.cpp:
+        (webkitAccessibleTextGetChar): New function.
+        (webkitAccessibleTextGetTextForOffset): Call the new function for CHAR.
+
+2013-05-22  Antoine Quint  <graouts@apple.com>
+
+        [Mac] Captions menu isn't internationalized, doesn't use rtl layout for rtl languages
+        https://bugs.webkit.org/show_bug.cgi?id=116605
+
+        Reviewed by Eric Carlson.
+
+        Ensure that rtl languages are properly recognized by the captions menu such that text
+        layout and alignment is natural.
+
+        * css/mediaControls.css:
+        (::-webkit-media-controls):
+        Remove the forced "direction: ltr" property which was forcing all layout to be
+        left-to-right.
+
+        * css/mediaControlsQuickTime.css:
+        (video::-webkit-media-controls-closed-captions-track-list):
+        Remove the forced "text-align: left" property which was forcing all caption
+        titles to be left-aligned.
+
+        (video::-webkit-media-controls-closed-captions-track-list h3):
+        Use "-webkit-margin-start" instead of "padding-left" to position the heading
+        such that it adds the margin on the left for ltr languages and on the right
+        for rtl languages.
+
+        (video::-webkit-media-controls-closed-captions-track-list li):
+        Set "position: relative" such that the ::before pseudo-class can use "position: absolute"
+        to position itself relative to the caption title rather than the list element.
+
+        (video::-webkit-media-controls-closed-captions-track-list li.selected::before):
+        (video::-webkit-media-controls-closed-captions-track-list li.selected:hover::before):
+        Make the checkmarks a ::before pseudo-class rather than a background-image such that
+        we may control its positioning using the internationlization-friendly "-webkit-margin-start"
+        property.
+
+        * html/shadow/MediaControlElements.cpp:
+        (WebCore::MediaControlClosedCaptionsContainerElement::create):
+        Set the "dir" attribute to "auto" such that rtl languages are correctly handled. This
+        means that the first string displayed within the captions container, currently the
+        "Subtitles" <h3> element, defines the direction for the whole container. It is therefore
+        crucial that this string is properly localized in rtl languages as falling back to
+        english would mean the entire caption container is using ltr.
+
+2013-05-22  Hugo Parente Lima  <hugo.lima@openbossa.org>
+
+        WebCore fails to compile with -Werror=maybe-uninitialized on GCC 4.8.0
+        https://bugs.webkit.org/show_bug.cgi?id=116340
+
+        Reviewed by Christophe Dumez.
+
+        No new tests, just a simple build fix.
+
+        * inspector/InspectorDOMStorageAgent.cpp:
+        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): Init frame variable.
+        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): Init frame variable.
+
+2013-05-22  Christophe Dumez  <ch.dumez@sisa.samsung.com>
+
+        Have IDL interface names match their global constructor
+        https://bugs.webkit.org/show_bug.cgi?id=116520
+
+        Reviewed by Kentaro Hara.
+
+        Have IDL interface names match their global constructor name on DOMWindow.idl
+        using [InterfaceName] extended attribute. This affects in particular webkit
+        prefixed constructors. This is mandated by Web IDL specification:
+        http://dev.w3.org/2006/webapi/WebIDL/#es-interfaces
+
+        As a consequence, we can now get rid of [NoInterfaceObject] extended attribute
+        for those interfaces and have their global constructors automatically generated
+        by the bindings generator.
+
+        No new tests, no behavior change for layout tests.
+
+        * Modules/mediasource/MediaSource.idl:
+        * Modules/mediasource/SourceBuffer.idl:
+        * Modules/mediasource/SourceBufferList.idl:
+        * Modules/mediastream/MediaStream.idl:
+        * Modules/mediastream/RTCPeerConnection.idl:
+        * Modules/speech/SpeechGrammar.idl:
+        * Modules/speech/SpeechGrammarList.idl:
+        * Modules/speech/SpeechRecognition.idl:
+        * Modules/speech/SpeechRecognitionError.idl:
+        * Modules/speech/SpeechRecognitionEvent.idl:
+        * Modules/webaudio/OfflineAudioContext.idl:
+        * Modules/webaudio/PannerNode.idl:
+        * dom/ShadowRoot.idl:
+        * page/DOMWindow.idl:
+
+2013-05-21  Mihai Tica  <mitica@adobe.com>
+        
+        Update the background blending implementation to match the changes done
+        in the spec. This implies that background color blending is removed and
+        the background layers won't blend with the content behind the element
+        any more.
+        https://bugs.webkit.org/show_bug.cgi?id=116212
+
+        Reviewed by Dean Jackson.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::paintFillLayers):
+        * rendering/RenderBoxModelObject.cpp:
+        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+
+2013-05-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Use-after-free in DOMSelection::containsNode
+        https://bugs.webkit.org/show_bug.cgi?id=116468
+
+        Reviewed by Andreas Kling.
+
+        Retain the node pointer. Also bail out early if the node was not in the document
+        since Range::compareBoundaryPoints sets ec to WRONG_DOCUMENT_ERR otherwise.
+
+        Test: editing/selection/contains-node-crash.html
+
+        * page/DOMSelection.cpp:
+        (WebCore::DOMSelection::containsNode):
+        * page/DOMSelection.h:
+        (DOMSelection):
+
+2013-05-21  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: InspectorFrontendHost::loadResourceSynchronously() builds ASCII-only results
+        https://bugs.webkit.org/show_bug.cgi?id=116569
+
+        Merge: https://chromium.googlesource.com/chromium/blink/+/7f1cfecfe34f4dbc6ce1ef0250b13f2058128eeb
+
+        Reviewed by Timothy Hatcher.
+
+        Test: inspector/load-resource-synchronously-utf8.html
+
+        * inspector/InspectorFrontendHost.cpp:
+        (WebCore::InspectorFrontendHost::loadResourceSynchronously):
+
+2013-05-21  Andy Estes  <aestes@apple.com>
+
+        Allow session storage for third-party origins even if third-party data access is blocked.
+        https://bugs.webkit.org/show_bug.cgi?id=116532
+
+        Reviewed by Anders Carlsson.
+
+        In http://trac.webkit.org/changeset/149326 we relaxed our policy for
+        localStorage when third-party data blocking is enabled to create a
+        transient, session-scoped storage area for the third-party origin
+        instead of throwing an exception. Since this gives essentially the same
+        behavior as sessionStorage, we might as well also allow sessionStorage
+        for third-party origins.
+
+        Test: http/tests/security/cross-origin-session-storage-third-party-blocked.html
+
+        * WebCore.exp.in: Updated the symbol for
+        SecurityOrigin::canAccessStorage.
+        * page/DOMWindow.cpp:
+        (WebCore::DOMWindow::sessionStorage): Called canAccessSessionStorage()
+        rather than canAccessLocalStorage().
+        * page/SecurityOrigin.cpp:
+        (WebCore::SecurityOrigin::canAccessStorage): Passed in an enum
+        indicating if access should be allowed from third-party origins.
+        * page/SecurityOrigin.h:
+        (WebCore::SecurityOrigin::canAccessSessionStorage): Called
+        canAccessStorage() with AlwaysAllowFromThirdParty.
+        (SecurityOrigin):
+
+2013-05-21  Hugo Parente Lima  <hugo.lima@openbossa.org>
+
+        [EFL] Add missing #if guards on drag support methods
+        https://bugs.webkit.org/show_bug.cgi?id=116574
+
+        Reviewed by Christophe Dumez.
+
+        * platform/efl/PasteboardEfl.cpp:
+        (WebCore):
+
+2013-05-21  Antti Koivisto  <antti@apple.com>
+
+        Remove stub HTMLContentElement
+        https://bugs.webkit.org/show_bug.cgi?id=116580
+
+        Reviewed by Andreas Kling.
+
+        Inherit DetailsContentElement and DetailsSummaryElement directly from InsertionPoint instead.
+
+        * html/HTMLDetailsElement.cpp:
+        (WebCore::DetailsContentElement::DetailsContentElement):
+        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
+        * html/HTMLSummaryElement.cpp:
+        (WebCore::SummaryContentElement::SummaryContentElement):
+        * html/shadow/HTMLContentElement.cpp:
+        (WebCore::HTMLContentElement::contentTagName):
+        * html/shadow/HTMLContentElement.h:
+        (WebCore::isHTMLContentElement):
+        * html/shadow/InsertionPoint.cpp:
+        (WebCore::InsertionPoint::setResetStyleInheritance):
+        * html/shadow/InsertionPoint.h:
+        
+            Also remove some leftover selector code.
+
+        (WebCore::InsertionPoint::insertionPointType):
+
+2013-05-21  Andreas Kling  <akling@apple.com>
+
+        Robustify repaint of previous caret node when moving FrameSelection.
+        <http://webkit.org/b/116558>
+
+        Reviewed by Ryosuke Niwa.
+
+        As a follow-up to r150396, also repaint the caret rects if the previous node is contenteditable.
+
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::recomputeCaretRect):
+
+2013-05-21  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Unreviewed build fix after r150469. We need to bail out here when DOM is mutated by an event listener such that
+        the split text nodes no longer exist right next to each other.
+
+        * editing/InsertParagraphSeparatorCommand.cpp:
+        (WebCore::InsertParagraphSeparatorCommand::doApply):
+
+2013-05-21  Antti Koivisto  <antti@apple.com>
+
+        Remove ScopeContentDistribution
+        https://bugs.webkit.org/show_bug.cgi?id=116576
+
+        Reviewed by Andreas Kling.
+
+        With maximum one ShadowRoot per Element this can be smashed into ContentDistributor.
+
+        * dom/ShadowRoot.cpp:
+        (WebCore):
+        * dom/ShadowRoot.h:
+        (WebCore):
+        * html/shadow/ContentDistributor.cpp:
+        (WebCore::ContentDistributor::ContentDistributor):
+        (WebCore):
+        (WebCore::ContentDistributor::~ContentDistributor):
+        (WebCore::ContentDistributor::invalidateInsertionPointList):
+        (WebCore::ContentDistributor::ensureInsertionPointList):
+        (WebCore::ContentDistributor::distribute):
+        (WebCore::ContentDistributor::invalidate):
+        * html/shadow/ContentDistributor.h:
+        (WebCore):
+        (ContentDistributor):
+        * html/shadow/InsertionPoint.cpp:
+        (WebCore::InsertionPoint::InsertionPoint):
+        (WebCore::InsertionPoint::insertedInto):
+        (WebCore::InsertionPoint::removedFrom):
+        
+            Simplify insertion point list invalidation.
+
+        * html/shadow/InsertionPoint.h:
+
 2013-05-21  Zoltan Horvath  <zoltan@webkit.org>
 
         [CSS Regions][CSS Exclusions] Multiple regions with shape-insides should respect positioned shapes and overflow