Test files: 24; Total subtests: 109
Test | cr67 | sf12 |
---|---|---|
/intersection-observer/bounding-box.html | OK | OK |
First rAF. | PASS | FAIL |
Test that the target's border bounding box is used to calculate intersection. | PASS | PASS |
target.style.transform = 'translateY(195px)' | PASS | FAIL |
/intersection-observer/client-rect.html | OK | OK |
First rAF should generate notification. | PASS | - |
IntersectionObserverEntry.boundingClientRect should match target.boundingClientRect() | PASS | FAIL |
/intersection-observer/containing-block.html | OK | OK |
In containing block and intersecting. | PASS | FAIL |
In containing block and not intersecting. | PASS | FAIL |
IntersectionObserver should only report intersections if root is a containing block ancestor of target. | PASS | PASS |
Not in containing block and intersecting. | PASS | FAIL |
Not in containing block and not intersecting. | PASS | FAIL |
/intersection-observer/cross-origin-iframe.html | OK | OK |
First rAF | PASS | FAIL |
Intersection observer test with no explicit root and target in a cross-origin iframe. | PASS | PASS |
iframeDocument.scrollingElement.scrollTop = 250 | PASS | FAIL |
topDocument.scrollingElement.scrollTop = 100 | PASS | FAIL |
topDocument.scrollingElement.scrollTop = 200 | PASS | PASS |
/intersection-observer/disconnect.html | OK | OK |
First rAF. | PASS | FAIL |
IntersectionObserver should not deliver pending notifications after disconnect(). | PASS | PASS |
observer.disconnect() | PASS | FAIL |
/intersection-observer/display-none.html | OK | OK |
Intersecting notification after first rAF. | PASS | FAIL |
Intersecting notification after removing display:none on target. | PASS | FAIL |
IntersectionObserver should send a not-intersecting notification for a target that gets display:none. | PASS | PASS |
Not-intersecting notification after setting display:none on target. | PASS | FAIL |
/intersection-observer/edge-inclusive-intersection.html | OK | OK |
First rAF. | PASS | FAIL |
IntersectionObserver should detect and report edge-adjacent and zero-area intersections. | PASS | PASS |
Set transform=translateY(185px) on target. | PASS | FAIL |
Set transform=translateY(200px) on target. | PASS | FAIL |
Set transform=translateY(201px) on target. | PASS | FAIL |
/intersection-observer/iframe-no-root.html | OK | OK |
First rAF. | PASS | - |
Observer with the implicit root; target in a same-origin iframe. | PASS | FAIL |
document.scrollingElement.scrollTop = 100 | PASS | - |
document.scrollingElement.scrollTop = 200 | PASS | - |
iframe.contentDocument.scrollingElement.scrollTop = 250 | PASS | - |
/intersection-observer/isIntersecting-change-events.html | OK | OK |
Add 4th target. | PASS | - |
Rects in initial notifications should report initial positions. | PASS | FAIL |
Set scrollTop=100 and check for no new notifications. | PASS | - |
Set scrollTop=100 and check for one new notification. | PASS | - |
isIntersecting changes should trigger notifications. | PASS | PASS |
/intersection-observer/multiple-targets.html | OK | OK |
First rAF. | PASS | FAIL |
One observer with multiple targets. | PASS | PASS |
document.scrollingElement.scrollTop = 0 | PASS | FAIL |
document.scrollingElement.scrollTop = 10000 | PASS | FAIL |
document.scrollingElement.scrollTop = 150 | PASS | FAIL |
/intersection-observer/multiple-thresholds.html | OK | OK |
First rAF. | PASS | FAIL |
Observer with multiple thresholds. | PASS | PASS |
document.scrollingElement.scrollTop = 120 | PASS | FAIL |
document.scrollingElement.scrollTop = 160 | PASS | FAIL |
document.scrollingElement.scrollTop = 200 | PASS | FAIL |
document.scrollingElement.scrollTop = 240 | PASS | FAIL |
document.scrollingElement.scrollTop = window.innerHeight + 140 | PASS | FAIL |
document.scrollingElement.scrollTop = window.innerHeight + 160 | PASS | FAIL |
document.scrollingElement.scrollTop = window.innerHeight + 200 | PASS | FAIL |
document.scrollingElement.scrollTop = window.innerHeight + 220 | PASS | - |
/intersection-observer/observer-attributes.html | OK | OK |
Observer attribute getters. | PASS | PASS |
observer.root | PASS | PASS |
observer.rootMargin | PASS | FAIL |
observer.thresholds | PASS | PASS |
set observer.root | PASS | PASS |
set observer.rootMargin | PASS | FAIL |
set observer.thresholds | PASS | PASS |
/intersection-observer/observer-exceptions.html | OK | OK |
IntersectionObserver constructor with { rootMargin: "1px !important" } | PASS | FAIL |
IntersectionObserver constructor with { rootMargin: "1px 1px 1px 1px 1px" } | PASS | FAIL |
IntersectionObserver constructor with { rootMargin: "2em" } | PASS | FAIL |
IntersectionObserver constructor with { rootMargin: "auto" } | PASS | FAIL |
IntersectionObserver constructor with { rootMargin: "calc(1px + 2px)" } | PASS | FAIL |
IntersectionObserver constructor with { threshold: ["foo"] } | PASS | PASS |
IntersectionObserver constructor with { threshold: [1.1] } | PASS | FAIL |
IntersectionObserver constructor witth { rootMargin: "1" } | PASS | FAIL |
IntersectionObserver.observe("foo") | PASS | PASS |
/intersection-observer/observer-without-js-reference.html | OK | OK |
First rAF | PASS | FAIL |
IntersectionObserver that is unreachable in js should still generate notifications. | PASS | PASS |
document.scrollingElement.scrollTop = 300 | PASS | FAIL |
/intersection-observer/remove-element.html | OK | OK |
First rAF | PASS | FAIL |
Verify that not-intersecting notifications are sent when a target is removed from the DOM tree. | PASS | PASS |
root.insertBefore(target, trailingSpace). | PASS | FAIL |
root.removeChild(target). | PASS | FAIL |
root.scrollTop = 150 | PASS | FAIL |
root.scrollTop = 150 after reinserting target. | PASS | FAIL |
/intersection-observer/root-margin.html | OK | OK |
First rAF. | PASS | FAIL |
Root margin tests | PASS | PASS |
document.scrollingElement.scrollLeft = 100 | PASS | FAIL |
document.scrollingElement.scrollTop = document.documentElement.clientHeight + 200 | PASS | FAIL |
document.scrollingElement.scrollTop = document.documentElement.clientHeight + 300 | PASS | FAIL |
/intersection-observer/same-document-no-root.html | OK | OK |
First rAF. | PASS | FAIL |
IntersectionObserver in a single document using the implicit root. | PASS | PASS |
document.scrollingElement.scrollTop = 100 | PASS | FAIL |
document.scrollingElement.scrollTop = 300 | PASS | FAIL |
/intersection-observer/same-document-root.html | OK | OK |
First rAF | PASS | FAIL |
IntersectionObserver in a single document with explicit root. | PASS | PASS |
document.scrollingElement.scrollTop = 0. | PASS | FAIL |
document.scrollingElement.scrollTop = window.innerHeight. | PASS | FAIL |
root.scrollTop = 0 | PASS | FAIL |
root.scrollTop = 150 with root scrolled into view. | PASS | FAIL |
root.scrollTop = 150 with root scrolled out of view. | PASS | FAIL |
/intersection-observer/same-document-zero-size-target.html | OK | OK |
First rAF | PASS | FAIL |
Observing a zero-area target. | PASS | PASS |
document.scrollingElement.scrollTop = 100 | PASS | FAIL |
document.scrollingElement.scrollTop = 300 | PASS | FAIL |
/intersection-observer/shadow-content.html | OK | OK |
First rAF after creating shadow DOM. | PASS | FAIL |
Observing a target inside shadow DOM. | PASS | PASS |
/intersection-observer/timestamp.html | OK | ERROR |
Check that timestamps correspond to the to execution context that created the observer. | PASS | TIMEOUT |
First rAF after iframe is loaded. | PASS | - |
Generate notifications. | PASS | - |
/intersection-observer/unclipped-root.html | OK | OK |
First rAF. | PASS | FAIL |
Test that border bounding box is used to calculate intersection with a non-scrolling root. | PASS | PASS |
target.style.transform = 'translateY(195px)' | PASS | FAIL |
/intersection-observer/zero-area-element-hidden.html | OK | OK |
A zero-area hidden target should not be intersecting. | PASS | PASS |
First rAF. | PASS | FAIL |
/intersection-observer/zero-area-element-visible.html | OK | OK |
Ensure that a zero-area target intersecting root generates a notification with intersectionRatio == 1 | PASS | PASS |
First rAF should generate a notification. | PASS | FAIL |