Title: [271235] trunk
Revision
271235
Author
[email protected]
Date
2021-01-07 07:58:37 -0800 (Thu, 07 Jan 2021)

Log Message

REGRESSION(r270425) [GTK] wheel scrolling stopped working
https://bugs.webkit.org/show_bug.cgi?id=219547

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Return early if the frame was already deleted.

Needed for fast/events/wheel-event-destroys-frame.html

* page/EventHandler.cpp:
(WebCore::EventHandler::wheelEventWasProcessedByMainThread):

Source/WebKit:

In GTK we may have the case where the async scrolling is disabled at
runtime despite being compiled with ASYNC_SCROLLING/SCROLLING_THREAD.
In these cases, the wheel events still need to be dispatched through
the main thread.

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):

LayoutTests:

* platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt:
Rebaseline with the extra scroll events arriving

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (271234 => 271235)


--- trunk/LayoutTests/ChangeLog	2021-01-07 10:38:53 UTC (rev 271234)
+++ trunk/LayoutTests/ChangeLog	2021-01-07 15:58:37 UTC (rev 271235)
@@ -1,3 +1,13 @@
+2021-01-07  Lauro Moura  <[email protected]>
+
+        REGRESSION(r270425) [GTK] wheel scrolling stopped working
+        https://bugs.webkit.org/show_bug.cgi?id=219547
+
+        Reviewed by Carlos Garcia Campos.
+
+        * platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt:
+        Rebaseline with the extra scroll events arriving
+
 2021-01-06  Rob Buis  <[email protected]>
 
         Fix aspect ratio handling in RenderBox::computeLogicalWidthInFragment

Modified: trunk/LayoutTests/platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt (271234 => 271235)


--- trunk/LayoutTests/platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt	2021-01-07 10:38:53 UTC (rev 271234)
+++ trunk/LayoutTests/platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt	2021-01-07 15:58:37 UTC (rev 271235)
@@ -1,6 +1,7 @@
 Sending mouseWheel events
 PASS: mouseWheel caused scrolling
 PASS: mouseWheel caused scrolling
+PASS: mouseWheel caused scrolling
 
 Navigating forward then back
 
@@ -7,6 +8,9 @@
 
 Navigating forward then back
 
+
+Navigating forward then back
+
 Sending mouseWheel events
 PASS: mouseWheel caused scrolling
 

Modified: trunk/Source/WebCore/ChangeLog (271234 => 271235)


--- trunk/Source/WebCore/ChangeLog	2021-01-07 10:38:53 UTC (rev 271234)
+++ trunk/Source/WebCore/ChangeLog	2021-01-07 15:58:37 UTC (rev 271235)
@@ -1,3 +1,17 @@
+2021-01-07  Lauro Moura  <[email protected]>
+
+        REGRESSION(r270425) [GTK] wheel scrolling stopped working
+        https://bugs.webkit.org/show_bug.cgi?id=219547
+
+        Reviewed by Carlos Garcia Campos.
+
+        Return early if the frame was already deleted.
+
+        Needed for fast/events/wheel-event-destroys-frame.html
+
+        * page/EventHandler.cpp:
+        (WebCore::EventHandler::wheelEventWasProcessedByMainThread):
+
 2021-01-07  Carlos Garcia Campos  <[email protected]>
 
         Only update the resources when rendering SVG selected text

Modified: trunk/Source/WebCore/page/EventHandler.cpp (271234 => 271235)


--- trunk/Source/WebCore/page/EventHandler.cpp	2021-01-07 10:38:53 UTC (rev 271234)
+++ trunk/Source/WebCore/page/EventHandler.cpp	2021-01-07 15:58:37 UTC (rev 271235)
@@ -2736,6 +2736,10 @@
     updateWheelGestureState(wheelEvent, eventHandling);
 
 #if ENABLE(ASYNC_SCROLLING)
+
+    if (!m_frame.page())
+        return;
+
     FrameView* view = m_frame.view();
     if (auto scrollingCoordinator = m_frame.page()->scrollingCoordinator()) {
         if (scrollingCoordinator->coordinatesScrollingForFrameView(*view))

Modified: trunk/Source/WebKit/ChangeLog (271234 => 271235)


--- trunk/Source/WebKit/ChangeLog	2021-01-07 10:38:53 UTC (rev 271234)
+++ trunk/Source/WebKit/ChangeLog	2021-01-07 15:58:37 UTC (rev 271235)
@@ -1,3 +1,18 @@
+2021-01-07  Lauro Moura  <[email protected]>
+
+        REGRESSION(r270425) [GTK] wheel scrolling stopped working
+        https://bugs.webkit.org/show_bug.cgi?id=219547
+
+        Reviewed by Carlos Garcia Campos.
+
+        In GTK we may have the case where the async scrolling is disabled at
+        runtime despite being compiled with ASYNC_SCROLLING/SCROLLING_THREAD.
+        In these cases, the wheel events still need to be dispatched through
+        the main thread.
+
+        * WebProcess/WebPage/EventDispatcher.cpp:
+        (WebKit::EventDispatcher::wheelEvent):
+
 2021-01-07  Carlos Garcia Campos  <[email protected]>
 
         [GTK] Build failures with GTK4 3.99.5.1

Modified: trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp (271234 => 271235)


--- trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp	2021-01-07 10:38:53 UTC (rev 271234)
+++ trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp	2021-01-07 15:58:37 UTC (rev 271235)
@@ -162,6 +162,10 @@
 
         return processingSteps;
     }();
+
+    auto scrollingTree = m_scrollingTrees.get(pageID);
+    if (!scrollingTree)
+        dispatchWheelEventViaMainThread(pageID, wheelEvent, processingSteps);
 #else
     UNUSED_PARAM(canRubberBandAtLeft);
     UNUSED_PARAM(canRubberBandAtRight);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to