[Nicosia] Enable runtime checks and triggers for async non-main-frame scrolling
authorzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Oct 2019 09:47:37 +0000 (09:47 +0000)
committerzandobersek@gmail.com <zandobersek@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Oct 2019 09:47:37 +0000 (09:47 +0000)
https://bugs.webkit.org/show_bug.cgi?id=202509

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Add build guards that would enable runtime checks of the asynchronous
frame scrolling setting in the ScrollingCoordinator and
RenderLayerCompositor classes for the Nicosia-using ports.

The check in ScrollingCoordinator avoids bailing on coordinating
scrolling for non-main frames when the setting is enabled. The check in
RenderLayerCompositor avoids imposing a requirement for a composition
layer for any non-main frame when the setting is disabled.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView const):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame const):

Source/WebKit:

* WebProcess/WebCoreSupport/WebChromeClient.h:
Allow the non-main-frame compositing trigger for the Nicosia-using ports
as well. This will enable non-main-frame compositing if the related
setting is also enabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
Source/WebCore/rendering/RenderLayerCompositor.cpp
Source/WebKit/ChangeLog
Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h

index 68d1970..bbd6e20 100644 (file)
@@ -1,3 +1,24 @@
+2019-10-03  Zan Dobersek  <zdobersek@igalia.com>
+
+        [Nicosia] Enable runtime checks and triggers for async non-main-frame scrolling
+        https://bugs.webkit.org/show_bug.cgi?id=202509
+
+        Reviewed by Carlos Garcia Campos.
+
+        Add build guards that would enable runtime checks of the asynchronous
+        frame scrolling setting in the ScrollingCoordinator and
+        RenderLayerCompositor classes for the Nicosia-using ports.
+
+        The check in ScrollingCoordinator avoids bailing on coordinating
+        scrolling for non-main frames when the setting is enabled. The check in
+        RenderLayerCompositor avoids imposing a requirement for a composition
+        layer for any non-main frame when the setting is disabled.
+
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView const):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame const):
+
 2019-10-02  Antti Koivisto  <antti@apple.com>
 
         [CSS Shadow Parts] Support multiple arguments for ::part()
index 5b6e025..d11aec5 100644 (file)
@@ -76,7 +76,7 @@ bool ScrollingCoordinator::coordinatesScrollingForFrameView(const FrameView& fra
     ASSERT(m_page);
 
     if (!frameView.frame().isMainFrame() && !m_page->settings().scrollingTreeIncludesFrames()
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || USE(NICOSIA)
         && !m_page->settings().asyncFrameScrollingEnabled()
 #endif
     )
index d71e28f..c0dd060 100644 (file)
@@ -2972,7 +2972,7 @@ bool RenderLayerCompositor::requiresCompositingForScrollableFrame(RequiresCompos
     if (isMainFrameCompositor())
         return false;
 
-#if PLATFORM(COCOA)
+#if PLATFORM(COCOA) || USE(NICOSIA)
     if (!m_renderView.settings().asyncFrameScrollingEnabled())
         return false;
 #endif
index 8e88abe..177dd90 100644 (file)
@@ -1,3 +1,15 @@
+2019-10-03  Zan Dobersek  <zdobersek@igalia.com>
+
+        [Nicosia] Enable runtime checks and triggers for async non-main-frame scrolling
+        https://bugs.webkit.org/show_bug.cgi?id=202509
+
+        Reviewed by Carlos Garcia Campos.
+
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        Allow the non-main-frame compositing trigger for the Nicosia-using ports
+        as well. This will enable non-main-frame compositing if the related
+        setting is also enabled.
+
 2019-10-03  Alexander Mikhaylenko  <alexm@gnome.org>
 
         [GTK] Don't hardcode swipe navigation gesture style
index 20e1807..77fe307 100644 (file)
@@ -239,7 +239,7 @@ private:
             VideoTrigger |
             PluginTrigger|
             CanvasTrigger |
-#if PLATFORM(COCOA)
+#if PLATFORM(COCOA) || USE(NICOSIA)
             ScrollableNonMainFrameTrigger |
 #endif
 #if PLATFORM(IOS_FAMILY)