[wpt-sync] Sync PR 58738 - script: Partially implement `IntersectionObserver` compute the intersection algo
Categories
(Core :: Layout, task, P4)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox152 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 58738 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/58738
Details from upstream follow.
Jo Steven Novaryo <steven.novaryo@gmail.com> wrote:
script: Partially implement
IntersectionObservercompute the intersection algoDepends on #<!-- nolink -->42251 for the overflow query.
* Still checking for potential regression. *
Testing: Describe how this pull request is tested or why it doesn't require tests
Fixes: Link to an issue this pull requests fixes or remove this line if there is no issueReviewed in servo/servo#42204
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Comment 1•1 month ago
|
||
Pushed to try (stability) https://treeherder.mozilla.org/#/jobs?repo=try&revision=b425982e4f9f5f74ad2c5936d2685645922eaa84
| Assignee | ||
Comment 2•1 month ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 119 tests and 1 subtests
Status Summary
Firefox
OK : 1[GitHub] 117[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
PASS : 3[GitHub] 291[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 295[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-opt] 296[Gecko-windows11-64-25h2-debug] 298[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
FAIL : 63[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt] 65[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug] 66[Gecko-windows11-64-25h2-opt] 70[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview]
TIMEOUT: 1
ERROR : 1
Chrome
OK : 1
PASS : 3
Safari
OK : 1
PASS : 3
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /intersection-observer/cross-origin-tall-iframe-rendering.sub.html [wpt.fyi]:
FAIL[Gecko-windows11-64-25h2-opt],PASS[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-64-25h2-debug] - /intersection-observer/clip-path-animation.html [wpt.fyi]
- clip-path-animation:
FAIL
- clip-path-animation:
- /intersection-observer/clip-path.html [wpt.fyi]
- clip-path:
FAIL
- clip-path:
- /intersection-observer/cross-origin-iframe.sub.html [wpt.fyi]
- First rAF:
FAIL[Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],PASS[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug] - topDocument.scrollingElement.scrollTop = 100:
FAIL[Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],PASS[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug]
- First rAF:
- /intersection-observer/idlharness.window.html [wpt.fyi]
- IntersectionObserver interface: attribute delay:
FAIL - IntersectionObserver interface: attribute trackVisibility:
FAIL - IntersectionObserver interface: observer must inherit property "thresholds" with the proper type:
FAIL - IntersectionObserver interface: observer must inherit property "delay" with the proper type:
FAIL - IntersectionObserver interface: observer must inherit property "trackVisibility" with the proper type:
FAIL - IntersectionObserverEntry interface object length:
FAIL - IntersectionObserverEntry interface: attribute isVisible:
FAIL
- IntersectionObserver interface: attribute delay:
- /intersection-observer/inline-client-rect.html [wpt.fyi]
- First rAF:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt] - scroller.scrollLeft = 90:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt]
- First rAF:
- /intersection-observer/root-is-table-with-overflow-scroll.html [wpt.fyi]
- First rAF.:
FAIL - Moving the target to the right bottom corner of the table.:
FAIL
- First rAF.:
- /intersection-observer/root-margin-root-element.html [wpt.fyi]
- First rAF:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt] - root.scrollTop = 50, putting target into root margin:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt] - root.scrollTop = 0:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt] - root.scrollTop = 50 with root scrolled out of view.:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt]
- First rAF:
- /intersection-observer/root-margin.html [wpt.fyi]
- First rAF.:
FAIL - document.scrollingElement.scrollLeft = 100:
FAIL - document.scrollingElement.scrollTop = document.documentElement.clientHeight + 200:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview],PASS[Gecko-linux2404-64-debug,Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt] - document.scrollingElement.scrollTop = document.documentElement.clientHeight + 300:
FAIL
- First rAF.:
- /intersection-observer/scroll-margin-clip-path.html [wpt.fyi]
- Test scroll margin intersection:
FAIL
- Test scroll margin intersection:
- /intersection-observer/scroll-margin-propagation.html [wpt.fyi]
- Scroll margin is not applied to iframe 1, because it's cross-origin-domain with iframe 3:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug],PASS[Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt] - Scroll margin is not applied to top page, because scroll margin doesn't propagate past cross-origin-domain iframe 1:
FAIL[Gecko-android-em-14-x86_64-debug-geckoview,Gecko-android-em-14-x86_64-lite-opt-geckoview,Gecko-android-em-14-x86_64-opt-geckoview,Gecko-linux2404-64-debug],PASS[Gecko-linux2404-64-opt,Gecko-windows11-32-25h2-debug,Gecko-windows11-32-25h2-opt,Gecko-windows11-64-25h2-debug,Gecko-windows11-64-25h2-opt]
- Scroll margin is not applied to iframe 1, because it's cross-origin-domain with iframe 3:
- /intersection-observer/svg-clipped-rect-target.html [wpt.fyi]
- document.scrollingElement.scrollTop = 300:
FAIL
- document.scrollingElement.scrollTop = 300:
- /intersection-observer/svg-intersection-with-fractional-bounds-2.html [wpt.fyi]
- Initial Observation:
FAIL - Changing target y position to -2 (-0.002 in root coordinates):
FAIL - Changing target y position to -1 (-0.001 in root coordinates):
FAIL - Changing target y position to -4 (-0.004 in root coordinates):
FAIL - Changing target y position to 0:
FAIL
- Initial Observation:
- /intersection-observer/svg-intersection-with-fractional-bounds.html [wpt.fyi]
- Initial Observation:
FAIL - Intersection observation after scrolling 300:
FAIL - Intersection observation after scrolling 100:
FAIL
- Initial Observation:
- /intersection-observer/target-in-detached-document.html [wpt.fyi]
- First rAF.:
FAIL
- First rAF.:
- /intersection-observer/target-in-different-window.html [wpt.fyi]
- IntersectionObserver with target in a different window.:
FAIL
- IntersectionObserver with target in a different window.:
- /intersection-observer/v2/animated-opacity.html [wpt.fyi]:
ERROR- IntersectionObserver generates notifications when an opacity animation changes occlusion state.:
TIMEOUT
- IntersectionObserver generates notifications when an opacity animation changes occlusion state.:
- /intersection-observer/v2/blur-filter.html [wpt.fyi]
- First rAF.:
FAIL - occluder.style.opacity = 0:
FAIL
- First rAF.:
- /intersection-observer/v2/box-reflect.html [wpt.fyi]
- First rAF.:
FAIL
- First rAF.:
- /intersection-observer/v2/box-shadow.html [wpt.fyi]
- First rAF.:
FAIL - occluder.style.boxShadow = "none":
FAIL - occluder.style.boxShadow = "":
FAIL
- First rAF.:
- /intersection-observer/v2/cross-origin-effects.sub.html [wpt.fyi]
- Intersection observer V2 test with visual effects on iframe.:
FAIL
- Intersection observer V2 test with visual effects on iframe.:
- /intersection-observer/v2/cross-origin-occlusion.sub.html [wpt.fyi]
- Intersection observer V2 test with occlusion of target in iframe.:
FAIL
- Intersection observer V2 test with occlusion of target in iframe.:
- /intersection-observer/v2/delay-test.html [wpt.fyi]
- 'delay' parameter throttles frequency of notifications.:
FAIL
- 'delay' parameter throttles frequency of notifications.:
- /intersection-observer/v2/drop-shadow-filter-vertical-rl.html [wpt.fyi]
- First rAF.:
FAIL - occluder.style.opacity = 0:
FAIL
- First rAF.:
- /intersection-observer/v2/iframe-target.html [wpt.fyi]
- First rAF.:
FAIL
- First rAF.:
- /intersection-observer/v2/inline-occlusion.html [wpt.fyi]
- First rAF.:
FAIL - occluder.style.marginTop = '-10px':
FAIL - occluder.style.opacity = 0:
FAIL
- First rAF.:
- /intersection-observer/v2/nested-cross-origin.sub.html [wpt.fyi]
- Intersection observer V2 test with nested cross-origin iframes.:
FAIL
- Intersection observer V2 test with nested cross-origin iframes.:
- /intersection-observer/v2/position-relative.html [wpt.fyi]
- First rAF.:
FAIL
- First rAF.:
- /intersection-observer/v2/scaled-target.html [wpt.fyi]
- IntersectionObserver V2 test with scale applied to target.:
FAIL
- IntersectionObserver V2 test with scale applied to target.:
- /intersection-observer/v2/simple-effects.html [wpt.fyi]
- First rAF.:
FAIL - effects.style.opacity = 0.99:
FAIL - effects.style.opacity = 1:
FAIL - effects.style.filter = grayscale(50%):
FAIL
- First rAF.:
- /intersection-observer/v2/simple-occlusion-svg-foreign-object.html [wpt.fyi]
- First rAF.:
FAIL - svg.style.marginTop = '-10px':
FAIL - occluder.style.opacity = 0:
FAIL
- First rAF.:
- /intersection-observer/v2/simple-occlusion.html [wpt.fyi]
- First rAF.:
FAIL - occluder.style.marginTop = '-10px':
FAIL - occluder.style.opacity = 0:
FAIL
- First rAF.:
- /intersection-observer/v2/text-editor-occlusion.html [wpt.fyi]
- First rAF.:
FAIL - occluder.style.marginTop = '-10px':
FAIL - occluder.style.opacity = 0:
FAIL
- First rAF.:
- /intersection-observer/v2/text-shadow.html [wpt.fyi]
- First rAF.:
FAIL - occluder.style.textShadow = "none":
FAIL - occluder.style.textShadow = "":
FAIL
- First rAF.:
- /intersection-observer/v2/z-index-changes.html [wpt.fyi]
- IntersectionObserver observes visibility changes from z-index:
FAIL
- IntersectionObserver observes visibility changes from z-index:
Description
•