Title: [267611] trunk/Source/WebCore
Revision
267611
Author
[email protected]
Date
2020-09-25 17:14:42 -0700 (Fri, 25 Sep 2020)

Log Message

Make renderingUpdateScheduler() internal to Page
https://bugs.webkit.org/show_bug.cgi?id=216993

Reviewed by Said Abou-Hallawa.

renderingUpdateScheduler() should be an implementation detail of Page.

Also add some explanatory comments.

* dom/Document.cpp:
(WebCore::Document::scheduleTimedRenderingUpdate):
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::scheduleAnimation):
* page/Page.cpp:
(WebCore::Page::scheduleImmediateRenderingUpdate):
* page/Page.h:
* page/PageOverlayController.cpp:
(WebCore::PageOverlayController::didChangeViewExposedRect):
(WebCore::PageOverlayController::notifyFlushRequired):
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (267610 => 267611)


--- trunk/Source/WebCore/ChangeLog	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/ChangeLog	2020-09-26 00:14:42 UTC (rev 267611)
@@ -1,3 +1,29 @@
+2020-09-25  Simon Fraser  <[email protected]>
+
+        Make renderingUpdateScheduler() internal to Page
+        https://bugs.webkit.org/show_bug.cgi?id=216993
+
+        Reviewed by Said Abou-Hallawa.
+
+        renderingUpdateScheduler() should be an implementation detail of Page.
+
+        Also add some explanatory comments.
+
+        * dom/Document.cpp:
+        (WebCore::Document::scheduleTimedRenderingUpdate):
+        * dom/ScriptedAnimationController.cpp:
+        (WebCore::ScriptedAnimationController::scheduleAnimation):
+        * page/Page.cpp:
+        (WebCore::Page::scheduleImmediateRenderingUpdate):
+        * page/Page.h:
+        * page/PageOverlayController.cpp:
+        (WebCore::PageOverlayController::didChangeViewExposedRect):
+        (WebCore::PageOverlayController::notifyFlushRequired):
+        * page/mac/ServicesOverlayController.mm:
+        (WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::layerTreeAsText):
+
 2020-09-25  Chris Dumez  <[email protected]>
 
         Unreviewed, update xcfilelist files.

Modified: trunk/Source/WebCore/dom/Document.cpp (267610 => 267611)


--- trunk/Source/WebCore/dom/Document.cpp	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/dom/Document.cpp	2020-09-26 00:14:42 UTC (rev 267611)
@@ -7561,7 +7561,7 @@
     m_intersectionObserversInitialUpdateTimer.stop();
 #endif
     if (auto page = this->page())
-        page->renderingUpdateScheduler().scheduleTimedRenderingUpdate();
+        page->scheduleTimedRenderingUpdate();
 }
 
 #if ENABLE(INTERSECTION_OBSERVER)

Modified: trunk/Source/WebCore/dom/ScriptedAnimationController.cpp (267610 => 267611)


--- trunk/Source/WebCore/dom/ScriptedAnimationController.cpp	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/dom/ScriptedAnimationController.cpp	2020-09-26 00:14:42 UTC (rev 267611)
@@ -181,7 +181,7 @@
         return;
 
     if (auto* page = this->page())
-        page->renderingUpdateScheduler().scheduleTimedRenderingUpdate();
+        page->scheduleTimedRenderingUpdate();
 }
 
 }

Modified: trunk/Source/WebCore/page/Page.cpp (267610 => 267611)


--- trunk/Source/WebCore/page/Page.cpp	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/page/Page.cpp	2020-09-26 00:14:42 UTC (rev 267611)
@@ -103,6 +103,7 @@
 #include "RenderTheme.h"
 #include "RenderView.h"
 #include "RenderWidget.h"
+#include "RenderingUpdateScheduler.h"
 #include "ResizeObserver.h"
 #include "ResourceUsageOverlay.h"
 #include "RuntimeEnabledFeatures.h"
@@ -1421,6 +1422,11 @@
     renderingUpdateScheduler().scheduleTimedRenderingUpdate();
 }
 
+void Page::scheduleImmediateRenderingUpdate()
+{
+    renderingUpdateScheduler().scheduleImmediateRenderingUpdate();
+}
+
 void Page::startTrackingRenderingUpdates()
 {
     m_isTrackingRenderingUpdates = true;

Modified: trunk/Source/WebCore/page/Page.h (267610 => 267611)


--- trunk/Source/WebCore/page/Page.h	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/page/Page.h	2020-09-26 00:14:42 UTC (rev 267611)
@@ -35,7 +35,6 @@
 #include "RTCController.h"
 #include "Region.h"
 #include "RegistrableDomain.h"
-#include "RenderingUpdateScheduler.h"
 #include "ScrollTypes.h"
 #include "ShouldRelaxThirdPartyCookieBlocking.h"
 #include "Supplementable.h"
@@ -131,6 +130,7 @@
 class ProgressTracker;
 class RenderObject;
 class ResourceUsageOverlay;
+class RenderingUpdateScheduler;
 class ScrollLatchingController;
 class ScrollingCoordinator;
 class ServicesOverlayController;
@@ -266,8 +266,6 @@
 
     PerformanceMonitor* performanceMonitor() { return m_performanceMonitor.get(); }
 
-    RenderingUpdateScheduler& renderingUpdateScheduler();
-
     ValidationMessageClient* validationMessageClient() const { return m_validationMessageClient.get(); }
     void updateValidationBubbleStateIfNeeded();
 
@@ -492,10 +490,14 @@
     WEBCORE_EXPORT void updateRendering();
     
     WEBCORE_EXPORT void finalizeRenderingUpdate(OptionSet<FinalizeRenderingUpdateFlags>);
-    
+
+    // Do immediate or timed update as dictated by the ChromeClient.
     WEBCORE_EXPORT void scheduleRenderingUpdate();
+    // Schedule an update that coordinates with display refresh; the normal kind of update.
     void scheduleTimedRenderingUpdate();
-    
+    // Schedule an update in the current runloop; this is an eager update that may trigger rendering more than once per display refresh.
+    void scheduleImmediateRenderingUpdate();
+
     WEBCORE_EXPORT void startTrackingRenderingUpdates();
     WEBCORE_EXPORT unsigned renderingUpdateCount() const;
 
@@ -814,6 +816,8 @@
 
     void doAfterUpdateRendering();
 
+    RenderingUpdateScheduler& renderingUpdateScheduler();
+
     WheelEventTestMonitor& ensureWheelEventTestMonitor();
 
     const std::unique_ptr<Chrome> m_chrome;

Modified: trunk/Source/WebCore/page/PageOverlayController.cpp (267610 => 267611)


--- trunk/Source/WebCore/page/PageOverlayController.cpp	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/page/PageOverlayController.cpp	2020-09-26 00:14:42 UTC (rev 267611)
@@ -318,7 +318,7 @@
 
 void PageOverlayController::didChangeViewExposedRect()
 {
-    m_page.renderingUpdateScheduler().scheduleTimedRenderingUpdate();
+    m_page.scheduleTimedRenderingUpdate();
 }
 
 void PageOverlayController::didScrollFrame(Frame& frame)
@@ -412,7 +412,7 @@
 
 void PageOverlayController::notifyFlushRequired(const GraphicsLayer*)
 {
-    m_page.renderingUpdateScheduler().scheduleTimedRenderingUpdate();
+    m_page.scheduleTimedRenderingUpdate();
 }
 
 void PageOverlayController::didChangeOverlayFrame(PageOverlay& overlay)

Modified: trunk/Source/WebCore/page/mac/ServicesOverlayController.mm (267610 => 267611)


--- trunk/Source/WebCore/page/mac/ServicesOverlayController.mm	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/page/mac/ServicesOverlayController.mm	2020-09-26 00:14:42 UTC (rev 267611)
@@ -121,7 +121,7 @@
     if (!m_controller)
         return;
 
-    m_controller->page().renderingUpdateScheduler().scheduleTimedRenderingUpdate();
+    m_controller->page().scheduleTimedRenderingUpdate();
 }
 
 void ServicesOverlayController::Highlight::paintContents(const GraphicsLayer*, GraphicsContext& graphicsContext, const FloatRect&, GraphicsLayerPaintBehavior)

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (267610 => 267611)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2020-09-26 00:09:01 UTC (rev 267610)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2020-09-26 00:14:42 UTC (rev 267611)
@@ -2266,7 +2266,7 @@
         return String();
 
     flushPendingLayerChanges(true);
-    page().renderingUpdateScheduler().scheduleImmediateRenderingUpdate();
+    page().scheduleImmediateRenderingUpdate();
 
     LayerTreeAsTextBehavior layerTreeBehavior = LayerTreeAsTextBehaviorNormal;
     if (flags & LayerTreeFlagsIncludeDebugInfo)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to