Title: [147983] trunk
Revision
147983
Author
commit-qu...@webkit.org
Date
2013-04-08 23:16:14 -0700 (Mon, 08 Apr 2013)

Log Message

Rollout r147756: performance regression
https://bugs.webkit.org/show_bug.cgi?id=114176

Patch by Mihai Maerean <mmaer...@adobe.com> on 2013-04-08
Reviewed by Alexis Menard.

Source/WebCore:

Rolling out the patch for https://bugs.webkit.org/show_bug.cgi?id=74144 "[CSS Regions] Elements in a region
should be assignable to a named flow" because of the performance regression in Parser/html5-full-render.html .

No new tests (because this is a rollout patch).

* dom/Element.cpp:
* dom/Element.h:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::parentRenderer):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
* dom/NodeRenderingContext.h:
* dom/PseudoElement.h:
* dom/Text.cpp:
(WebCore::Text::textRendererIsNeeded):
(WebCore::Text::updateTextRenderer):
* dom/Text.h:
* rendering/FlowThreadController.cpp:
* rendering/FlowThreadController.h:
* rendering/RenderObject.h:
* rendering/RenderRegion.h:
* svg/SVGElement.cpp:
* svg/SVGElement.h:

LayoutTests:

* fast/regions/flow-body-in-html-expected.txt: Removed.
* fast/regions/flow-body-in-html.html: Removed.
* fast/regions/region-content-flown-into-region-expected.html: Removed.
* fast/regions/region-content-flown-into-region.html: Removed.
* fast/regions/universal-selector-children-to-the-same-region-expected.txt: Removed.
* fast/regions/universal-selector-children-to-the-same-region.html: Removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (147982 => 147983)


--- trunk/LayoutTests/ChangeLog	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/LayoutTests/ChangeLog	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,3 +1,17 @@
+2013-04-08  Mihai Maerean  <mmaer...@adobe.com>
+
+        Rollout r147756: performance regression
+        https://bugs.webkit.org/show_bug.cgi?id=114176
+
+        Reviewed by Alexis Menard.
+
+        * fast/regions/flow-body-in-html-expected.txt: Removed.
+        * fast/regions/flow-body-in-html.html: Removed.
+        * fast/regions/region-content-flown-into-region-expected.html: Removed.
+        * fast/regions/region-content-flown-into-region.html: Removed.
+        * fast/regions/universal-selector-children-to-the-same-region-expected.txt: Removed.
+        * fast/regions/universal-selector-children-to-the-same-region.html: Removed.
+
 2013-04-08  Benjamin Poulain  <benja...@webkit.org>
 
         Remove HTML Notification

Deleted: trunk/LayoutTests/fast/regions/flow-body-in-html-expected.txt (147982 => 147983)


--- trunk/LayoutTests/fast/regions/flow-body-in-html-expected.txt	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/LayoutTests/fast/regions/flow-body-in-html-expected.txt	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,2 +0,0 @@
-PASS: the body tag has flow-into while the html has flow-from.
-Bug 74144 - [CSS Regions] Elements in a region should be assignable to a named flow

Deleted: trunk/LayoutTests/fast/regions/flow-body-in-html.html (147982 => 147983)


--- trunk/LayoutTests/fast/regions/flow-body-in-html.html	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/LayoutTests/fast/regions/flow-body-in-html.html	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,22 +0,0 @@
-<html>
-  <head>
-    <title>103685 - [CSS Regions] Universal child selector on region breaks the rendering of its content</title>
-    <style type="text/css">
-      body {
-      -webkit-flow-into: foo;
-      }
-      html {
-       -webkit-flow-from: foo;
-      }
-    </style>
-    <script type="text/_javascript_">
-        if (window.testRunner)
-            testRunner.dumpAsText()
-    </script>
-  </head>
-  <body>
-      PASS: the body tag has flow-into while the html has flow-from.
-
-      <p><a href="" 74144</a> - [CSS Regions] Elements in a region should be assignable to a named flow</p>
-  </body>
-</html>
\ No newline at end of file

Deleted: trunk/LayoutTests/fast/regions/region-content-flown-into-region-expected.html (147982 => 147983)


--- trunk/LayoutTests/fast/regions/region-content-flown-into-region-expected.html	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/LayoutTests/fast/regions/region-content-flown-into-region-expected.html	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,23 +0,0 @@
-<html>
-    <head>
-        <style type="text/css">
-            div {
-                padding: 1px;
-            }
-            .region {
-                border:solid 1px #bbb;
-            }
-        </style>
-    </head>
-    <body>
-        <div class="region"><template>PASS r0: content that goes in the region.</template></div>
-        <div class="region">
-            <div>PASS r1: content in the region that has flow-into. 1.</div>
-            <div>PASS r1: (enclosed in a div) content in the region that has flow-into. 2. <b>PASS r1: (enclosed in a div) content in the region that has flow-into. 3.</b>.</div>
-            <div>PASS r1: (enclosed in a div) content in the region that has flow-into. 4 .</div>
-            <div>PASS r1: content in the region that has flow-into. 5.</div>
-        </div>
-        <div class="region"><span>PASS r2: content that is already in a flow goes to another flow .</span></div>
-        <p><a href="" 74144</a> - [CSS Regions] Elements in a region should be assignable to a named flow</p>
-    </body>
-</html>
\ No newline at end of file

Deleted: trunk/LayoutTests/fast/regions/region-content-flown-into-region.html (147982 => 147983)


--- trunk/LayoutTests/fast/regions/region-content-flown-into-region.html	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/LayoutTests/fast/regions/region-content-flown-into-region.html	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,92 +0,0 @@
-<html>
-    <head>
-        <title>74144 - [CSS Regions] Elements in a region should be assignable to a named flow</title>
-        <style type="text/css">
-            div {
-                padding: 1px;
-            }
-            .content {
-                -webkit-flow-into: flow;
-            }
-            .region {
-                -webkit-flow-from: flow;
-                border:solid 1px #bbb;
-            }
-
-            .redirectContent {
-                -webkit-flow-into: redirectFlow;
-            }
-            .redirectRegion {
-                -webkit-flow-from: redirectFlow;
-                border:solid 1px #bbb;
-            }
-
-            .redirectContent2 {
-                -webkit-flow-into: redirectFlow2;
-            }
-            .redirectRegion2 {
-                -webkit-flow-from: redirectFlow2;
-                border:solid 1px #bbb;
-            }
-
-            .redirectContentToNowhere {
-                -webkit-flow-into: redirectToNowhere;
-            }
-        </style>
-        <template class="content">PASS r0: content that goes in the region.</template>
-    </head>
-
-    <body>
-        <div class="region">
-            FAIL: this should not be visible 1.
-
-            <span class="redirectContentToNowhere">FAIL: this should not be visible (redirected to nowhere) 1.</span>
-
-            <div class="redirectContent">PASS r1: content in the region that has flow-into. 1.</div>
-
-            FAIL: this should not be visible 2.
-
-            <div>
-                FAIL: this should not be visible 3.
-
-                <div class="redirectContent">PASS r1: (enclosed in a div) content in the region that has flow-into. 2.
-                    <div class="redirectContentToNowhere">FAIL: this should not be visible (redirected to nowhere) 2.</div>
-                    <b>PASS r1: (enclosed in a div) content in the region that has flow-into. 3.</b>.
-                </div>
-
-                FAIL: this should not be visible 4.
-            </div>
-
-            <div>
-                FAIL: this should not be visible 5.
-
-                <div class="redirectContent">PASS r1: (enclosed in a div) content in the region that has flow-into. 4
-                    <span class="redirectContent2">PASS r2: content that is already in a flow goes to another flow
-                        <span class="redirectContentToNowhere">FAIL: this should not be visible (redirected to nowhere) 3.</span>.
-                    </span>
-                    .
-                </div>
-
-                FAIL: this should not be visible 7.
-            </div>
-
-            FAIL: this should not be visible 8.
-
-            <span class="redirectContentToNowhere">FAIL: this should not be visible (redirected to nowhere) 4.</span>
-
-            <div class="redirectContent">PASS r1: content in the region that has flow-into. 5.</div>
-
-            FAIL: this should not be visible 9.
-        </div>
-
-        <div class="redirectRegion">
-            FAIL: this should not be visible 10.
-        </div>
-
-        <div class="redirectRegion2">
-            FAIL: this should not be visible 11.
-        </div>
-
-        <p><a href="" 74144</a> - [CSS Regions] Elements in a region should be assignable to a named flow</p>
-    </body>
-</html>
\ No newline at end of file

Deleted: trunk/LayoutTests/fast/regions/universal-selector-children-to-the-same-region-expected.txt (147982 => 147983)


--- trunk/LayoutTests/fast/regions/universal-selector-children-to-the-same-region-expected.txt	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/LayoutTests/fast/regions/universal-selector-children-to-the-same-region-expected.txt	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,5 +0,0 @@
-PASS: this is inline
-PASS: and block content inside a region that is flowed into the same region
-
-PASS: button
-Bug 74144 - [CSS Regions] Elements in a region should be assignable to a named flow

Deleted: trunk/LayoutTests/fast/regions/universal-selector-children-to-the-same-region.html (147982 => 147983)


--- trunk/LayoutTests/fast/regions/universal-selector-children-to-the-same-region.html	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/LayoutTests/fast/regions/universal-selector-children-to-the-same-region.html	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,21 +0,0 @@
-<html>
-  <head>
-    <title>103685 - [CSS Regions] Universal child selector on region breaks the rendering of its content</title>
-    <style type="text/css">
-      .region > * {
-      -webkit-flow-into: foo;
-      }
-      .region {
-       -webkit-flow-from: foo;
-      }
-    </style>
-    <script type="text/_javascript_">
-        if (window.testRunner)
-            testRunner.dumpAsText()
-    </script>
-  </head>
-  <body>
-      <div class="region"><span>PASS: this is inline</span><div><p>PASS: and block content inside a region that is flowed into the same region</p></div><button>PASS: button</button></div>
-      <p><a href="" 74144</a> - [CSS Regions] Elements in a region should be assignable to a named flow</p>
-  </body>
-</html>
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (147982 => 147983)


--- trunk/Source/WebCore/ChangeLog	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/ChangeLog	2013-04-09 06:16:14 UTC (rev 147983)
@@ -1,3 +1,34 @@
+2013-04-08  Mihai Maerean  <mmaer...@adobe.com>
+
+        Rollout r147756: performance regression
+        https://bugs.webkit.org/show_bug.cgi?id=114176
+
+        Reviewed by Alexis Menard.
+
+        Rolling out the patch for https://bugs.webkit.org/show_bug.cgi?id=74144 "[CSS Regions] Elements in a region
+        should be assignable to a named flow" because of the performance regression in Parser/html5-full-render.html .
+
+        No new tests (because this is a rollout patch).
+
+        * dom/Element.cpp:
+        * dom/Element.h:
+        * dom/NodeRenderingContext.cpp:
+        (WebCore::NodeRenderingContext::parentRenderer):
+        (WebCore::NodeRenderingContext::shouldCreateRenderer):
+        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
+        * dom/NodeRenderingContext.h:
+        * dom/PseudoElement.h:
+        * dom/Text.cpp:
+        (WebCore::Text::textRendererIsNeeded):
+        (WebCore::Text::updateTextRenderer):
+        * dom/Text.h:
+        * rendering/FlowThreadController.cpp:
+        * rendering/FlowThreadController.h:
+        * rendering/RenderObject.h:
+        * rendering/RenderRegion.h:
+        * svg/SVGElement.cpp:
+        * svg/SVGElement.h:
+        
 2013-04-08  Benjamin Poulain  <benja...@webkit.org>
 
         Remove HTML Notification

Modified: trunk/Source/WebCore/dom/Element.cpp (147982 => 147983)


--- trunk/Source/WebCore/dom/Element.cpp	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/dom/Element.cpp	2013-04-09 06:16:14 UTC (rev 147983)
@@ -2558,32 +2558,6 @@
     return 0;
 }
 
-bool Element::moveToFlowThreadIsNeeded(RefPtr<RenderStyle>& cachedStyle)
-{
-    Document* doc = document();
-    
-    if (!doc->cssRegionsEnabled())
-        return false;
-
-#if ENABLE(FULLSCREEN_API)
-    if (doc->webkitIsFullScreen() && doc->webkitCurrentFullScreenElement() == this)
-        return false;
-#endif
-
-    if (isInShadowTree())
-        return false;
-
-    if (!cachedStyle)
-        cachedStyle = styleForRenderer();
-    if (!cachedStyle)
-        return false;
-
-    if (cachedStyle->flowThread().isEmpty())
-        return false;
-
-    return !document()->renderView()->flowThreadController()->isContentNodeRegisteredWithAnyNamedFlow(this);
-}
-
 #if ENABLE(CSS_REGIONS)
 
 const AtomicString& Element::webkitRegionOverset() const

Modified: trunk/Source/WebCore/dom/Element.h (147982 => 147983)


--- trunk/Source/WebCore/dom/Element.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/dom/Element.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -609,7 +609,6 @@
     PassRefPtr<RenderStyle> styleForRenderer();
 
     RenderRegion* renderRegion() const;
-    virtual bool moveToFlowThreadIsNeeded(RefPtr<RenderStyle>& cachedStyle);
 #if ENABLE(CSS_REGIONS)
     const AtomicString& webkitRegionOverset() const;
     Vector<RefPtr<Range> > webkitGetRegionFlowRanges() const;

Modified: trunk/Source/WebCore/dom/NodeRenderingContext.cpp (147982 => 147983)


--- trunk/Source/WebCore/dom/NodeRenderingContext.cpp	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/dom/NodeRenderingContext.cpp	2013-04-09 06:16:14 UTC (rev 147983)
@@ -148,7 +148,7 @@
     return 0;
 }
 
-RenderObject* NodeRenderingContext::parentRenderer()
+RenderObject* NodeRenderingContext::parentRenderer() const
 {
     if (RenderObject* renderer = m_node->renderer())
         return renderer->parent();
@@ -170,15 +170,10 @@
     if (m_parentFlowRenderer)
         return m_parentFlowRenderer;
 
-    if (m_node->isElementNode() && toElement(m_node)->moveToFlowThreadIsNeeded(m_style)) {
-        moveToFlowThread();
-        return m_parentFlowRenderer;
-    }
-
     return m_renderingParent ? m_renderingParent->renderer() : 0;
 }
 
-bool NodeRenderingContext::shouldCreateRenderer()
+bool NodeRenderingContext::shouldCreateRenderer() const
 {
     if (!m_node->document()->shouldCreateRenderers())
         return false;
@@ -187,16 +182,8 @@
     RenderObject* parentRenderer = this->parentRenderer();
     if (!parentRenderer)
         return false;
-    if (!parentRenderer->canHaveChildren()) {
-        if (parentRenderer->canDOMChildrenHaveRenderParent()) {
-            // In a region, only the children that need to be in a flow thread should have a renderer.
-            bool shouldBeInNamedFlow = m_node->isElementNode() && toElement(m_node)->moveToFlowThreadIsNeeded(m_style);
-            if (!shouldBeInNamedFlow)
-                return false;
-        } else
-            return false;
-    }
-
+    if (!parentRenderer->canHaveChildren())
+        return false;
     if (!m_renderingParent->childShouldCreateRenderer(*this))
         return false;
     return true;
@@ -205,21 +192,35 @@
 void NodeRenderingContext::moveToFlowThreadIfNeeded()
 {
     ASSERT(m_node->isElementNode());
+    ASSERT(m_style);
+    if (!m_node->document()->cssRegionsEnabled())
+        return;
 
-    if (!toElement(m_node)->moveToFlowThreadIsNeeded(m_style))
+    if (m_style->flowThread().isEmpty())
         return;
 
-    moveToFlowThread();
-}
+    // As per http://dev.w3.org/csswg/css3-regions/#flow-into, pseudo-elements such as ::first-line, ::first-letter, ::before or ::after
+    // cannot be directly collected into a named flow.
+    if (m_node->isPseudoElement())
+        return;
 
-void NodeRenderingContext::moveToFlowThread()
-{
-    ASSERT(m_node->isElementNode());
-    ASSERT(toElement(m_node)->moveToFlowThreadIsNeeded(m_style));
+    // FIXME: Do not collect elements if they are in shadow tree.
+    if (m_node->isInShadowTree())
+        return;
 
-    if (!m_style)
-        m_style = toElement(m_node)->styleForRenderer();
-    ASSERT(m_style);
+#if ENABLE(FULLSCREEN_API)
+    Document* document = m_node->document();
+    if (document->webkitIsFullScreen() && document->webkitCurrentFullScreenElement() == m_node)
+        return;
+#endif
+
+#if ENABLE(SVG)
+    // Allow only svg root elements to be directly collected by a render flow thread.
+    if (m_node->isSVGElement()
+        && (!(m_node->hasTagName(SVGNames::svgTag) && m_node->parentNode() && !m_node->parentNode()->isSVGElement())))
+        return;
+#endif
+
     m_flowThread = m_style->flowThread();
     ASSERT(m_node->document()->renderView());
     FlowThreadController* flowThreadController = m_node->document()->renderView()->flowThreadController();

Modified: trunk/Source/WebCore/dom/NodeRenderingContext.h (147982 => 147983)


--- trunk/Source/WebCore/dom/NodeRenderingContext.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/dom/NodeRenderingContext.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -55,7 +55,7 @@
     Node* node() const;
     ContainerNode* parentNodeForRenderingAndStyle() const;
     bool resetStyleInheritance() const;
-    RenderObject* parentRenderer(); // the renderer that will be the parent for this node's renderer. In the case of RenderFlowThreads, it may need to create it.
+    RenderObject* parentRenderer() const;
     RenderObject* nextRenderer() const;
     RenderObject* previousRenderer() const;
     InsertionPoint* insertionPoint() const;
@@ -66,8 +66,7 @@
     bool isOnEncapsulationBoundary() const;
 
 private:
-    bool shouldCreateRenderer();
-    void moveToFlowThread();
+    bool shouldCreateRenderer() const;
     void moveToFlowThreadIfNeeded();
 
     Node* m_node;

Modified: trunk/Source/WebCore/dom/PseudoElement.h (147982 => 147983)


--- trunk/Source/WebCore/dom/PseudoElement.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/dom/PseudoElement.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -46,14 +46,6 @@
     virtual void attach() OVERRIDE;
     virtual bool rendererIsNeeded(const NodeRenderingContext&) OVERRIDE;
 
-    // As per http://dev.w3.org/csswg/css3-regions/#flow-into, pseudo-elements such as ::first-line, ::first-letter, ::before or ::after
-    // cannot be directly collected into a named flow.
-    virtual bool moveToFlowThreadIsNeeded(RefPtr<RenderStyle>& cachedStyle) OVERRIDE
-    {
-        UNUSED_PARAM(cachedStyle);
-        return false;
-    }
-
     virtual bool canStartSelection() const OVERRIDE { return false; }
     virtual bool canContainRangeEndPoint() const OVERRIDE { return false; }
 

Modified: trunk/Source/WebCore/dom/Text.cpp (147982 => 147983)


--- trunk/Source/WebCore/dom/Text.cpp	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/dom/Text.cpp	2013-04-09 06:16:14 UTC (rev 147983)
@@ -197,7 +197,7 @@
     return create(document(), data());
 }
 
-bool Text::textRendererIsNeeded(NodeRenderingContext& context)
+bool Text::textRendererIsNeeded(const NodeRenderingContext& context)
 {
     if (isEditingText())
         return true;
@@ -302,15 +302,10 @@
     if (!attached())
         return;
     RenderText* textRenderer = toRenderText(renderer());
-    if (!textRenderer) {
+    if (!textRenderer || !textRendererIsNeeded(NodeRenderingContext(this, textRenderer->style()))) {
         reattach();
         return;
     }
-    NodeRenderingContext renderingContext(this, textRenderer->style());
-    if (!textRendererIsNeeded(renderingContext)) {
-        reattach();
-        return;
-    }
     textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfReplacedData);
 }
 

Modified: trunk/Source/WebCore/dom/Text.h (147982 => 147983)


--- trunk/Source/WebCore/dom/Text.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/dom/Text.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -46,7 +46,7 @@
     
     void recalcTextStyle(StyleChange);
     void createTextRendererIfNeeded();
-    bool textRendererIsNeeded(NodeRenderingContext&);
+    bool textRendererIsNeeded(const NodeRenderingContext&);
     RenderText* createTextRenderer(RenderArena*, RenderStyle*);
     void updateTextRenderer(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData);
 

Modified: trunk/Source/WebCore/rendering/FlowThreadController.cpp (147982 => 147983)


--- trunk/Source/WebCore/rendering/FlowThreadController.cpp	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/rendering/FlowThreadController.cpp	2013-04-09 06:16:14 UTC (rev 147983)
@@ -227,11 +227,6 @@
     }
 }
 
-bool FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow(Node* contentNode) const
-{
-    return m_mapNamedFlowContentNodes.contains(contentNode);
-}
-
 #ifndef NDEBUG
 bool FlowThreadController::isAutoLogicalHeightRegionsCountConsistent() const
 {

Modified: trunk/Source/WebCore/rendering/FlowThreadController.h (147982 => 147983)


--- trunk/Source/WebCore/rendering/FlowThreadController.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/rendering/FlowThreadController.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -66,7 +66,6 @@
 
     void registerNamedFlowContentNode(Node*, RenderNamedFlowThread*);
     void unregisterNamedFlowContentNode(Node*);
-    bool isContentNodeRegisteredWithAnyNamedFlow(Node*) const;
 
     bool hasFlowThreadsWithAutoLogicalHeightRegions() const { return m_flowThreadsWithAutoLogicalHeightRegions; }
     void incrementFlowThreadsWithAutoLogicalHeightRegions() { ++m_flowThreadsWithAutoLogicalHeightRegions; }

Modified: trunk/Source/WebCore/rendering/RenderObject.h (147982 => 147983)


--- trunk/Source/WebCore/rendering/RenderObject.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/rendering/RenderObject.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -251,7 +251,6 @@
     // RenderObject tree manipulation
     //////////////////////////////////////////
     virtual bool canHaveChildren() const { return virtualChildren(); }
-    virtual bool canDOMChildrenHaveRenderParent() const { return false; } // Even if this render object can't have render children, the children in the DOM tree may have a render parent (that is different from this object).
     virtual bool canHaveGeneratedChildren() const;
     virtual bool isChildAllowed(RenderObject*, RenderStyle*) const { return true; }
     virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0);

Modified: trunk/Source/WebCore/rendering/RenderRegion.h (147982 => 147983)


--- trunk/Source/WebCore/rendering/RenderRegion.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/rendering/RenderRegion.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -145,7 +145,6 @@
     virtual const char* renderName() const { return "RenderRegion"; }
 
     virtual bool canHaveChildren() const OVERRIDE { return false; }
-    virtual bool canDOMChildrenHaveRenderParent() const OVERRIDE { return true; }
 
     virtual void insertedIntoTree() OVERRIDE;
     virtual void willBeRemovedFromTree() OVERRIDE;

Modified: trunk/Source/WebCore/svg/SVGElement.cpp (147982 => 147983)


--- trunk/Source/WebCore/svg/SVGElement.cpp	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/svg/SVGElement.cpp	2013-04-09 06:16:14 UTC (rev 147983)
@@ -452,12 +452,6 @@
     return false;
 }
 
-bool SVGElement::moveToFlowThreadIsNeeded(RefPtr<RenderStyle>& cachedStyle)
-{
-    // Allow only svg root elements to be directly collected by a render flow thread.
-    return parentNode() && !parentNode()->isSVGElement() && hasTagName(SVGNames::svgTag) && Element::moveToFlowThreadIsNeeded(cachedStyle);
-}
-
 void SVGElement::sendSVGLoadEventIfPossible(bool sendParentLoadEvents)
 {
     RefPtr<SVGElement> currentTarget = this;

Modified: trunk/Source/WebCore/svg/SVGElement.h (147982 => 147983)


--- trunk/Source/WebCore/svg/SVGElement.h	2013-04-09 05:55:28 UTC (rev 147982)
+++ trunk/Source/WebCore/svg/SVGElement.h	2013-04-09 06:16:14 UTC (rev 147983)
@@ -120,8 +120,6 @@
     virtual bool addEventListener(const AtomicString& eventType, PassRefPtr<EventListener>, bool useCapture) OVERRIDE;
     virtual bool removeEventListener(const AtomicString& eventType, EventListener*, bool useCapture) OVERRIDE;
 
-    virtual bool moveToFlowThreadIsNeeded(RefPtr<RenderStyle>& cachedStyle) OVERRIDE;
-
 protected:
     SVGElement(const QualifiedName&, Document*, ConstructionType = CreateSVGElement);
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to