Changeset 194584 in webkit
- Timestamp:
- Jan 5, 2016 8:10:25 AM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 added
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/CMakeLists.txt
r194577 r194584 2604 2604 style/InlineTextBoxStyle.cpp 2605 2605 style/RenderTreePosition.cpp 2606 style/StyleChange.cpp 2606 2607 style/StyleFontSizeFunctions.cpp 2607 2608 style/StyleResolveForDocument.cpp -
trunk/Source/WebCore/ChangeLog
r194578 r194584 1 2016-01-05 Antti Koivisto <antti@apple.com> 2 3 Move StyleChange enum into a separate file 4 https://bugs.webkit.org/show_bug.cgi?id=152730 5 6 Reviewed by Andreas Kling. 7 8 Fewer whole-world rebuilds. 9 10 * CMakeLists.txt: 11 * WebCore.vcxproj/WebCore.vcxproj: 12 * WebCore.xcodeproj/project.pbxproj: 13 * dom/CharacterData.cpp: 14 * dom/ContainerNode.cpp: 15 * dom/Document.cpp: 16 * dom/Document.h: 17 * dom/Element.cpp: 18 * dom/Element.h: 19 * style/StyleChange.h: Added. 20 * style/StyleResolveTree.cpp: 21 (WebCore::Style::shouldCreateRenderer): 22 (WebCore::Style::determineChange): Deleted. 23 * style/StyleResolveTree.h: 24 1 25 2016-01-04 Zan Dobersek <zdobersek@igalia.com> 2 26 -
trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
r194447 r194584 19200 19200 <ClCompile Include="..\style\InlineTextBoxStyle.cpp" /> 19201 19201 <ClCompile Include="..\style\RenderTreePosition.cpp" /> 19202 <ClCompile Include="..\style\StyleChange.cpp" /> 19202 19203 <ClCompile Include="..\style\StyleFontSizeFunctions.cpp" /> 19203 19204 <ClCompile Include="..\style\StyleResolveForDocument.cpp" /> … … 22763 22764 <ClInclude Include="..\style\InlineTextBoxStyle.h" /> 22764 22765 <ClInclude Include="..\style\RenderTreePosition.h" /> 22766 <ClInclude Include="..\style\StyleChange.h" /> 22765 22767 <ClInclude Include="..\style\StyleFontSizeFunctions.h" /> 22766 22768 <ClInclude Include="..\style\StyleResolveForDocument.h" /> -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r194447 r194584 6462 6462 E38838991BAD145F00D62EE3 /* JSModuleLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = E38838951BAD145F00D62EE3 /* JSModuleLoader.h */; }; 6463 6463 E401C27517CE53EC00C41A35 /* ElementIteratorAssertions.h in Headers */ = {isa = PBXBuildFile; fileRef = E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6464 E401E0A41C3C0B8300F34D10 /* StyleChange.h in Headers */ = {isa = PBXBuildFile; fileRef = E401E0A31C3C0B8300F34D10 /* StyleChange.h */; settings = {ATTRIBUTES = (Private, ); }; }; 6465 E401E0A61C3C0CF700F34D10 /* StyleChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E401E0A51C3C0CF700F34D10 /* StyleChange.cpp */; }; 6464 6466 E424A39E1330DF0100CF6DC9 /* LegacyTileGridTile.h in Headers */ = {isa = PBXBuildFile; fileRef = E424A39D1330DF0100CF6DC9 /* LegacyTileGridTile.h */; }; 6465 6467 E424A3A01330DF1E00CF6DC9 /* LegacyTileGridTile.mm in Sources */ = {isa = PBXBuildFile; fileRef = E424A39F1330DF1E00CF6DC9 /* LegacyTileGridTile.mm */; }; … … 14365 14367 E38838951BAD145F00D62EE3 /* JSModuleLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSModuleLoader.h; sourceTree = "<group>"; }; 14366 14368 E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ElementIteratorAssertions.h; sourceTree = "<group>"; }; 14369 E401E0A31C3C0B8300F34D10 /* StyleChange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleChange.h; sourceTree = "<group>"; }; 14370 E401E0A51C3C0CF700F34D10 /* StyleChange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleChange.cpp; sourceTree = "<group>"; }; 14367 14371 E406F3FB1198307D009D59D6 /* ColorData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorData.cpp; sourceTree = "<group>"; }; 14368 14372 E41EA038119836DB00710BC5 /* CSSPropertyNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSPropertyNames.cpp; sourceTree = "<group>"; }; … … 23111 23115 5824ABA81AE849C8009074B7 /* RenderTreePosition.cpp */, 23112 23116 5824ABA91AE849C8009074B7 /* RenderTreePosition.h */, 23117 E401E0A51C3C0CF700F34D10 /* StyleChange.cpp */, 23118 E401E0A31C3C0B8300F34D10 /* StyleChange.h */, 23113 23119 E4D58EB617B4ED8900CBDCA8 /* StyleFontSizeFunctions.cpp */, 23114 23120 E4D58EB717B4ED8900CBDCA8 /* StyleFontSizeFunctions.h */, … … 28013 28019 FE0D84E910484348001A179E /* WebEvent.h in Headers */, 28014 28020 225A16B50D5C11E900090295 /* WebEventRegion.h in Headers */, 28021 E401E0A41C3C0B8300F34D10 /* StyleChange.h in Headers */, 28015 28022 A19D93471A9FEC7200B46C24 /* WebFilterEvaluatorSPI.h in Headers */, 28016 28023 D3F3D36E1A69B7E00059FC2B /* WebGL2RenderingContext.h in Headers */, … … 29052 29059 85ACAA8E0A9B759C00671E90 /* DOMNodeList.mm in Sources */, 29053 29060 856C8AE50A912649005C687B /* DOMObject.mm in Sources */, 29061 E401E0A61C3C0CF700F34D10 /* StyleChange.cpp in Sources */, 29054 29062 85C7F5D10AAFB8D9004014DD /* DOMOverflowEvent.mm in Sources */, 29055 29063 E1284BD51044A01E00EAEB52 /* DOMPageTransitionEvent.mm in Sources */, -
trunk/Source/WebCore/dom/CharacterData.cpp
r189770 r194584 33 33 #include "RenderText.h" 34 34 #include "StyleInheritedData.h" 35 #include "StyleResolveTree.h" 35 36 #include "TextBreakIterator.h" 36 37 #include <wtf/Ref.h> -
trunk/Source/WebCore/dom/ContainerNode.cpp
r194496 r194584 55 55 #include "SVGNames.h" 56 56 #include "SelectorQuery.h" 57 #include "StyleResolveTree.h" 57 58 #include "TemplateContentDocumentFragment.h" 58 59 #include <algorithm> -
trunk/Source/WebCore/dom/Document.cpp
r194496 r194584 155 155 #include "StorageEvent.h" 156 156 #include "StyleProperties.h" 157 #include "StyleResolveTree.h" 157 158 #include "StyleResolver.h" 158 159 #include "StyleSheetContents.h" -
trunk/Source/WebCore/dom/Document.h
r194397 r194584 46 46 #include "ScriptExecutionContext.h" 47 47 #include "StringWithDirection.h" 48 #include "Style ResolveTree.h"48 #include "StyleChange.h" 49 49 #include "TextResourceDecoder.h" 50 50 #include "Timer.h" -
trunk/Source/WebCore/dom/Element.cpp
r194496 r194584 78 78 #include "Settings.h" 79 79 #include "StyleProperties.h" 80 #include "StyleResolveTree.h" 80 81 #include "StyleResolver.h" 81 82 #include "TextIterator.h" -
trunk/Source/WebCore/dom/Element.h
r194466 r194584 33 33 #include "ScrollTypes.h" 34 34 #include "SimulatedClickOptions.h" 35 #include "Style ResolveTree.h"35 #include "StyleChange.h" 36 36 37 37 namespace WebCore { -
trunk/Source/WebCore/html/HTMLFormControlElement.cpp
r194496 r194584 39 39 #include "RenderBox.h" 40 40 #include "RenderTheme.h" 41 #include "StyleResolveTree.h" 41 42 #include "ValidationMessage.h" 42 43 #include <wtf/NeverDestroyed.h> -
trunk/Source/WebCore/html/HTMLFrameOwnerElement.cpp
r174875 r194584 29 29 #include "ShadowRoot.h" 30 30 #include "SVGDocument.h" 31 #include "StyleResolveTree.h" 31 32 #include <wtf/Ref.h> 32 33 -
trunk/Source/WebCore/html/HTMLPlugInImageElement.cpp
r194496 r194584 49 49 #include "Settings.h" 50 50 #include "ShadowRoot.h" 51 #include "StyleResolveTree.h" 51 52 #include "StyleResolver.h" 52 53 #include "SubframeLoader.h" -
trunk/Source/WebCore/mathml/MathMLSelectElement.cpp
r194496 r194584 36 36 #include "SVGElement.h" 37 37 #include "SVGNames.h" 38 #include "StyleResolveTree.h" 38 39 39 40 namespace WebCore { -
trunk/Source/WebCore/style/StyleResolveTree.cpp
r194496 r194584 71 71 static void resolveTree(Element&, RenderStyle& inheritedStyle, RenderTreePosition&, Change); 72 72 73 Change determineChange(const RenderStyle& s1, const RenderStyle& s2)74 {75 if (s1.display() != s2.display())76 return Detach;77 if (s1.hasPseudoStyle(FIRST_LETTER) != s2.hasPseudoStyle(FIRST_LETTER))78 return Detach;79 // We just detach if a renderer acquires or loses a column-span, since spanning elements80 // typically won't contain much content.81 if (s1.columnSpan() != s2.columnSpan())82 return Detach;83 if (!s1.contentDataEquivalent(&s2))84 return Detach;85 // When text-combine property has been changed, we need to prepare a separate renderer object.86 // When text-combine is on, we use RenderCombineText, otherwise RenderText.87 // https://bugs.webkit.org/show_bug.cgi?id=5506988 if (s1.hasTextCombine() != s2.hasTextCombine())89 return Detach;90 // We need to reattach the node, so that it is moved to the correct RenderFlowThread.91 if (s1.flowThread() != s2.flowThread())92 return Detach;93 // When the region thread has changed, we need to prepare a separate render region object.94 if (s1.regionThread() != s2.regionThread())95 return Detach;96 // FIXME: Multicolumn regions not yet supported (http://dev.w3.org/csswg/css-regions/#multi-column-regions)97 // When the node has region style and changed its multicol style, we have to prepare98 // a separate render region object.99 if (s1.hasFlowFrom() && (s1.specifiesColumns() != s2.specifiesColumns()))100 return Detach;101 102 if (s1 != s2) {103 if (s1.inheritedNotEqual(&s2))104 return Inherit;105 if (s1.hasExplicitlyInheritedProperties() || s2.hasExplicitlyInheritedProperties())106 return Inherit;107 108 return NoInherit;109 }110 // If the pseudoStyles have changed, we want any StyleChange that is not NoChange111 // because setStyle will do the right thing with anything else.112 if (s1.hasAnyPublicPseudoStyles()) {113 for (PseudoId pseudoId = FIRST_PUBLIC_PSEUDOID; pseudoId < FIRST_INTERNAL_PSEUDOID; pseudoId = static_cast<PseudoId>(pseudoId + 1)) {114 if (s1.hasPseudoStyle(pseudoId)) {115 RenderStyle* ps2 = s2.getCachedPseudoStyle(pseudoId);116 if (!ps2)117 return NoInherit;118 RenderStyle* ps1 = s1.getCachedPseudoStyle(pseudoId);119 if (!ps1 || *ps1 != *ps2)120 return NoInherit;121 }122 }123 }124 125 return NoChange;126 }127 128 73 static bool shouldCreateRenderer(const Element& element, const RenderElement& parentRenderer) 129 74 { -
trunk/Source/WebCore/style/StyleResolveTree.h
r175583 r194584 27 27 #define StyleResolveTree_h 28 28 29 #include "StyleChange.h" 29 30 #include <functional> 30 31 … … 39 40 namespace Style { 40 41 41 enum Change { NoChange, NoInherit, Inherit, Detach, Force };42 43 42 void resolveTree(Document&, Change); 44 43 … … 47 46 48 47 void updateTextRendererAfterContentChange(Text&, unsigned offsetOfReplacedData, unsigned lengthOfReplacedData); 49 50 Change determineChange(const RenderStyle&, const RenderStyle&);51 48 52 49 void queuePostResolutionCallback(std::function<void ()>);
Note: See TracChangeset
for help on using the changeset viewer.