Scroll from script should trigger a reflow

Scrolling from script should flow layout and send a display list to
WebRender. This allows all of the scroll nodes to exist in WebRender
before asking it to move the node.

See https://gist.github.com/paulirish/5d52fb081b3570c81e3a.
Fixes #29659.
This commit is contained in:
Martin Robinson 2023-04-25 08:29:09 +02:00
parent 2ae158dec1
commit 3ab5e2a188
25 changed files with 161 additions and 188 deletions

View file

@ -11,12 +11,6 @@
[.containing-block 4]
expected: FAIL
[.containing-block 5]
expected: FAIL
[.containing-block 6]
expected: FAIL
[.containing-block 7]
expected: FAIL
@ -32,11 +26,17 @@
[.containing-block 11]
expected: FAIL
[.containing-block 14]
expected: FAIL
[.containing-block 5]
expected: FAIL
[.containing-block 6]
expected: FAIL
[.containing-block 12]
expected: FAIL
[.containing-block 13]
expected: FAIL
[.containing-block 14]
expected: FAIL

View file

@ -1,2 +0,0 @@
[position-sticky-escape-scroller-002.html]
expected: FAIL

View file

@ -1,6 +1,6 @@
[position-sticky-overflow-padding.html]
[A sticky element should be offset by ancestor padding even when stuck]
expected: FAIL
[Ancestor overflow padding does not allow a sticky element to escape its container]
expected: FAIL
[A sticky element should be offset by ancestor padding even when stuck]
expected: FAIL

View file

@ -1,2 +0,0 @@
[z-index-blend-will-change-overlapping-layers.html]
expected: FAIL

View file

@ -1,3 +0,0 @@
[clear-on-parent-and-child.html]
bug: https://github.com/servo/webrender/issues/3078
expected: FAIL

View file

@ -1,3 +0,0 @@
[attachment-local-positioning-2.html]
bug: https://github.com/servo/webrender/issues/3078
expected: FAIL

View file

@ -1,3 +0,0 @@
[attachment-scroll-positioning-1.html]
bug: https://github.com/servo/webrender/issues/3078
expected: FAIL

View file

@ -1,3 +0,0 @@
[scroll-positioned-multiple-background-images.html]
bug: https://github.com/servo/webrender/issues/3078
expected: FAIL

View file

@ -1,2 +0,0 @@
[containing-block-change-scrollframe.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[position-sticky-escape-scroller-001.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[position-sticky-escape-scroller-002.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[position-sticky-escape-scroller-003.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[position-sticky-escape-scroller-004.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[position-sticky-rendering.html]
expected: FAIL

View file

@ -1,2 +0,0 @@
[z-index-blend-will-change-overlapping-layers.html]
expected: FAIL

View file

@ -1,3 +0,0 @@
[CaretPosition-001.html]
[Element at (400, 100)]
expected: FAIL

View file

@ -4,4 +4,3 @@
[simple scroll with style: 'padding' and 'overflow: scroll']
expected: FAIL

View file

@ -2,8 +2,8 @@
[Testing default value of scroll-behavior]
expected: FAIL
[Instant scrolling of an element with default scroll-behavior]
expected: FAIL
[Smooth scrolling of an element with default scroll-behavior]
expected: FAIL
[Instant scrolling of an element with default scroll-behavior]
expected: FAIL

View file

@ -2,15 +2,6 @@
[Testing scrollOptions' behavior for Element.scroll* and scroll-behavior on an element]
expected: FAIL
[Element with auto scroll-behavior ; scroll() with default behavior]
expected: FAIL
[Element with auto scroll-behavior ; scroll() with auto behavior]
expected: FAIL
[Element with auto scroll-behavior ; scroll() with instant behavior]
expected: FAIL
[Element with auto scroll-behavior ; scroll() with smooth behavior]
expected: FAIL
@ -20,21 +11,9 @@
[Element with smooth scroll-behavior ; scroll() with auto behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scroll() with instant behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scroll() with smooth behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollTo() with default behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollTo() with auto behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollTo() with instant behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollTo() with smooth behavior]
expected: FAIL
@ -44,21 +23,9 @@
[Element with smooth scroll-behavior ; scrollTo() with auto behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scrollTo() with instant behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scrollTo() with smooth behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollBy() with default behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollBy() with auto behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollBy() with instant behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollBy() with smooth behavior]
expected: FAIL
@ -68,9 +35,6 @@
[Element with smooth scroll-behavior ; scrollBy() with auto behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scrollBy() with instant behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scrollBy() with smooth behavior]
expected: FAIL
@ -98,17 +62,53 @@
[Element with smooth scroll-behavior ; scrollIntoView() with smooth behavior]
expected: FAIL
[Set scrollLeft to element with auto scroll-behavior]
expected: FAIL
[Set scrollLeft to element with smooth scroll-behavior]
expected: FAIL
[Set scrollTop to element with auto scroll-behavior]
expected: FAIL
[Set scrollTop to element with smooth scroll-behavior]
expected: FAIL
[Element with auto scroll-behavior ; scroll() with default behavior]
expected: FAIL
[Element with auto scroll-behavior ; scroll() with auto behavior]
expected: FAIL
[Element with auto scroll-behavior ; scroll() with instant behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scroll() with instant behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollTo() with default behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollTo() with auto behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollTo() with instant behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scrollTo() with instant behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollBy() with default behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollBy() with auto behavior]
expected: FAIL
[Element with auto scroll-behavior ; scrollBy() with instant behavior]
expected: FAIL
[Element with smooth scroll-behavior ; scrollBy() with instant behavior]
expected: FAIL
[Set scrollLeft to element with auto scroll-behavior]
expected: FAIL
[Set scrollTop to element with auto scroll-behavior]
expected: FAIL
[Aborting an ongoing smooth scrolling on an element with another smooth scrolling]
expected: FAIL

View file

@ -2,66 +2,65 @@
[Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollIntoView() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollTo() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scrollIntoView() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollIntoView() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollTo() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollIntoView() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollBy() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollBy() ]
expected: FAIL
[Scroll positions when aborting a smooth scrolling with an instant scrolling]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollBy() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scroll() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollTo() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scroll() ]
expected: FAIL
[Scroll positions when aborting a smooth scrolling with another smooth scrolling]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scroll() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scroll() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scroll() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scroll() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scroll() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scrollTo() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollTo() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollTo() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollTo() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (0, 0) to (500, 250) using scrollBy() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from 500 to 250 by setting scrollTop ]
[Scroll positions when performing smooth scrolling from (1000, 0) to (500, 250) using scrollBy() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from 1000 to 500 by setting scrollLeft ]
[Scroll positions when performing smooth scrolling from (0, 500) to (500, 250) using scrollBy() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from (1000, 500) to (500, 250) using scrollBy() ]
expected: FAIL
[Scroll positions when performing smooth scrolling from 0 to 500 by setting scrollLeft ]
expected: FAIL
[Scroll positions when performing smooth scrolling from 1000 to 500 by setting scrollLeft ]
expected: FAIL
[Scroll positions when performing smooth scrolling from 0 to 250 by setting scrollTop ]
expected: FAIL
[Scroll positions when performing smooth scrolling from 500 to 250 by setting scrollTop ]
expected: FAIL
[Scroll positions when aborting a smooth scrolling with another smooth scrolling]
expected: FAIL
[Scroll positions when aborting a smooth scrolling with an instant scrolling]
expected: FAIL