Title: [229091] trunk/Source/WebCore
Revision
229091
Author
za...@apple.com
Date
2018-02-28 08:31:34 -0800 (Wed, 28 Feb 2018)

Log Message

Remove RenderElement::s_affectsParentBlock
https://bugs.webkit.org/show_bug.cgi?id=183187
<rdar://problem/37961079>

Reviewed by Antti Koivisto.

Remove the hack to track floating/out-of-flow changes between styleWillChange and styleDidChange.

Covered by existing tests.

* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::styleDidChange):
* rendering/RenderElement.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (229090 => 229091)


--- trunk/Source/WebCore/ChangeLog	2018-02-28 15:50:00 UTC (rev 229090)
+++ trunk/Source/WebCore/ChangeLog	2018-02-28 16:31:34 UTC (rev 229091)
@@ -1,3 +1,20 @@
+2018-02-28  Zalan Bujtas  <za...@apple.com>
+
+        Remove RenderElement::s_affectsParentBlock
+        https://bugs.webkit.org/show_bug.cgi?id=183187
+        <rdar://problem/37961079>
+
+        Reviewed by Antti Koivisto.
+
+        Remove the hack to track floating/out-of-flow changes between styleWillChange and styleDidChange.
+
+        Covered by existing tests.
+
+        * rendering/RenderElement.cpp:
+        (WebCore::RenderElement::styleWillChange):
+        (WebCore::RenderElement::styleDidChange):
+        * rendering/RenderElement.h:
+
 2018-02-28  Antti Koivisto  <an...@apple.com>
 
         Filter attribute selectors with selector filter

Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (229090 => 229091)


--- trunk/Source/WebCore/rendering/RenderElement.cpp	2018-02-28 15:50:00 UTC (rev 229090)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp	2018-02-28 16:31:34 UTC (rev 229091)
@@ -94,7 +94,6 @@
 
 static_assert(sizeof(RenderElement) == sizeof(SameSizeAsRenderElement), "RenderElement should stay small");
 
-bool RenderElement::s_affectsParentBlock = false;
 bool RenderElement::s_noLongerAffectsParentBlock = false;
     
 inline RenderElement::RenderElement(ContainerNode& elementOrDocument, RenderStyle&& style, BaseTypeFlags baseTypeFlags)
@@ -749,10 +748,6 @@
             downcast<RenderBox>(*this).removeFloatingOrPositionedChildFromBlockLists();
         }
 
-        s_affectsParentBlock = isFloatingOrOutOfFlowPositioned()
-            && (!newStyle.isFloating() && !newStyle.hasOutOfFlowPosition())
-            && parent() && (parent()->isRenderBlockFlow() || parent()->isRenderInline());
-
         s_noLongerAffectsParentBlock = ((!isFloating() && newStyle.isFloating()) || (!isOutOfFlowPositioned() && newStyle.hasOutOfFlowPosition()))
             && parent() && parent()->isRenderBlock();
 
@@ -769,10 +764,8 @@
         setHasOverflowClip(false);
         setHasTransformRelatedProperty(false);
         setHasReflection(false);
-    } else {
-        s_affectsParentBlock = false;
+    } else
         s_noLongerAffectsParentBlock = false;
-    }
 
     bool newStyleSlowScroll = false;
     if (newStyle.hasFixedBackgroundImage() && !settings().fixedBackgroundsPaintRelativeToDocument()) {
@@ -813,7 +806,10 @@
     updateImage(oldStyle ? oldStyle->maskBoxImage().image() : nullptr, m_style.maskBoxImage().image());
     updateShapeImage(oldStyle ? oldStyle->shapeOutside() : nullptr, m_style.shapeOutside());
 
-    if (s_affectsParentBlock) {
+    bool affectsParentBlock = oldStyle && (oldStyle->isFloating() || oldStyle->hasOutOfFlowPosition())
+        && !style().isFloating() && !style().hasOutOfFlowPosition()
+        && parent() && (parent()->isRenderBlockFlow() || parent()->isRenderInline());
+    if (affectsParentBlock) {
         // We have gone from not affecting the inline status of the parent flow to suddenly
         // having an impact. See if there is a mismatch between the parent flow's
         // childrenInline() state and our state.

Modified: trunk/Source/WebCore/rendering/RenderElement.h (229090 => 229091)


--- trunk/Source/WebCore/rendering/RenderElement.h	2018-02-28 15:50:00 UTC (rev 229090)
+++ trunk/Source/WebCore/rendering/RenderElement.h	2018-02-28 16:31:34 UTC (rev 229091)
@@ -351,7 +351,6 @@
 
     // FIXME: Get rid of this hack.
     // Store state between styleWillChange and styleDidChange
-    static bool s_affectsParentBlock;
     static bool s_noLongerAffectsParentBlock;
 };
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to