Skip to content
Permalink
Browse files
Add support for scroll behavior relies on ScrollAnimation of the Web …
…process

https://bugs.webkit.org/show_bug.cgi?id=204882

Reviewed by Frédéric Wang

Based on the patch by Frédéric Wang.

LayoutTests/imported/w3c:

Enable CSSOMViewSmoothScrollingEnabled on scroll behavior tests and update expectations.

* web-platform-tests/css/cssom-view/scroll-behavior-default-css-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-default-css.html:
* web-platform-tests/css/cssom-view/scroll-behavior-element-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-element.html:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html:
* web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html:
* web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-root-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-window-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html:

Source/WebCore:

This patch introduces a programmatic smooth scrolling in WebKit from the CSSOM View
specification [1]. To use this effect, web developers can pass a behavior parameter (auto,
smooth, or instant) to Element.scroll, Element.scrollTo, Element.scrollBy,
Element.scrollIntoView, Window.scroll, Window.scrollTo or Window.scrollBy [2]. When behavior
is auto, the instant/smooth characteristic is actually taken from the value of a new CSS
scroll-behavior property [3]. Both the new CSS and DOM behavior are protected by a runtime
flag.

[1] https://drafts.csswg.org/cssom-view
[2] https://drafts.csswg.org/cssom-view/#dictdef-scrolloptions
[3] https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior

Tests: imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-default-css.html
       imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-element.html
       imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html
       imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html
       imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html
       imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html
       imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html
       imported/w3c/web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html
* Sources.txt: Build ScrollAnimationSmooth.cpp on all platforms.
* SourcesGTK.txt: Remove ScrollAnimationSmooth.cpp since it is built on all platforms now.
* dom/Element.cpp:
(WebCore::Element::scrollIntoView): Pass scroll behavior, if any.
(WebCore::Element::scrollBy):
(WebCore::Element::scrollTo): Handle the case when scroll behavior is smooth.
(WebCore::Element::setScrollLeft): Handle the case when scroll behavior is smooth.
(WebCore::Element::setScrollTop): Handle the case when scroll behavior is smooth.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::scrollBy const):
(WebCore::DOMWindow::scrollTo const): Handle the case when scroll behavior is smooth.
The optimization of cancel (0, 0) scrolling is skipped if an animated scroll is in progress.
Otherwise, the previous scroll won't be stopped by a follow-up scroll.
* page/FrameView.cpp:
(WebCore::FrameView::setScrollPosition):
(WebCore::FrameView::scrollToOffsetWithAnimation): Start an animated scroll.
* page/FrameView.h:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
* platform/ScrollAnimation.h:
(WebCore::ScrollAnimation::scroll): Function to animate scrolling to a specified position.
* platform/ScrollAnimationSmooth.cpp: Build this file on all platforms. Add a
smoothFactorForProgrammaticScroll parameter to slow down the smooth scrolling.
(WebCore::ScrollAnimationSmooth::scroll):
(WebCore::ScrollAnimationSmooth::updatePerAxisData): Scale the time parameters of the
animation so that it looks smoother.
* platform/ScrollAnimationSmooth.h: Declare the class on all platforms.
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::ScrollAnimator): Initialize animation member for programmatic scrolling.
(WebCore::ScrollAnimator::scrollToOffset): Animate scrolling to the specified position.
(WebCore::ScrollAnimator::cancelAnimations): Copy logic from ScrollAnimationSmooth.cpp.
(WebCore::ScrollAnimator::serviceScrollAnimations): Ditto.
(WebCore::ScrollAnimator::willEndLiveResize): Ditto.
(WebCore::ScrollAnimator::didAddVerticalScrollbar): Ditto.
(WebCore::ScrollAnimator::didAddHorizontalScrollbar): Ditto.
* platform/ScrollAnimator.h: New animation member for smooth programmatic scrolling.
(WebCore::ScrollAnimator::ScrollAnimator::cancelAnimations): Deleted.
(WebCore::ScrollAnimator::ScrollAnimator::serviceScrollAnimations): Deleted.
(WebCore::ScrollAnimator::ScrollAnimator::willEndLiveResize): Deleted.
(WebCore::ScrollAnimator::ScrollAnimator::didAddVerticalScrollbar): Deleted.
(WebCore::ScrollAnimator::ScrollAnimator::didAddHorizontalScrollbar): Deleted.
* platform/ScrollTypes.h: Add ScrollBehaviorStatus to indicate the status of scrolling.
* platform/ScrollView.cpp:
(WebCore::ScrollView::setScrollPosition): Follow the CSSOM View spec: If a scroll is in
progress, we interrupt it and continue the scroll call (even when we are at the final position).
* platform/ScrollView.h:
* platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::scrollToOffsetWithAnimation):
(WebCore::ScrollableArea::setScrollOffsetFromInternals):
(WebCore::ScrollableArea::setScrollOffsetFromAnimation): To avoid iterate calling,
move the requestScrollPositionUpdate(position) checking out of setScrollOffsetFromAnimation().
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::currentScrollBehaviorStatus const): Maintain currentScrollBehaviorStatus.
(WebCore::ScrollableArea::setScrollBehaviorStatus):
* platform/generic/ScrollAnimatorGeneric.cpp:
(WebCore::ScrollAnimatorGeneric::updatePosition):
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::cancelAnimations): Call parent member to handle programmatic scrolling.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::setScrollLeft): Add flag to indicate animated or not.
(WebCore::RenderBox::setScrollTop): Ditto.
(WebCore::RenderBox::setScrollPosition):
* rendering/RenderBox.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollToXPosition): Ditto.
(WebCore::RenderLayer::scrollToYPosition): Ditto.
(WebCore::RenderLayer::scrollToPosition):
(WebCore::RenderLayer::scrollToOffset): Follow the CSSOM View spec: If a scroll is in
progress, we interrupt it and continue the scroll call (even when we are at the final
position). It's ScrollBehaviorType::Instant scroll.
(WebCore::RenderLayer::requestScrollPositionUpdate):
(WebCore::RenderLayer::scrollToOffsetWithAnimation): Ditto. This is similar to scrollToOffset
but animates the scroll. It's ScrollBehaviorType::Smooth scroll.
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::scrollRectToVisible): Again don't do an early return if scroll is in
progress. We call scrollToOffsetWithAnimation instead of scrollToOffset when appropriate.
Note that this function may not work well for several nested scroll boxes with at least one
element with smooth behavior. It will handled in bug Follow.
* rendering/RenderLayer.h: Add scroll behavior to ScrollTectToVisibleOptions.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::setScrollLeft): Add animated flag.
(WebCore::RenderListBox::setScrollTop): Ditto.
* rendering/RenderListBox.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::setScrollLeft):
(WebCore::RenderTextControlSingleLine::setScrollTop):
* rendering/RenderTextControlSingleLine.h:
* testing/Internals.cpp:
(WebCore::Internals::unconstrainedScrollTo):

LayoutTests:

* platform/mac-wk1/TestExpectations: Skip these tests on WK1 as they don't work for now.


Canonical link: https://commits.webkit.org/219586@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
cathiechen committed Jan 21, 2020
1 parent 5d69476 commit 5227ca056219d76c571bae9fe82844af6455ba0f
Show file tree
Hide file tree
Showing 46 changed files with 523 additions and 167 deletions.
@@ -1,3 +1,14 @@
2020-01-21 Cathie Chen <cathiechen@igalia.com>

Add support for scroll behavior relies on ScrollAnimation of the Web process
https://bugs.webkit.org/show_bug.cgi?id=204882

Reviewed by Frédéric Wang

Based on the patch by Frédéric Wang.

* platform/mac-wk1/TestExpectations: Skip these tests on WK1 as they don't work for now.

2020-01-20 Diego Pino Garcia <dpino@igalia.com>

[GTK] Gardening, update TestExpectations and baselines
@@ -1,3 +1,30 @@
2020-01-21 Cathie Chen <cathiechen@igalia.com>

Add support for scroll behavior relies on ScrollAnimation of the Web process
https://bugs.webkit.org/show_bug.cgi?id=204882

Reviewed by Frédéric Wang

Based on the patch by Frédéric Wang.

Enable CSSOMViewSmoothScrollingEnabled on scroll behavior tests and update expectations.

* web-platform-tests/css/cssom-view/scroll-behavior-default-css-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-default-css.html:
* web-platform-tests/css/cssom-view/scroll-behavior-element-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-element.html:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html:
* web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html:
* web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-root-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-window-expected.txt:
* web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html:

2020-01-20 Fujii Hironori <Hironori.Fujii@sony.com>

Unreviewed, rolling out r254807.
@@ -1,4 +1,4 @@

PASS Instant scrolling of an element with default scroll-behavior
FAIL Smooth scrolling of an element with default scroll-behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Smooth scrolling of an element with default scroll-behavior

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSOMViewSmoothScrollingEnabled=true ] -->
<title>Testing default value of scroll-behavior</title>
<meta name="timeout" content="long"/>
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
@@ -2,39 +2,39 @@
PASS Element with auto scroll-behavior ; scroll() with default behavior
PASS Element with auto scroll-behavior ; scroll() with auto behavior
PASS Element with auto scroll-behavior ; scroll() with instant behavior
FAIL Element with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with auto scroll-behavior ; scroll() with smooth behavior
PASS Element with smooth scroll-behavior ; scroll() with default behavior
PASS Element with smooth scroll-behavior ; scroll() with auto behavior
PASS Element with smooth scroll-behavior ; scroll() with instant behavior
FAIL Element with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with smooth scroll-behavior ; scroll() with smooth behavior
PASS Element with auto scroll-behavior ; scrollTo() with default behavior
PASS Element with auto scroll-behavior ; scrollTo() with auto behavior
PASS Element with auto scroll-behavior ; scrollTo() with instant behavior
FAIL Element with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with auto scroll-behavior ; scrollTo() with smooth behavior
PASS Element with smooth scroll-behavior ; scrollTo() with default behavior
PASS Element with smooth scroll-behavior ; scrollTo() with auto behavior
PASS Element with smooth scroll-behavior ; scrollTo() with instant behavior
FAIL Element with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with smooth scroll-behavior ; scrollTo() with smooth behavior
PASS Element with auto scroll-behavior ; scrollBy() with default behavior
PASS Element with auto scroll-behavior ; scrollBy() with auto behavior
PASS Element with auto scroll-behavior ; scrollBy() with instant behavior
FAIL Element with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with auto scroll-behavior ; scrollBy() with smooth behavior
PASS Element with smooth scroll-behavior ; scrollBy() with default behavior
PASS Element with smooth scroll-behavior ; scrollBy() with auto behavior
PASS Element with smooth scroll-behavior ; scrollBy() with instant behavior
FAIL Element with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with smooth scroll-behavior ; scrollBy() with smooth behavior
PASS Element with auto scroll-behavior ; scrollIntoView() with default behavior
PASS Element with auto scroll-behavior ; scrollIntoView() with auto behavior
PASS Element with auto scroll-behavior ; scrollIntoView() with instant behavior
FAIL Element with auto scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scrollIntoView() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
FAIL Element with smooth scroll-behavior ; scrollIntoView() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with auto scroll-behavior ; scrollIntoView() with smooth behavior
PASS Element with smooth scroll-behavior ; scrollIntoView() with default behavior
PASS Element with smooth scroll-behavior ; scrollIntoView() with auto behavior
PASS Element with smooth scroll-behavior ; scrollIntoView() with instant behavior
FAIL Element with smooth scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 500 but got 500
PASS Element with smooth scroll-behavior ; scrollIntoView() with smooth behavior
PASS Set scrollLeft to element with auto scroll-behavior
FAIL Set scrollLeft to element with smooth scroll-behavior assert_less_than: Shouldn't set scroll attribute immediately expected a number less than 500 but got 500
PASS Set scrollLeft to element with smooth scroll-behavior
PASS Set scrollTop to element with auto scroll-behavior
FAIL Set scrollTop to element with smooth scroll-behavior assert_less_than: Shouldn't set scroll attribute immediately expected a number less than 250 but got 250
PASS Set scrollTop to element with smooth scroll-behavior
PASS Aborting an ongoing smooth scrolling on an element with another smooth scrolling
PASS Aborting an ongoing smooth scrolling on an element with an instant scrolling

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSOMViewSmoothScrollingEnabled=true ] -->
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on an element</title>
<meta name="timeout" content="long"/>
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
@@ -3,39 +3,39 @@ PASS Page loaded
PASS Main frame with auto scroll-behavior ; scroll() with default behavior
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior
FAIL Main frame with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with auto scroll-behavior ; scroll() with smooth behavior
PASS Main frame with smooth scroll-behavior ; scroll() with default behavior
PASS Main frame with smooth scroll-behavior ; scroll() with auto behavior
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior
FAIL Main frame with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with smooth scroll-behavior ; scroll() with smooth behavior
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior
FAIL Main frame with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with auto scroll-behavior ; scrollTo() with smooth behavior
PASS Main frame with smooth scroll-behavior ; scrollTo() with default behavior
PASS Main frame with smooth scroll-behavior ; scrollTo() with auto behavior
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior
FAIL Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior
FAIL Main frame with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with auto scroll-behavior ; scrollBy() with smooth behavior
PASS Main frame with smooth scroll-behavior ; scrollBy() with default behavior
PASS Main frame with smooth scroll-behavior ; scrollBy() with auto behavior
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior
FAIL Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior
PASS Main frame with auto scroll-behavior ; scrollIntoView() with default behavior
PASS Main frame with auto scroll-behavior ; scrollIntoView() with auto behavior
PASS Main frame with auto scroll-behavior ; scrollIntoView() with instant behavior
FAIL Main frame with auto scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollIntoView() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollIntoView() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with auto scroll-behavior ; scrollIntoView() with smooth behavior
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with default behavior
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with auto behavior
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with instant behavior
FAIL Main frame with smooth scroll-behavior ; scrollIntoView() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with smooth scroll-behavior ; scrollIntoView() with smooth behavior
PASS Set scrollLeft to frame with auto scroll-behavior
FAIL Set scrollLeft to frame with smooth scroll-behavior assert_less_than: Shouldn't set scroll attribute immediately expected a number less than 2430 but got 2430
PASS Set scrollLeft to frame with smooth scroll-behavior
PASS Set scrollTop to frame with auto scroll-behavior
FAIL Set scrollTop to frame with smooth scroll-behavior assert_less_than: Shouldn't set scroll attribute immediately expected a number less than 2480 but got 2480
PASS Set scrollTop to frame with smooth scroll-behavior
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling

@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!DOCTYPE html><!-- webkit-test-runner [ experimental:CSSOMViewSmoothScrollingEnabled=true ] -->
<title>Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on the root of the main frame</title>
<meta name="timeout" content="long"/>
<link rel="author" title="Frédéric Wang" href="mailto:fwang@igalia.com">
@@ -3,27 +3,27 @@ PASS Page loaded
PASS Main frame with auto scroll-behavior ; scroll() with default behavior
PASS Main frame with auto scroll-behavior ; scroll() with auto behavior
PASS Main frame with auto scroll-behavior ; scroll() with instant behavior
FAIL Main frame with auto scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scroll() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scroll() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with auto scroll-behavior ; scroll() with smooth behavior
PASS Main frame with smooth scroll-behavior ; scroll() with default behavior
PASS Main frame with smooth scroll-behavior ; scroll() with auto behavior
PASS Main frame with smooth scroll-behavior ; scroll() with instant behavior
FAIL Main frame with smooth scroll-behavior ; scroll() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with smooth scroll-behavior ; scroll() with smooth behavior
PASS Main frame with auto scroll-behavior ; scrollTo() with default behavior
PASS Main frame with auto scroll-behavior ; scrollTo() with auto behavior
PASS Main frame with auto scroll-behavior ; scrollTo() with instant behavior
FAIL Main frame with auto scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollTo() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollTo() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with auto scroll-behavior ; scrollTo() with smooth behavior
PASS Main frame with smooth scroll-behavior ; scrollTo() with default behavior
PASS Main frame with smooth scroll-behavior ; scrollTo() with auto behavior
PASS Main frame with smooth scroll-behavior ; scrollTo() with instant behavior
FAIL Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with smooth scroll-behavior ; scrollTo() with smooth behavior
PASS Main frame with auto scroll-behavior ; scrollBy() with default behavior
PASS Main frame with auto scroll-behavior ; scrollBy() with auto behavior
PASS Main frame with auto scroll-behavior ; scrollBy() with instant behavior
FAIL Main frame with auto scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollBy() with default behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
FAIL Main frame with smooth scroll-behavior ; scrollBy() with auto behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with auto scroll-behavior ; scrollBy() with smooth behavior
PASS Main frame with smooth scroll-behavior ; scrollBy() with default behavior
PASS Main frame with smooth scroll-behavior ; scrollBy() with auto behavior
PASS Main frame with smooth scroll-behavior ; scrollBy() with instant behavior
FAIL Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior assert_less_than: Should not set scrollLeft immediately expected a number less than 2430 but got 2430
PASS Main frame with smooth scroll-behavior ; scrollBy() with smooth behavior
PASS Aborting an ongoing smooth scrolling on the main frame with another smooth scrolling
PASS Aborting an ongoing smooth scrolling on the main frame with an instant scrolling

0 comments on commit 5227ca0

Please sign in to comment.