Title: [238837] trunk/Source/WebCore
Revision
238837
Author
[email protected]
Date
2018-12-03 18:43:29 -0800 (Mon, 03 Dec 2018)

Log Message

Viewport-constrained renderers are always RenderLayerModelObjects
https://bugs.webkit.org/show_bug.cgi?id=192342

Reviewed by Myles C. Maxfield.

addViewportConstrainedObject/removeViewportConstrainedObject can take RenderLayerModelObjects,
since all viewport-constrained renderers have layers.

* page/FrameView.cpp:
(WebCore::FrameView::addViewportConstrainedObject):
(WebCore::FrameView::removeViewportConstrainedObject):
* page/FrameView.h:
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange): The 0 argument is actually a nullptr RenderGeometryMap,
which has a default value, and the comment was obsolete.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (238836 => 238837)


--- trunk/Source/WebCore/ChangeLog	2018-12-04 02:30:27 UTC (rev 238836)
+++ trunk/Source/WebCore/ChangeLog	2018-12-04 02:43:29 UTC (rev 238837)
@@ -1,3 +1,21 @@
+2018-12-03  Simon Fraser  <[email protected]>
+
+        Viewport-constrained renderers are always RenderLayerModelObjects
+        https://bugs.webkit.org/show_bug.cgi?id=192342
+
+        Reviewed by Myles C. Maxfield.
+
+        addViewportConstrainedObject/removeViewportConstrainedObject can take RenderLayerModelObjects,
+        since all viewport-constrained renderers have layers.
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::addViewportConstrainedObject):
+        (WebCore::FrameView::removeViewportConstrainedObject):
+        * page/FrameView.h:
+        * rendering/RenderLayerModelObject.cpp:
+        (WebCore::RenderLayerModelObject::styleDidChange): The 0 argument is actually a nullptr RenderGeometryMap,
+        which has a default value, and the comment was obsolete.
+
 2018-12-03  Don Olmstead  <[email protected]>
 
         Fix some unused parameter warnings

Modified: trunk/Source/WebCore/page/FrameView.cpp (238836 => 238837)


--- trunk/Source/WebCore/page/FrameView.cpp	2018-12-04 02:30:27 UTC (rev 238836)
+++ trunk/Source/WebCore/page/FrameView.cpp	2018-12-04 02:43:29 UTC (rev 238837)
@@ -1515,7 +1515,7 @@
     }
 }
 
-void FrameView::addViewportConstrainedObject(RenderElement* object)
+void FrameView::addViewportConstrainedObject(RenderLayerModelObject* object)
 {
     if (!m_viewportConstrainedObjects)
         m_viewportConstrainedObjects = std::make_unique<ViewportConstrainedObjectSet>();
@@ -1532,7 +1532,7 @@
     }
 }
 
-void FrameView::removeViewportConstrainedObject(RenderElement* object)
+void FrameView::removeViewportConstrainedObject(RenderLayerModelObject* object)
 {
     if (m_viewportConstrainedObjects && m_viewportConstrainedObjects->remove(object)) {
         if (Page* page = frame().page()) {

Modified: trunk/Source/WebCore/page/FrameView.h (238836 => 238837)


--- trunk/Source/WebCore/page/FrameView.h	2018-12-04 02:30:27 UTC (rev 238836)
+++ trunk/Source/WebCore/page/FrameView.h	2018-12-04 02:43:29 UTC (rev 238837)
@@ -53,12 +53,12 @@
 class FloatSize;
 class Frame;
 class HTMLFrameOwnerElement;
-class Node;
 class Page;
 class RenderBox;
 class RenderElement;
 class RenderEmbeddedObject;
 class RenderLayer;
+class RenderLayerModelObject;
 class RenderObject;
 class RenderScrollbarPart;
 class RenderStyle;
@@ -290,9 +290,9 @@
     bool hasSlowRepaintObjects() const { return m_slowRepaintObjects && m_slowRepaintObjects->size(); }
 
     // Includes fixed- and sticky-position objects.
-    typedef HashSet<RenderElement*> ViewportConstrainedObjectSet;
-    void addViewportConstrainedObject(RenderElement*);
-    void removeViewportConstrainedObject(RenderElement*);
+    typedef HashSet<RenderLayerModelObject*> ViewportConstrainedObjectSet;
+    void addViewportConstrainedObject(RenderLayerModelObject*);
+    void removeViewportConstrainedObject(RenderLayerModelObject*);
     const ViewportConstrainedObjectSet* viewportConstrainedObjects() const { return m_viewportConstrainedObjects.get(); }
     bool hasViewportConstrainedObjects() const { return m_viewportConstrainedObjects && m_viewportConstrainedObjects->size() > 0; }
     

Modified: trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp (238836 => 238837)


--- trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp	2018-12-04 02:30:27 UTC (rev 238836)
+++ trunk/Source/WebCore/rendering/RenderLayerModelObject.cpp	2018-12-04 02:43:29 UTC (rev 238837)
@@ -170,9 +170,7 @@
             createLayer();
             if (parent() && !needsLayout() && containingBlock()) {
                 layer()->setRepaintStatus(NeedsFullRepaint);
-                // There is only one layer to update, it is not worth using |cachedOffset| since
-                // we are not sure the value will be used.
-                layer()->updateLayerPositions(0);
+                layer()->updateLayerPositions();
             }
         }
     } else if (layer() && layer()->parent()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to