Title: [188370] trunk/Source/WebCore
Revision
188370
Author
[email protected]
Date
2015-08-12 18:20:25 -0700 (Wed, 12 Aug 2015)

Log Message

Move RenderBox-specific Scroll Snap code from RenderElement to RenderBox
https://bugs.webkit.org/show_bug.cgi?id=147963

Reviewed by Simon Fraser.

No new tests: No change in functionality.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange): Remove RenderBox-specific code.
(WebCore::RenderBox::willBeRemovedFromTree): Ditto.
* rendering/RenderBox.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange): Move code from RenderElement to
handle Scroll Snap Points.
(WebCore::RenderElement::willBeRemovedFromTree): Added new override to handle
scroll-snap point logic.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (188369 => 188370)


--- trunk/Source/WebCore/ChangeLog	2015-08-13 01:08:14 UTC (rev 188369)
+++ trunk/Source/WebCore/ChangeLog	2015-08-13 01:20:25 UTC (rev 188370)
@@ -1,3 +1,22 @@
+2015-08-12  Brent Fulgham  <[email protected]>
+
+        Move RenderBox-specific Scroll Snap code from RenderElement to RenderBox
+        https://bugs.webkit.org/show_bug.cgi?id=147963
+
+        Reviewed by Simon Fraser.
+
+        No new tests: No change in functionality.
+
+        * rendering/RenderBox.cpp:
+        (WebCore::RenderBox::styleWillChange): Remove RenderBox-specific code.
+        (WebCore::RenderBox::willBeRemovedFromTree): Ditto.
+        * rendering/RenderBox.h:
+        * rendering/RenderElement.cpp:
+        (WebCore::RenderElement::styleWillChange): Move code from RenderElement to
+        handle Scroll Snap Points.
+        (WebCore::RenderElement::willBeRemovedFromTree): Added new override to handle
+        scroll-snap point logic.
+
 2015-08-12  Antti Koivisto  <[email protected]>
 
         CachedResource leak in validation code

Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (188369 => 188370)


--- trunk/Source/WebCore/rendering/RenderBox.cpp	2015-08-13 01:08:14 UTC (rev 188369)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp	2015-08-13 01:20:25 UTC (rev 188370)
@@ -312,6 +312,15 @@
     } else if (isBody())
         view().repaintRootContents();
 
+#if ENABLE(CSS_SCROLL_SNAP)
+    if (!newStyle.scrollSnapCoordinates().isEmpty() || (oldStyle && !oldStyle->scrollSnapCoordinates().isEmpty())) {
+        if (newStyle.scrollSnapCoordinates().isEmpty())
+            view().unregisterBoxWithScrollSnapCoordinates(*this);
+        else
+            view().registerBoxWithScrollSnapCoordinates(*this);
+    }
+#endif
+
     RenderBoxModelObject::styleWillChange(diff, newStyle);
 }
 
@@ -429,6 +438,17 @@
 #endif
 }
 
+void RenderBox::willBeRemovedFromTree()
+{
+#if ENABLE(CSS_SCROLL_SNAP)
+    if (hasInitializedStyle() && !style().scrollSnapCoordinates().isEmpty())
+        view().unregisterBoxWithScrollSnapCoordinates(*this);
+#endif
+    
+    RenderBoxModelObject::willBeRemovedFromTree();
+}
+    
+
 #if ENABLE(CSS_SHAPES)
 void RenderBox::updateShapeOutsideInfoAfterStyleChange(const RenderStyle& style, const RenderStyle* oldStyle)
 {

Modified: trunk/Source/WebCore/rendering/RenderBox.h (188369 => 188370)


--- trunk/Source/WebCore/rendering/RenderBox.h	2015-08-13 01:08:14 UTC (rev 188369)
+++ trunk/Source/WebCore/rendering/RenderBox.h	2015-08-13 01:20:25 UTC (rev 188370)
@@ -635,6 +635,8 @@
     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) override;
     virtual void updateFromStyle() override;
 
+    void willBeRemovedFromTree() override;
+
     bool createsNewFormattingContext() const;
 
     // Returns false if it could not cheaply compute the extent (e.g. fixed background), in which case the returned rect may be incorrect.

Modified: trunk/Source/WebCore/rendering/RenderElement.cpp (188369 => 188370)


--- trunk/Source/WebCore/rendering/RenderElement.cpp	2015-08-13 01:08:14 UTC (rev 188369)
+++ trunk/Source/WebCore/rendering/RenderElement.cpp	2015-08-13 01:20:25 UTC (rev 188370)
@@ -899,17 +899,6 @@
         }
     }
 
-#if ENABLE(CSS_SCROLL_SNAP)
-    if (!newStyle.scrollSnapCoordinates().isEmpty() || (oldStyle && !oldStyle->scrollSnapCoordinates().isEmpty())) {
-        if (is<RenderBox>(*this)) {
-            if (newStyle.scrollSnapCoordinates().isEmpty())
-                view().unregisterBoxWithScrollSnapCoordinates(downcast<RenderBox>(*this));
-            else
-                view().registerBoxWithScrollSnapCoordinates(downcast<RenderBox>(*this));
-        }
-    }
-#endif
-
     if (isRoot() || isBody())
         view().frameView().updateExtendBackgroundIfNecessary();
 }
@@ -1064,14 +1053,6 @@
     if (auto* containerFlowThread = parent()->renderNamedFlowThreadWrapper())
         containerFlowThread->removeFlowChild(*this);
 
-    
-#if ENABLE(CSS_SCROLL_SNAP)
-    if (!m_style->scrollSnapCoordinates().isEmpty()) {
-        if (is<RenderBox>(*this))
-            view().unregisterBoxWithScrollSnapCoordinates(downcast<RenderBox>(*this));
-    }
-#endif
-
     RenderObject::willBeRemovedFromTree();
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to