Title: [290548] trunk
Revision
290548
Author
[email protected]
Date
2022-02-26 10:43:07 -0800 (Sat, 26 Feb 2022)

Log Message

No animation when scroll snap scroller is navigated with the keyboard
https://bugs.webkit.org/show_bug.cgi?id=236244

Reviewed by Tim Horton.

Source/WebCore:

Keyboard-driven scrolls in overflow didn't animate, simply because scrollAnimatorEnabled()
wasn't implemented for RenderLayerScrollableArea.

I could not figure out a reliable way to test that we animated the scroll.

* rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::scrollAnimatorEnabled const):
* rendering/RenderLayerScrollableArea.h:

LayoutTests:

Turn off the scroll animator for these tests that assume that scrolling is instantaneous.

* css3/scroll-snap/scroll-padding-overflow-paging.html:
* fast/events/wheelevent-in-scrolling-div.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-overflow-rtl-with-keyboard.html:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (290547 => 290548)


--- trunk/LayoutTests/ChangeLog	2022-02-26 12:07:43 UTC (rev 290547)
+++ trunk/LayoutTests/ChangeLog	2022-02-26 18:43:07 UTC (rev 290548)
@@ -1,3 +1,16 @@
+2022-02-26  Simon Fraser  <[email protected]>
+
+        No animation when scroll snap scroller is navigated with the keyboard
+        https://bugs.webkit.org/show_bug.cgi?id=236244
+
+        Reviewed by Tim Horton.
+
+        Turn off the scroll animator for these tests that assume that scrolling is instantaneous.
+
+        * css3/scroll-snap/scroll-padding-overflow-paging.html:
+        * fast/events/wheelevent-in-scrolling-div.html:
+        * tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-overflow-rtl-with-keyboard.html:
+
 2022-02-26  Youenn Fablet  <[email protected]>
 
         REGRESSION(r290358): [ Debug EWS ] ASSERTION FAILED: sample && sample->pixelBuffer()

Modified: trunk/LayoutTests/css3/scroll-snap/scroll-padding-overflow-paging.html (290547 => 290548)


--- trunk/LayoutTests/css3/scroll-snap/scroll-padding-overflow-paging.html	2022-02-26 12:07:43 UTC (rev 290547)
+++ trunk/LayoutTests/css3/scroll-snap/scroll-padding-overflow-paging.html	2022-02-26 18:43:07 UTC (rev 290548)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html> <!-- webkit-test-runner [ ScrollAnimatorEnabled=false ] -->
 <html>
     <head>
         <style>

Modified: trunk/LayoutTests/fast/events/wheelevent-in-scrolling-div.html (290547 => 290548)


--- trunk/LayoutTests/fast/events/wheelevent-in-scrolling-div.html	2022-02-26 12:07:43 UTC (rev 290547)
+++ trunk/LayoutTests/fast/events/wheelevent-in-scrolling-div.html	2022-02-26 18:43:07 UTC (rev 290548)
@@ -1,3 +1,4 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ ScrollAnimatorEnabled=false ] -->
 <html>
     <head>
         <script src=""

Modified: trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-overflow-rtl-with-keyboard.html (290547 => 290548)


--- trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-overflow-rtl-with-keyboard.html	2022-02-26 12:07:43 UTC (rev 290547)
+++ trunk/LayoutTests/tiled-drawing/scrolling/scroll-snap/scroll-snap-proximity-overflow-rtl-with-keyboard.html	2022-02-26 18:43:07 UTC (rev 290548)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML>
+<!DOCTYPE html> <!-- webkit-test-runner [ ScrollAnimatorEnabled=false ] -->
 <html>
     <head>
         <style>

Modified: trunk/Source/WebCore/ChangeLog (290547 => 290548)


--- trunk/Source/WebCore/ChangeLog	2022-02-26 12:07:43 UTC (rev 290547)
+++ trunk/Source/WebCore/ChangeLog	2022-02-26 18:43:07 UTC (rev 290548)
@@ -1,3 +1,19 @@
+2022-02-26  Simon Fraser  <[email protected]>
+
+        No animation when scroll snap scroller is navigated with the keyboard
+        https://bugs.webkit.org/show_bug.cgi?id=236244
+
+        Reviewed by Tim Horton.
+
+        Keyboard-driven scrolls in overflow didn't animate, simply because scrollAnimatorEnabled()
+        wasn't implemented for RenderLayerScrollableArea.
+
+        I could not figure out a reliable way to test that we animated the scroll.
+
+        * rendering/RenderLayerScrollableArea.cpp:
+        (WebCore::RenderLayerScrollableArea::scrollAnimatorEnabled const):
+        * rendering/RenderLayerScrollableArea.h:
+
 2022-02-25  Simon Fraser  <[email protected]>
 
         Scrollbars disappear when very long or wide

Modified: trunk/Source/WebCore/rendering/RenderLayerScrollableArea.cpp (290547 => 290548)


--- trunk/Source/WebCore/rendering/RenderLayerScrollableArea.cpp	2022-02-26 12:07:43 UTC (rev 290547)
+++ trunk/Source/WebCore/rendering/RenderLayerScrollableArea.cpp	2022-02-26 18:43:07 UTC (rev 290548)
@@ -1542,6 +1542,11 @@
     return false;
 }
 
+bool RenderLayerScrollableArea::scrollAnimatorEnabled() const
+{
+    return m_layer.page().settings().scrollAnimatorEnabled();
+}
+
 void RenderLayerScrollableArea::paintOverlayScrollbars(GraphicsContext& context, const LayoutRect& damageRect, OptionSet<PaintBehavior> paintBehavior, RenderObject* subtreePaintRoot)
 {
     if (!m_containsDirtyOverlayScrollbars)

Modified: trunk/Source/WebCore/rendering/RenderLayerScrollableArea.h (290547 => 290548)


--- trunk/Source/WebCore/rendering/RenderLayerScrollableArea.h	2022-02-26 12:07:43 UTC (rev 290547)
+++ trunk/Source/WebCore/rendering/RenderLayerScrollableArea.h	2022-02-26 18:43:07 UTC (rev 290548)
@@ -193,6 +193,7 @@
     bool isRubberBandInProgress() const final;
     bool forceUpdateScrollbarsOnMainThreadForPerformanceTesting() const final;
     bool isScrollSnapInProgress() const final;
+    bool scrollAnimatorEnabled() const final;
     bool mockScrollbarsControllerEnabled() const final;
     void logMockScrollbarsControllerMessage(const String&) const final;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to