Move StyleChange enum into a separate file
authorantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Jan 2016 16:10:25 +0000 (16:10 +0000)
committerantti@apple.com <antti@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Jan 2016 16:10:25 +0000 (16:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=152730

Reviewed by Andreas Kling.

Fewer whole-world rebuilds.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/CharacterData.cpp:
* dom/ContainerNode.cpp:
* dom/Document.cpp:
* dom/Document.h:
* dom/Element.cpp:
* dom/Element.h:
* style/StyleChange.h: Added.
* style/StyleResolveTree.cpp:
(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::determineChange): Deleted.
* style/StyleResolveTree.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194584 268f45cc-cd09-0410-ab3c-d52691b4dbfc

18 files changed:
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/dom/CharacterData.cpp
Source/WebCore/dom/ContainerNode.cpp
Source/WebCore/dom/Document.cpp
Source/WebCore/dom/Document.h
Source/WebCore/dom/Element.cpp
Source/WebCore/dom/Element.h
Source/WebCore/html/HTMLFormControlElement.cpp
Source/WebCore/html/HTMLFrameOwnerElement.cpp
Source/WebCore/html/HTMLPlugInImageElement.cpp
Source/WebCore/mathml/MathMLSelectElement.cpp
Source/WebCore/style/StyleChange.cpp [new file with mode: 0644]
Source/WebCore/style/StyleChange.h [new file with mode: 0644]
Source/WebCore/style/StyleResolveTree.cpp
Source/WebCore/style/StyleResolveTree.h

index 87eb3be..b6f6ce2 100644 (file)
@@ -2603,6 +2603,7 @@ set(WebCore_SOURCES
 
     style/InlineTextBoxStyle.cpp
     style/RenderTreePosition.cpp
+    style/StyleChange.cpp
     style/StyleFontSizeFunctions.cpp
     style/StyleResolveForDocument.cpp
     style/StyleResolveTree.cpp
index 4d443ed..5b8f103 100644 (file)
@@ -1,3 +1,27 @@
+2016-01-05  Antti Koivisto  <antti@apple.com>
+
+        Move StyleChange enum into a separate file
+        https://bugs.webkit.org/show_bug.cgi?id=152730
+
+        Reviewed by Andreas Kling.
+
+        Fewer whole-world rebuilds.
+
+        * CMakeLists.txt:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.xcodeproj/project.pbxproj:
+        * dom/CharacterData.cpp:
+        * dom/ContainerNode.cpp:
+        * dom/Document.cpp:
+        * dom/Document.h:
+        * dom/Element.cpp:
+        * dom/Element.h:
+        * style/StyleChange.h: Added.
+        * style/StyleResolveTree.cpp:
+        (WebCore::Style::shouldCreateRenderer):
+        (WebCore::Style::determineChange): Deleted.
+        * style/StyleResolveTree.h:
+
 2016-01-04  Zan Dobersek  <zdobersek@igalia.com>
 
         [PerformanceTiming] Don't expose the restrictedKeyMap() HashMap
index 9c5e9a1..20dc68a 100644 (file)
     <ClCompile Include="..\storage\StorageNamespaceProvider.cpp" />
     <ClCompile Include="..\style\InlineTextBoxStyle.cpp" />
     <ClCompile Include="..\style\RenderTreePosition.cpp" />
+    <ClCompile Include="..\style\StyleChange.cpp" />
     <ClCompile Include="..\style\StyleFontSizeFunctions.cpp" />
     <ClCompile Include="..\style\StyleResolveForDocument.cpp" />
     <ClCompile Include="..\style\StyleResolveTree.cpp" />
     <ClInclude Include="..\storage\StorageNamespaceProvider.h" />
     <ClInclude Include="..\style\InlineTextBoxStyle.h" />
     <ClInclude Include="..\style\RenderTreePosition.h" />
+    <ClInclude Include="..\style\StyleChange.h" />
     <ClInclude Include="..\style\StyleFontSizeFunctions.h" />
     <ClInclude Include="..\style\StyleResolveForDocument.h" />
     <ClInclude Include="..\style\StyleResolveTree.h" />
index b2abb75..7983209 100644 (file)
                E38838981BAD145F00D62EE3 /* JSModuleLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E38838941BAD145F00D62EE3 /* JSModuleLoader.cpp */; };
                E38838991BAD145F00D62EE3 /* JSModuleLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = E38838951BAD145F00D62EE3 /* JSModuleLoader.h */; };
                E401C27517CE53EC00C41A35 /* ElementIteratorAssertions.h in Headers */ = {isa = PBXBuildFile; fileRef = E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               E401E0A41C3C0B8300F34D10 /* StyleChange.h in Headers */ = {isa = PBXBuildFile; fileRef = E401E0A31C3C0B8300F34D10 /* StyleChange.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               E401E0A61C3C0CF700F34D10 /* StyleChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E401E0A51C3C0CF700F34D10 /* StyleChange.cpp */; };
                E424A39E1330DF0100CF6DC9 /* LegacyTileGridTile.h in Headers */ = {isa = PBXBuildFile; fileRef = E424A39D1330DF0100CF6DC9 /* LegacyTileGridTile.h */; };
                E424A3A01330DF1E00CF6DC9 /* LegacyTileGridTile.mm in Sources */ = {isa = PBXBuildFile; fileRef = E424A39F1330DF1E00CF6DC9 /* LegacyTileGridTile.mm */; };
                E425A49A18292B840020CFCF /* CollectionIndexCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E425A49918292B840020CFCF /* CollectionIndexCache.h */; };
                E38838941BAD145F00D62EE3 /* JSModuleLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSModuleLoader.cpp; sourceTree = "<group>"; };
                E38838951BAD145F00D62EE3 /* JSModuleLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSModuleLoader.h; sourceTree = "<group>"; };
                E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementIteratorAssertions.h; sourceTree = "<group>"; };
+               E401E0A31C3C0B8300F34D10 /* StyleChange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleChange.h; sourceTree = "<group>"; };
+               E401E0A51C3C0CF700F34D10 /* StyleChange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleChange.cpp; sourceTree = "<group>"; };
                E406F3FB1198307D009D59D6 /* ColorData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorData.cpp; sourceTree = "<group>"; };
                E41EA038119836DB00710BC5 /* CSSPropertyNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSPropertyNames.cpp; sourceTree = "<group>"; };
                E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSValueKeywords.cpp; sourceTree = "<group>"; };
                                1C0106FF192594DF008A4201 /* InlineTextBoxStyle.h */,
                                5824ABA81AE849C8009074B7 /* RenderTreePosition.cpp */,
                                5824ABA91AE849C8009074B7 /* RenderTreePosition.h */,
+                               E401E0A51C3C0CF700F34D10 /* StyleChange.cpp */,
+                               E401E0A31C3C0B8300F34D10 /* StyleChange.h */,
                                E4D58EB617B4ED8900CBDCA8 /* StyleFontSizeFunctions.cpp */,
                                E4D58EB717B4ED8900CBDCA8 /* StyleFontSizeFunctions.h */,
                                E4D58EB217B4DBDC00CBDCA8 /* StyleResolveForDocument.cpp */,
                                A5E616741894581F009ADF50 /* WebDebuggerAgent.h in Headers */,
                                FE0D84E910484348001A179E /* WebEvent.h in Headers */,
                                225A16B50D5C11E900090295 /* WebEventRegion.h in Headers */,
+                               E401E0A41C3C0B8300F34D10 /* StyleChange.h in Headers */,
                                A19D93471A9FEC7200B46C24 /* WebFilterEvaluatorSPI.h in Headers */,
                                D3F3D36E1A69B7E00059FC2B /* WebGL2RenderingContext.h in Headers */,
                                A7D20F6D107F438B00A80392 /* WebGLActiveInfo.h in Headers */,
                                85526C380AB0A17E000302EA /* DOMNodeIterator.mm in Sources */,
                                85ACAA8E0A9B759C00671E90 /* DOMNodeList.mm in Sources */,
                                856C8AE50A912649005C687B /* DOMObject.mm in Sources */,
+                               E401E0A61C3C0CF700F34D10 /* StyleChange.cpp in Sources */,
                                85C7F5D10AAFB8D9004014DD /* DOMOverflowEvent.mm in Sources */,
                                E1284BD51044A01E00EAEB52 /* DOMPageTransitionEvent.mm in Sources */,
                                1ACE53E70A8D18E70022947D /* DOMParser.cpp in Sources */,
index 26c7ed1..d185c10 100644 (file)
@@ -32,6 +32,7 @@
 #include "ProcessingInstruction.h"
 #include "RenderText.h"
 #include "StyleInheritedData.h"
+#include "StyleResolveTree.h"
 #include "TextBreakIterator.h"
 #include <wtf/Ref.h>
 
index 60f93bf..0a4262a 100644 (file)
@@ -54,6 +54,7 @@
 #include "SVGElement.h"
 #include "SVGNames.h"
 #include "SelectorQuery.h"
+#include "StyleResolveTree.h"
 #include "TemplateContentDocumentFragment.h"
 #include <algorithm>
 #include <wtf/CurrentTime.h>
index 7b6764d..284e877 100644 (file)
 #include "ShadowRoot.h"
 #include "StorageEvent.h"
 #include "StyleProperties.h"
+#include "StyleResolveTree.h"
 #include "StyleResolver.h"
 #include "StyleSheetContents.h"
 #include "StyleSheetList.h"
index 373df53..734e327 100644 (file)
@@ -45,7 +45,7 @@
 #include "RenderPtr.h"
 #include "ScriptExecutionContext.h"
 #include "StringWithDirection.h"
-#include "StyleResolveTree.h"
+#include "StyleChange.h"
 #include "TextResourceDecoder.h"
 #include "Timer.h"
 #include "TreeScope.h"
index c9a7372..c05a0a9 100644 (file)
@@ -77,6 +77,7 @@
 #include "SelectorQuery.h"
 #include "Settings.h"
 #include "StyleProperties.h"
+#include "StyleResolveTree.h"
 #include "StyleResolver.h"
 #include "TextIterator.h"
 #include "VoidCallback.h"
index 0942a42..e08401e 100644 (file)
@@ -32,7 +32,7 @@
 #include "RegionOversetState.h"
 #include "ScrollTypes.h"
 #include "SimulatedClickOptions.h"
-#include "StyleResolveTree.h"
+#include "StyleChange.h"
 
 namespace WebCore {
 
index 00ea1f0..5e051ce 100644 (file)
@@ -38,6 +38,7 @@
 #include "HTMLTextAreaElement.h"
 #include "RenderBox.h"
 #include "RenderTheme.h"
+#include "StyleResolveTree.h"
 #include "ValidationMessage.h"
 #include <wtf/NeverDestroyed.h>
 #include <wtf/Ref.h>
index a85e79d..1b9481f 100644 (file)
@@ -28,6 +28,7 @@
 #include "RenderWidget.h"
 #include "ShadowRoot.h"
 #include "SVGDocument.h"
+#include "StyleResolveTree.h"
 #include <wtf/Ref.h>
 
 namespace WebCore {
index 8d714a8..d68a599 100644 (file)
@@ -48,6 +48,7 @@
 #include "SecurityOrigin.h"
 #include "Settings.h"
 #include "ShadowRoot.h"
+#include "StyleResolveTree.h"
 #include "StyleResolver.h"
 #include "SubframeLoader.h"
 #include "TypedElementDescendantIterator.h"
index f6daf28..44fd60f 100644 (file)
@@ -35,6 +35,7 @@
 #include "RenderMathMLRow.h"
 #include "SVGElement.h"
 #include "SVGNames.h"
+#include "StyleResolveTree.h"
 
 namespace WebCore {
 
diff --git a/Source/WebCore/style/StyleChange.cpp b/Source/WebCore/style/StyleChange.cpp
new file mode 100644 (file)
index 0000000..657782a
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2013, 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "StyleChange.h"
+
+#include "RenderStyle.h"
+
+namespace WebCore {
+namespace Style {
+
+Change determineChange(const RenderStyle& s1, const RenderStyle& s2)
+{
+    if (s1.display() != s2.display())
+        return Detach;
+    if (s1.hasPseudoStyle(FIRST_LETTER) != s2.hasPseudoStyle(FIRST_LETTER))
+        return Detach;
+    // We just detach if a renderer acquires or loses a column-span, since spanning elements
+    // typically won't contain much content.
+    if (s1.columnSpan() != s2.columnSpan())
+        return Detach;
+    if (!s1.contentDataEquivalent(&s2))
+        return Detach;
+    // When text-combine property has been changed, we need to prepare a separate renderer object.
+    // When text-combine is on, we use RenderCombineText, otherwise RenderText.
+    // https://bugs.webkit.org/show_bug.cgi?id=55069
+    if (s1.hasTextCombine() != s2.hasTextCombine())
+        return Detach;
+    // We need to reattach the node, so that it is moved to the correct RenderFlowThread.
+    if (s1.flowThread() != s2.flowThread())
+        return Detach;
+    // When the region thread has changed, we need to prepare a separate render region object.
+    if (s1.regionThread() != s2.regionThread())
+        return Detach;
+    // FIXME: Multicolumn regions not yet supported (http://dev.w3.org/csswg/css-regions/#multi-column-regions)
+    // When the node has region style and changed its multicol style, we have to prepare
+    // a separate render region object.
+    if (s1.hasFlowFrom() && (s1.specifiesColumns() != s2.specifiesColumns()))
+        return Detach;
+
+    if (s1 != s2) {
+        if (s1.inheritedNotEqual(&s2))
+            return Inherit;
+        if (s1.hasExplicitlyInheritedProperties() || s2.hasExplicitlyInheritedProperties())
+            return Inherit;
+
+        return NoInherit;
+    }
+    // If the pseudoStyles have changed, we want any StyleChange that is not NoChange
+    // because setStyle will do the right thing with anything else.
+    if (s1.hasAnyPublicPseudoStyles()) {
+        for (PseudoId pseudoId = FIRST_PUBLIC_PSEUDOID; pseudoId < FIRST_INTERNAL_PSEUDOID; pseudoId = static_cast<PseudoId>(pseudoId + 1)) {
+            if (s1.hasPseudoStyle(pseudoId)) {
+                RenderStyle* ps2 = s2.getCachedPseudoStyle(pseudoId);
+                if (!ps2)
+                    return NoInherit;
+                RenderStyle* ps1 = s1.getCachedPseudoStyle(pseudoId);
+                if (!ps1 || *ps1 != *ps2)
+                    return NoInherit;
+            }
+        }
+    }
+
+    return NoChange;
+}
+
+}
+}
diff --git a/Source/WebCore/style/StyleChange.h b/Source/WebCore/style/StyleChange.h
new file mode 100644 (file)
index 0000000..88cc21d
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2013, 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef StyleChange_h
+#define StyleChange_h
+
+namespace WebCore {
+
+class RenderStyle;
+
+namespace Style {
+
+enum Change { NoChange, NoInherit, Inherit, Detach, Force };
+
+Change determineChange(const RenderStyle&, const RenderStyle&);
+
+}
+}
+
+#endif
index 9244a22..377ea87 100644 (file)
@@ -70,61 +70,6 @@ static void detachRenderTree(Element&, DetachType);
 static void resolveTextNode(Text&, RenderTreePosition&);
 static void resolveTree(Element&, RenderStyle& inheritedStyle, RenderTreePosition&, Change);
 
-Change determineChange(const RenderStyle& s1, const RenderStyle& s2)
-{
-    if (s1.display() != s2.display())
-        return Detach;
-    if (s1.hasPseudoStyle(FIRST_LETTER) != s2.hasPseudoStyle(FIRST_LETTER))
-        return Detach;
-    // We just detach if a renderer acquires or loses a column-span, since spanning elements
-    // typically won't contain much content.
-    if (s1.columnSpan() != s2.columnSpan())
-        return Detach;
-    if (!s1.contentDataEquivalent(&s2))
-        return Detach;
-    // When text-combine property has been changed, we need to prepare a separate renderer object.
-    // When text-combine is on, we use RenderCombineText, otherwise RenderText.
-    // https://bugs.webkit.org/show_bug.cgi?id=55069
-    if (s1.hasTextCombine() != s2.hasTextCombine())
-        return Detach;
-    // We need to reattach the node, so that it is moved to the correct RenderFlowThread.
-    if (s1.flowThread() != s2.flowThread())
-        return Detach;
-    // When the region thread has changed, we need to prepare a separate render region object.
-    if (s1.regionThread() != s2.regionThread())
-        return Detach;
-    // FIXME: Multicolumn regions not yet supported (http://dev.w3.org/csswg/css-regions/#multi-column-regions)
-    // When the node has region style and changed its multicol style, we have to prepare
-    // a separate render region object.
-    if (s1.hasFlowFrom() && (s1.specifiesColumns() != s2.specifiesColumns()))
-        return Detach;
-
-    if (s1 != s2) {
-        if (s1.inheritedNotEqual(&s2))
-            return Inherit;
-        if (s1.hasExplicitlyInheritedProperties() || s2.hasExplicitlyInheritedProperties())
-            return Inherit;
-
-        return NoInherit;
-    }
-    // If the pseudoStyles have changed, we want any StyleChange that is not NoChange
-    // because setStyle will do the right thing with anything else.
-    if (s1.hasAnyPublicPseudoStyles()) {
-        for (PseudoId pseudoId = FIRST_PUBLIC_PSEUDOID; pseudoId < FIRST_INTERNAL_PSEUDOID; pseudoId = static_cast<PseudoId>(pseudoId + 1)) {
-            if (s1.hasPseudoStyle(pseudoId)) {
-                RenderStyle* ps2 = s2.getCachedPseudoStyle(pseudoId);
-                if (!ps2)
-                    return NoInherit;
-                RenderStyle* ps1 = s1.getCachedPseudoStyle(pseudoId);
-                if (!ps1 || *ps1 != *ps2)
-                    return NoInherit;
-            }
-        }
-    }
-
-    return NoChange;
-}
-
 static bool shouldCreateRenderer(const Element& element, const RenderElement& parentRenderer)
 {
     if (!element.document().shouldCreateRenderers())
index 00f3067..76c95dc 100644 (file)
@@ -26,6 +26,7 @@
 #ifndef StyleResolveTree_h
 #define StyleResolveTree_h
 
+#include "StyleChange.h"
 #include <functional>
 
 namespace WebCore {
@@ -38,8 +39,6 @@ class Text;
 
 namespace Style {
 
-enum Change { NoChange, NoInherit, Inherit, Detach, Force };
-
 void resolveTree(Document&, Change);
 
 void detachRenderTree(Element&);
@@ -47,8 +46,6 @@ void detachTextRenderer(Text&);
 
 void updateTextRendererAfterContentChange(Text&, unsigned offsetOfReplacedData, unsigned lengthOfReplacedData);
 
-Change determineChange(const RenderStyle&, const RenderStyle&);
-
 void queuePostResolutionCallback(std::function<void ()>);
 bool postResolutionCallbacksAreSuspended();