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 |