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)