Title: [260616] trunk/Source/WebCore
Revision
260616
Author
[email protected]
Date
2020-04-23 18:14:00 -0700 (Thu, 23 Apr 2020)

Log Message

Move the storage of DisplayID from Chrome to Page
https://bugs.webkit.org/show_bug.cgi?id=210943

Reviewed by Tim Horton.

The less Chrome knows about Frames and Documents the better. At some point Page is going
to talk to ScrollingCoordinator in this callback too.

* page/Chrome.cpp:
(WebCore::Chrome::displayID const):
(WebCore::Chrome::windowScreenDidChange):
* page/Chrome.h:
* page/Page.cpp:
(WebCore::Page::windowScreenDidChange):
* page/Page.h:
(WebCore::Page::displayID const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (260615 => 260616)


--- trunk/Source/WebCore/ChangeLog	2020-04-24 01:08:44 UTC (rev 260615)
+++ trunk/Source/WebCore/ChangeLog	2020-04-24 01:14:00 UTC (rev 260616)
@@ -1,5 +1,24 @@
 2020-04-23  Simon Fraser  <[email protected]>
 
+        Move the storage of DisplayID from Chrome to Page
+        https://bugs.webkit.org/show_bug.cgi?id=210943
+
+        Reviewed by Tim Horton.
+
+        The less Chrome knows about Frames and Documents the better. At some point Page is going
+        to talk to ScrollingCoordinator in this callback too.
+
+        * page/Chrome.cpp:
+        (WebCore::Chrome::displayID const):
+        (WebCore::Chrome::windowScreenDidChange):
+        * page/Chrome.h:
+        * page/Page.cpp:
+        (WebCore::Page::windowScreenDidChange):
+        * page/Page.h:
+        (WebCore::Page::displayID const):
+
+2020-04-23  Simon Fraser  <[email protected]>
+
         EventHandler::selectCursor() has broken resize over coordinate conversion code
         https://bugs.webkit.org/show_bug.cgi?id=210778
 

Modified: trunk/Source/WebCore/page/Chrome.cpp (260615 => 260616)


--- trunk/Source/WebCore/page/Chrome.cpp	2020-04-24 01:08:44 UTC (rev 260615)
+++ trunk/Source/WebCore/page/Chrome.cpp	2020-04-24 01:14:00 UTC (rev 260616)
@@ -509,26 +509,16 @@
 
 PlatformDisplayID Chrome::displayID() const
 {
-    return m_displayID;
+    return m_page.displayID();
 }
 
 void Chrome::windowScreenDidChange(PlatformDisplayID displayID)
 {
-    if (displayID == m_displayID)
+    if (displayID == m_page.displayID())
         return;
 
-    m_displayID = displayID;
+    m_page.windowScreenDidChange(displayID);
 
-    for (Frame* frame = &m_page.mainFrame(); frame; frame = frame->tree().traverseNext()) {
-        if (frame->document())
-            frame->document()->windowScreenDidChange(displayID);
-    }
-
-#if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
-    m_page.renderingUpdateScheduler().windowScreenDidChange(displayID);
-#endif
-    m_page.setNeedsRecalcStyleInAllFrames();
-
 #if PLATFORM(MAC) && ENABLE(GRAPHICS_CONTEXT_GL)
     GraphicsContextGLOpenGLManager::sharedManager().screenDidChange(displayID, this);
 #endif

Modified: trunk/Source/WebCore/page/Chrome.h (260615 => 260616)


--- trunk/Source/WebCore/page/Chrome.h	2020-04-24 01:08:44 UTC (rev 260615)
+++ trunk/Source/WebCore/page/Chrome.h	2020-04-24 01:14:00 UTC (rev 260616)
@@ -192,7 +192,6 @@
 
     Page& m_page;
     ChromeClient& m_client;
-    PlatformDisplayID m_displayID { 0 };
     Vector<PopupOpeningObserver*> m_popupOpeningObservers;
 #if PLATFORM(IOS_FAMILY)
     bool m_isDispatchViewportDataDidChangeSuppressed { false };

Modified: trunk/Source/WebCore/page/Page.cpp (260615 => 260616)


--- trunk/Source/WebCore/page/Page.cpp	2020-04-24 01:08:44 UTC (rev 260615)
+++ trunk/Source/WebCore/page/Page.cpp	2020-04-24 01:14:00 UTC (rev 260616)
@@ -1105,6 +1105,25 @@
     pageOverlayController().didChangeDeviceScaleFactor();
 }
 
+void Page::windowScreenDidChange(PlatformDisplayID displayID)
+{
+    if (displayID == m_displayID)
+        return;
+
+    m_displayID = displayID;
+
+    for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) {
+        if (frame->document())
+            frame->document()->windowScreenDidChange(displayID);
+    }
+
+#if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
+    renderingUpdateScheduler().windowScreenDidChange(displayID);
+#endif
+
+    setNeedsRecalcStyleInAllFrames();
+}
+
 void Page::setInitialScaleIgnoringContentSize(float scale)
 {
     m_initialScaleIgnoringContentSize = scale;

Modified: trunk/Source/WebCore/page/Page.h (260615 => 260616)


--- trunk/Source/WebCore/page/Page.h	2020-04-24 01:08:44 UTC (rev 260615)
+++ trunk/Source/WebCore/page/Page.h	2020-04-24 01:14:00 UTC (rev 260616)
@@ -149,6 +149,7 @@
 class WheelEventDeltaFilter;
 class WheelEventTestMonitor;
 
+using PlatformDisplayID = uint32_t;
 using SharedStringHash = uint32_t;
 
 enum class CanWrap : bool;
@@ -355,6 +356,9 @@
     float initialScaleIgnoringContentSize() const { return m_initialScaleIgnoringContentSize; }
     WEBCORE_EXPORT void setInitialScaleIgnoringContentSize(float);
 
+    void windowScreenDidChange(PlatformDisplayID);
+    PlatformDisplayID displayID() const { return m_displayID; }
+
     float topContentInset() const { return m_topContentInset; }
     WEBCORE_EXPORT void setTopContentInset(float);
 
@@ -825,6 +829,8 @@
     UniqueRef<LibWebRTCProvider> m_libWebRTCProvider;
     RTCController m_rtcController;
 
+    PlatformDisplayID m_displayID { 0 };
+
     int m_nestedRunLoopCount { 0 };
     WTF::Function<void()> m_unnestCallback;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to