Title: [154809] trunk/Source/WebCore
Revision
154809
Author
[email protected]
Date
2013-08-29 07:02:22 -0700 (Thu, 29 Aug 2013)

Log Message

Remove NodeRenderingContext
https://bugs.webkit.org/show_bug.cgi?id=120466

Reviewed by Andreas Kling.

Switch the few remaining clients of this class to call the underlying code directly.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::initForStyleResolve):
* dom/DOMAllInOne.cpp:
* dom/Node.cpp:
* dom/Node.h:
        
    Remove Node::parentNodeForRenderingAndStyle(). Make clients invoke NodeRenderingTraversal::parent() directly.

* dom/NodeRenderingContext.cpp: Removed.
* dom/NodeRenderingContext.h: Removed.
* dom/ShadowRoot.h:
* dom/Text.cpp:
* dom/Text.h:
* dom/TreeScope.cpp:
* dom/TreeScope.h:
            
    Remove virtual TreeScope::resetStyleInheritance. Make clients cast to ShadowRoot when needed.

* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::detailsElement):
* style/StyleResolveTree.cpp:
(WebCore::Style::createTextRendererIfNeeded):
        
    For consistency switch resetStyleInheritance check to use parentNode() instead of renderingParentNode. This matches the NodeRenderingTraversal implementation.
    This difference is probably not testable in current trunk.

(WebCore::Style::resolveTree):

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (154808 => 154809)


--- trunk/Source/WebCore/CMakeLists.txt	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/CMakeLists.txt	2013-08-29 14:02:22 UTC (rev 154809)
@@ -1198,7 +1198,6 @@
     dom/NodeFilter.cpp
     dom/NodeIterator.cpp
     dom/NodeRareData.cpp
-    dom/NodeRenderingContext.cpp
     dom/NodeRenderingTraversal.cpp
     dom/NodeTraversal.cpp
     dom/Notation.cpp

Modified: trunk/Source/WebCore/ChangeLog (154808 => 154809)


--- trunk/Source/WebCore/ChangeLog	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/ChangeLog	2013-08-29 14:02:22 UTC (rev 154809)
@@ -1,5 +1,48 @@
 2013-08-29  Antti Koivisto  <[email protected]>
 
+        Remove NodeRenderingContext
+        https://bugs.webkit.org/show_bug.cgi?id=120466
+
+        Reviewed by Andreas Kling.
+
+        Switch the few remaining clients of this class to call the underlying code directly.
+
+        * CMakeLists.txt:
+        * GNUmakefile.list.am:
+        * Target.pri:
+        * WebCore.exp.in:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::State::initForStyleResolve):
+        * dom/DOMAllInOne.cpp:
+        * dom/Node.cpp:
+        * dom/Node.h:
+        
+            Remove Node::parentNodeForRenderingAndStyle(). Make clients invoke NodeRenderingTraversal::parent() directly.
+
+        * dom/NodeRenderingContext.cpp: Removed.
+        * dom/NodeRenderingContext.h: Removed.
+        * dom/ShadowRoot.h:
+        * dom/Text.cpp:
+        * dom/Text.h:
+        * dom/TreeScope.cpp:
+        * dom/TreeScope.h:
+            
+            Remove virtual TreeScope::resetStyleInheritance. Make clients cast to ShadowRoot when needed.
+
+        * html/HTMLSummaryElement.cpp:
+        (WebCore::HTMLSummaryElement::detailsElement):
+        * style/StyleResolveTree.cpp:
+        (WebCore::Style::createTextRendererIfNeeded):
+        
+            For consistency switch resetStyleInheritance check to use parentNode() instead of renderingParentNode. This matches the NodeRenderingTraversal implementation.
+            This difference is probably not testable in current trunk.
+
+        (WebCore::Style::resolveTree):
+
+2013-08-29  Antti Koivisto  <[email protected]>
+
         Move element renderer creation out of NodeRenderingContext
         https://bugs.webkit.org/show_bug.cgi?id=120461
 

Modified: trunk/Source/WebCore/GNUmakefile.list.am (154808 => 154809)


--- trunk/Source/WebCore/GNUmakefile.list.am	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/GNUmakefile.list.am	2013-08-29 14:02:22 UTC (rev 154809)
@@ -2968,13 +2968,11 @@
 	Source/WebCore/dom/NodeFilter.cpp \
 	Source/WebCore/dom/NodeFilter.h \
 	Source/WebCore/dom/NodeRareData.cpp \
-	Source/WebCore/dom/NodeRenderingContext.cpp \
 	Source/WebCore/dom/Node.h \
 	Source/WebCore/dom/NodeIterator.cpp \
 	Source/WebCore/dom/NodeIterator.h \
 	Source/WebCore/dom/NodeList.h \
 	Source/WebCore/dom/NodeRareData.h \
-	Source/WebCore/dom/NodeRenderingContext.h \
 	Source/WebCore/dom/NodeRenderingTraversal.h \
 	Source/WebCore/dom/NodeRenderingTraversal.cpp \
 	Source/WebCore/dom/NodeRenderStyle.h \

Modified: trunk/Source/WebCore/Target.pri (154808 => 154809)


--- trunk/Source/WebCore/Target.pri	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/Target.pri	2013-08-29 14:02:22 UTC (rev 154809)
@@ -447,7 +447,6 @@
     dom/NodeFilter.cpp \
     dom/NodeIterator.cpp \
     dom/NodeRareData.cpp \
-    dom/NodeRenderingContext.cpp \
     dom/NodeRenderingTraversal.cpp \
     dom/NodeTraversal.cpp \
     dom/Notation.cpp \
@@ -1658,7 +1657,6 @@
     dom/Node.h \
     dom/NodeIterator.h \
     dom/NodeRareData.h \
-    dom/NodeRenderingContext.h \
     dom/NodeRenderingTraversal.h \
     dom/NodeTraversal.h \
     dom/Notation.h \

Modified: trunk/Source/WebCore/WebCore.exp.in (154808 => 154809)


--- trunk/Source/WebCore/WebCore.exp.in	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/WebCore.exp.in	2013-08-29 14:02:22 UTC (rev 154809)
@@ -665,8 +665,6 @@
 __ZN7WebCore20DictationAlternativeC1Ev
 __ZN7WebCore20DisplaySleepDisablerC1EPKc
 __ZN7WebCore20DisplaySleepDisablerD1Ev
-__ZN7WebCore20NodeRenderingContextC1EPNS_4NodeE
-__ZN7WebCore20NodeRenderingContextD1Ev
 __ZN7WebCore20RenderEmbeddedObject29setPluginUnavailabilityReasonENS0_26PluginUnavailabilityReasonE
 __ZN7WebCore20RenderEmbeddedObject37setUnavailablePluginIndicatorIsHiddenEb
 __ZN7WebCore20RenderEmbeddedObject44setPluginUnavailabilityReasonWithDescriptionENS0_26PluginUnavailabilityReasonERKN3WTF6StringE

Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (154808 => 154809)


--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj	2013-08-29 14:02:22 UTC (rev 154809)
@@ -12981,20 +12981,6 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
     </ClCompile>
     <ClCompile Include="..\dom\NodeRareData.cpp" />
-    <ClCompile Include="..\dom\NodeRenderingContext.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="..\dom\NodeTraversal.cpp" />
     <ClCompile Include="..\dom\Notation.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
@@ -20323,7 +20309,6 @@
     <ClInclude Include="..\dom\NodeFilter.h" />
     <ClInclude Include="..\dom\NodeFilterCondition.h" />
     <ClInclude Include="..\dom\NodeIterator.h" />
-    <ClInclude Include="..\dom\NodeRenderingContext.h" />
     <ClInclude Include="..\dom\NodeTraversal.h" />
     <ClInclude Include="..\dom\Notation.h" />
     <ClInclude Include="..\dom\OverflowEvent.h" />

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (154808 => 154809)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2013-08-29 14:02:22 UTC (rev 154809)
@@ -3449,8 +3449,6 @@
 		A7D6B34A0F61104500B79FD1 /* WorkerScriptLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7D6B3480F61104500B79FD1 /* WorkerScriptLoader.cpp */; };
 		A7DBF8DD1276919C006B6008 /* TextCheckingHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7DBF8DB1276919C006B6008 /* TextCheckingHelper.cpp */; };
 		A7DBF8DE1276919C006B6008 /* TextCheckingHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = A7DBF8DC1276919C006B6008 /* TextCheckingHelper.h */; };
-		A7F5D94F1384F02D00A29A87 /* NodeRenderingContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */; };
-		A7F5D9501384F02D00A29A87 /* NodeRenderingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */; };
 		A80A38FE0E50CC8200A25EBC /* PatternCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80A38FD0E50CC8200A25EBC /* PatternCG.cpp */; };
 		A80D67080E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h in Headers */ = {isa = PBXBuildFile; fileRef = A80D67070E9E9DEB00E420F0 /* GraphicsContextPlatformPrivateCG.h */; };
 		A80E6CE40A1989CA007FB8C5 /* CSSValueList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A80E6CBA0A1989CA007FB8C5 /* CSSValueList.cpp */; };
@@ -9904,8 +9902,6 @@
 		A7F1F4BF17148BDB00CD4852 /* StorageQuotaCallback.idl */ = {isa = PBXFileReference; lastKnownFileType = text; name = StorageQuotaCallback.idl; path = Modules/quota/StorageQuotaCallback.idl; sourceTree = SOURCE_ROOT; };
 		A7F1F4C017148BDB00CD4852 /* StorageUsageCallback.idl */ = {isa = PBXFileReference; lastKnownFileType = text; name = StorageUsageCallback.idl; path = Modules/quota/StorageUsageCallback.idl; sourceTree = SOURCE_ROOT; };
 		A7F1F4C117148BDB00CD4852 /* WorkerNavigatorStorageQuota.idl */ = {isa = PBXFileReference; lastKnownFileType = text; name = WorkerNavigatorStorageQuota.idl; path = Modules/quota/WorkerNavigatorStorageQuota.idl; sourceTree = SOURCE_ROOT; };
-		A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NodeRenderingContext.cpp; sourceTree = "<group>"; };
-		A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeRenderingContext.h; sourceTree = "<group>"; };
 		A7F73ED9169AD7AA00CBAA4B /* DOMShadowRoot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMShadowRoot.h; sourceTree = "<group>"; };
 		A7F73EDA169AD7AA00CBAA4B /* DOMShadowRoot.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMShadowRoot.mm; sourceTree = "<group>"; };
 		A80A38FD0E50CC8200A25EBC /* PatternCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PatternCG.cpp; sourceTree = "<group>"; };
@@ -20350,8 +20346,6 @@
 				85ACA9FA0A9B631000671E90 /* NodeList.idl */,
 				4FAB48661643A67E00F70C07 /* NodeRareData.cpp */,
 				63189AE20E83A33300012E41 /* NodeRareData.h */,
-				A7F5D94D1384F02D00A29A87 /* NodeRenderingContext.cpp */,
-				A7F5D94E1384F02D00A29A87 /* NodeRenderingContext.h */,
 				A7211F231678A54200957444 /* NodeRenderingTraversal.cpp */,
 				A7211F241678A54200957444 /* NodeRenderingTraversal.h */,
 				63D7B32C0E78CD3F00F7617C /* NodeRenderStyle.h */,
@@ -22843,7 +22837,6 @@
 				854FE7350A2297BE0058D7AD /* NodeIterator.h in Headers */,
 				A818721B0977D3C0005826D9 /* NodeList.h in Headers */,
 				63189AE30E83A33300012E41 /* NodeRareData.h in Headers */,
-				A7F5D9501384F02D00A29A87 /* NodeRenderingContext.h in Headers */,
 				A74F3EF51678B24F00B05A6E /* NodeRenderingTraversal.h in Headers */,
 				63D7B32D0E78CD3F00F7617C /* NodeRenderStyle.h in Headers */,
 				E43105BB16750F1600DB2FB8 /* NodeTraversal.h in Headers */,
@@ -26038,7 +26031,6 @@
 				854FE7320A2297BE0058D7AD /* NodeFilterCondition.cpp in Sources */,
 				854FE7340A2297BE0058D7AD /* NodeIterator.cpp in Sources */,
 				4FFC022B1643B710004E1638 /* NodeRareData.cpp in Sources */,
-				A7F5D94F1384F02D00A29A87 /* NodeRenderingContext.cpp in Sources */,
 				A74F3EF31678B24A00B05A6E /* NodeRenderingTraversal.cpp in Sources */,
 				E43105B816750F0C00DB2FB8 /* NodeTraversal.cpp in Sources */,
 				A8EA7EBF0A1945D000A8EF5F /* Notation.cpp in Sources */,

Modified: trunk/Source/WebCore/css/StyleResolver.cpp (154808 => 154809)


--- trunk/Source/WebCore/css/StyleResolver.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/css/StyleResolver.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -83,7 +83,7 @@
 #include "MediaList.h"
 #include "MediaQueryEvaluator.h"
 #include "NodeRenderStyle.h"
-#include "NodeRenderingContext.h"
+#include "NodeRenderingTraversal.h"
 #include "Page.h"
 #include "PageRuleCollector.h"
 #include "Pair.h"
@@ -428,9 +428,9 @@
     m_regionForStyling = regionForStyling;
 
     if (e) {
-        NodeRenderingContext context(e);
-        m_parentNode = context.parentNodeForRenderingAndStyle();
-        m_parentStyle = context.resetStyleInheritance() ? 0 :
+        m_parentNode = NodeRenderingTraversal::parent(e);
+        bool resetStyleInheritance = hasShadowRootParent(e) && toShadowRoot(e->parentNode())->resetStyleInheritance();
+        m_parentStyle = resetStyleInheritance ? 0 :
             parentStyle ? parentStyle :
             m_parentNode ? m_parentNode->renderStyle() : 0;
     } else {

Modified: trunk/Source/WebCore/dom/DOMAllInOne.cpp (154808 => 154809)


--- trunk/Source/WebCore/dom/DOMAllInOne.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/DOMAllInOne.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -106,7 +106,6 @@
 #include "NodeFilter.cpp"
 #include "NodeFilterCondition.cpp"
 #include "NodeIterator.cpp"
-#include "NodeRenderingContext.cpp"
 #include "NodeRenderingTraversal.cpp"
 #include "Notation.cpp"
 #include "OverflowEvent.cpp"

Modified: trunk/Source/WebCore/dom/Node.cpp (154808 => 154809)


--- trunk/Source/WebCore/dom/Node.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/Node.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -79,7 +79,6 @@
 #include "NameNodeList.h"
 #include "NamedNodeMap.h"
 #include "NodeRareData.h"
-#include "NodeRenderingContext.h"
 #include "NodeTraversal.h"
 #include "Page.h"
 #include "PlatformMouseEvent.h"
@@ -942,11 +941,6 @@
     return lastChild();
 }
 
-ContainerNode* Node::parentNodeForRenderingAndStyle()
-{
-    return NodeRenderingContext(this).parentNodeForRenderingAndStyle();
-}
-
 RenderStyle* Node::virtualComputedStyle(PseudoId pseudoElementSpecifier)
 {
     return parentOrShadowHostNode() ? parentOrShadowHostNode()->computedStyle(pseudoElementSpecifier) : 0;

Modified: trunk/Source/WebCore/dom/Node.h (154808 => 154809)


--- trunk/Source/WebCore/dom/Node.h	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/Node.h	2013-08-29 14:02:22 UTC (rev 154809)
@@ -463,8 +463,6 @@
     // Use these two methods with caution.
     RenderBox* renderBox() const;
     RenderBoxModelObject* renderBoxModelObject() const;
-
-    ContainerNode* parentNodeForRenderingAndStyle();
     
     // Wrapper for nodes that don't have a renderer, but still cache the style (like HTMLOptionElement).
     RenderStyle* renderStyle() const;

Deleted: trunk/Source/WebCore/dom/NodeRenderingContext.cpp (154808 => 154809)


--- trunk/Source/WebCore/dom/NodeRenderingContext.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/NodeRenderingContext.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -1,162 +0,0 @@
-/*
- * Copyright (C) 1999 Lars Knoll ([email protected])
- *           (C) 1999 Antti Koivisto ([email protected])
- *           (C) 2001 Dirk Mueller ([email protected])
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#include "config.h"
-#include "NodeRenderingContext.h"
-
-#include "ContainerNode.h"
-#include "ContentDistributor.h"
-#include "FlowThreadController.h"
-#include "HTMLContentElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "Node.h"
-#include "PseudoElement.h"
-#include "RenderFullScreen.h"
-#include "RenderNamedFlowThread.h"
-#include "RenderObject.h"
-#include "RenderText.h"
-#include "RenderView.h"
-#include "ShadowRoot.h"
-#include "StyleInheritedData.h"
-#include "StyleResolver.h"
-#include "Text.h"
-
-#if ENABLE(SVG)
-#include "SVGNames.h"
-#endif
-
-namespace WebCore {
-
-using namespace HTMLNames;
-
-NodeRenderingContext::NodeRenderingContext(Node* node)
-    : m_node(node)
-{
-    m_renderingParent = NodeRenderingTraversal::parent(node);
-}
-
-NodeRenderingContext::~NodeRenderingContext()
-{
-}
-
-static bool isRendererReparented(const RenderObject* renderer)
-{
-    if (!renderer->node()->isElementNode())
-        return false;
-    if (renderer->style() && !renderer->style()->flowThread().isEmpty())
-        return true;
-#if ENABLE(DIALOG_ELEMENT)
-    if (toElement(renderer->node())->isInTopLayer())
-        return true;
-#endif
-    return false;
-}
-
-RenderObject* NodeRenderingContext::nextRenderer() const
-{
-    if (RenderObject* renderer = m_node->renderer())
-        return renderer->nextSibling();
-
-#if ENABLE(DIALOG_ELEMENT)
-    Element* element = m_node->isElementNode() ? toElement(m_node) : 0;
-    if (element && element->isInTopLayer()) {
-        const Vector<RefPtr<Element> >& topLayerElements = element->document()->topLayerElements();
-        size_t position = topLayerElements.find(element);
-        ASSERT(position != notFound);
-        for (size_t i = position + 1; i < topLayerElements.size(); ++i) {
-            if (RenderObject* renderer = topLayerElements[i]->renderer())
-                return renderer;
-        }
-        return 0;
-    }
-#endif
-
-    // Avoid an O(N^2) problem with this function by not checking for
-    // nextRenderer() when the parent element hasn't attached yet.
-    if (m_renderingParent && !m_renderingParent->attached())
-        return 0;
-
-    for (Node* sibling = NodeRenderingTraversal::nextSibling(m_node); sibling; sibling = NodeRenderingTraversal::nextSibling(sibling)) {
-        RenderObject* renderer = sibling->renderer();
-        if (renderer && !isRendererReparented(renderer))
-            return renderer;
-    }
-
-    return 0;
-}
-
-RenderObject* NodeRenderingContext::previousRenderer() const
-{
-    if (RenderObject* renderer = m_node->renderer())
-        return renderer->previousSibling();
-
-#if ENABLE(DIALOG_ELEMENT)
-    // FIXME: This doesn't work correctly for things in the top layer that are
-    // display: none. We'd need to duplicate the logic in nextRenderer, but since
-    // nothing needs that yet just assert.
-    ASSERT(!m_node->isElementNode() || !toElement(m_node)->isInTopLayer());
-#endif
-
-    // FIXME: We should have the same O(N^2) avoidance as nextRenderer does
-    // however, when I tried adding it, several tests failed.
-    for (Node* sibling = NodeRenderingTraversal::previousSibling(m_node); sibling; sibling = NodeRenderingTraversal::previousSibling(sibling)) {
-        RenderObject* renderer = sibling->renderer();
-        if (renderer && !isRendererReparented(renderer))
-            return renderer;
-    }
-
-    return 0;
-}
-
-RenderObject* NodeRenderingContext::parentRenderer() const
-{
-    if (RenderObject* renderer = m_node->renderer())
-        return renderer->parent();
-
-#if ENABLE(DIALOG_ELEMENT)
-    if (m_node->isElementNode() && toElement(m_node)->isInTopLayer()) {
-        // The parent renderer of top layer elements is the RenderView, but only
-        // if the normal parent would have had a renderer.
-        // FIXME: This behavior isn't quite right as the spec for top layer
-        // only talks about display: none ancestors so putting a <dialog> inside
-        // an <optgroup> seems like it should still work even though this check
-        // will prevent it.
-        if (!m_renderingParent || !m_renderingParent->renderer())
-            return 0;
-        return m_node->document()->renderView();
-    }
-#endif
-
-    return m_renderingParent ? m_renderingParent->renderer() : 0;
-}
-
-bool NodeRenderingContext::resetStyleInheritance() const
-{
-    ContainerNode* parent = m_node->parentNode();
-    return parent && parent->isShadowRoot() && toShadowRoot(parent)->resetStyleInheritance();
-}
-
-}

Deleted: trunk/Source/WebCore/dom/NodeRenderingContext.h (154808 => 154809)


--- trunk/Source/WebCore/dom/NodeRenderingContext.h	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/NodeRenderingContext.h	2013-08-29 14:02:22 UTC (rev 154809)
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 1999 Lars Knoll ([email protected])
- *           (C) 1999 Antti Koivisto ([email protected])
- *           (C) 2001 Dirk Mueller ([email protected])
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmobile.com/)
- * Copyright (C) 2011 Google Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public License
- * along with this library; see the file COPYING.LIB.  If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef NodeRenderingContext_h
-#define NodeRenderingContext_h
-
-#include "NodeRenderingTraversal.h"
-
-#include <wtf/Noncopyable.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/AtomicString.h>
-
-namespace WebCore {
-
-class ContainerNode;
-class Node;
-class RenderObject;
-
-class NodeRenderingContext {
-public:
-    explicit NodeRenderingContext(Node*);
-    ~NodeRenderingContext();
-
-    Node* node() const;
-    ContainerNode* parentNodeForRenderingAndStyle() const;
-    bool resetStyleInheritance() const;
-    RenderObject* parentRenderer() const;
-    RenderObject* nextRenderer() const;
-    RenderObject* previousRenderer() const;
-
-private:
-    Node* m_node;
-    ContainerNode* m_renderingParent;
-};
-
-inline Node* NodeRenderingContext::node() const
-{
-    return m_node;
-}
-
-inline ContainerNode* NodeRenderingContext::parentNodeForRenderingAndStyle() const
-{
-    return m_renderingParent;
-}
-
-} // namespace WebCore
-
-#endif

Modified: trunk/Source/WebCore/dom/ShadowRoot.h (154808 => 154809)


--- trunk/Source/WebCore/dom/ShadowRoot.h	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/ShadowRoot.h	2013-08-29 14:02:22 UTC (rev 154809)
@@ -58,7 +58,7 @@
 
     virtual bool applyAuthorStyles() const OVERRIDE { return m_applyAuthorStyles; }
     void setApplyAuthorStyles(bool);
-    virtual bool resetStyleInheritance() const OVERRIDE { return m_resetStyleInheritance; }
+    bool resetStyleInheritance() const { return m_resetStyleInheritance; }
     void setResetStyleInheritance(bool);
 
     Element* hostElement() const { return m_hostElement; }

Modified: trunk/Source/WebCore/dom/Text.cpp (154808 => 154809)


--- trunk/Source/WebCore/dom/Text.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/Text.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -24,7 +24,6 @@
 
 #include "ExceptionCode.h"
 #include "ExceptionCodePlaceholder.h"
-#include "NodeRenderingContext.h"
 #include "RenderCombineText.h"
 #include "RenderText.h"
 #include "ScopedEventQueue.h"

Modified: trunk/Source/WebCore/dom/Text.h (154808 => 154809)


--- trunk/Source/WebCore/dom/Text.h	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/Text.h	2013-08-29 14:02:22 UTC (rev 154809)
@@ -28,7 +28,6 @@
 
 namespace WebCore {
 
-class NodeRenderingContext;
 class RenderText;
 
 class Text : public CharacterData {

Modified: trunk/Source/WebCore/dom/TreeScope.cpp (154808 => 154809)


--- trunk/Source/WebCore/dom/TreeScope.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/TreeScope.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -361,11 +361,6 @@
     return true;
 }
 
-bool TreeScope::resetStyleInheritance() const
-{
-    return false;
-}
-
 void TreeScope::adoptIfNeeded(Node* node)
 {
     ASSERT(this);

Modified: trunk/Source/WebCore/dom/TreeScope.h (154808 => 154809)


--- trunk/Source/WebCore/dom/TreeScope.h	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/dom/TreeScope.h	2013-08-29 14:02:22 UTC (rev 154809)
@@ -94,7 +94,6 @@
     Element* findAnchor(const String& name);
 
     virtual bool applyAuthorStyles() const;
-    virtual bool resetStyleInheritance() const;
 
     // Used by the basic DOM mutation methods (e.g., appendChild()).
     void adoptIfNeeded(Node*);

Modified: trunk/Source/WebCore/html/HTMLSummaryElement.cpp (154808 => 154809)


--- trunk/Source/WebCore/html/HTMLSummaryElement.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/html/HTMLSummaryElement.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -28,6 +28,7 @@
 #include "HTMLNames.h"
 #include "KeyboardEvent.h"
 #include "MouseEvent.h"
+#include "NodeRenderingTraversal.h"
 #include "PlatformMouseEvent.h"
 #include "RenderBlock.h"
 #include "ShadowRoot.h"
@@ -86,7 +87,7 @@
 
 HTMLDetailsElement* HTMLSummaryElement::detailsElement() const
 {
-    Node* mayDetails = const_cast<HTMLSummaryElement*>(this)->parentNodeForRenderingAndStyle();
+    Node* mayDetails = NodeRenderingTraversal::parent(this);
     if (!mayDetails || !mayDetails->hasTagName(detailsTag))
         return 0;
     return static_cast<HTMLDetailsElement*>(mayDetails);

Modified: trunk/Source/WebCore/style/StyleResolveTree.cpp (154808 => 154809)


--- trunk/Source/WebCore/style/StyleResolveTree.cpp	2013-08-29 13:41:19 UTC (rev 154808)
+++ trunk/Source/WebCore/style/StyleResolveTree.cpp	2013-08-29 14:02:22 UTC (rev 154809)
@@ -32,7 +32,7 @@
 #include "ElementTraversal.h"
 #include "FlowThreadController.h"
 #include "NodeRenderStyle.h"
-#include "NodeRenderingContext.h"
+#include "NodeRenderingTraversal.h"
 #include "NodeTraversal.h"
 #include "RenderFullScreen.h"
 #include "RenderNamedFlowThread.h"
@@ -346,7 +346,7 @@
 
     Document* document = textNode.document();
     RefPtr<RenderStyle> style;
-    bool resetStyleInheritance = renderingParentNode->isShadowRoot() && toShadowRoot(renderingParentNode)->resetStyleInheritance();
+    bool resetStyleInheritance = textNode.parentNode()->isShadowRoot() && toShadowRoot(textNode.parentNode())->resetStyleInheritance();
     if (resetStyleInheritance)
         style = document->ensureStyleResolver().defaultStyleForElement();
     else
@@ -692,7 +692,8 @@
             return;
     }
 
-    bool hasParentStyle = current->parentNodeForRenderingAndStyle() && current->parentNodeForRenderingAndStyle()->renderStyle();
+    ContainerNode* renderingParentNode = NodeRenderingTraversal::parent(current);
+    bool hasParentStyle = renderingParentNode && renderingParentNode->renderStyle();
     bool hasDirectAdjacentRules = current->childrenAffectedByDirectAdjacentRules();
     bool hasIndirectAdjacentRules = current->childrenAffectedByForwardPositionalRules();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to