# Intersection Observer API tests.

containing-block.html,PASS
disconnect.html,PASS
# Updating target display does not trigger an intersection
display-none.html,DISABLE
# Empty rootMargin should evaluate to default, not cause error
empty-root-margin.html,DISABLE
initial-observation-with-threshold.html,PASS
# Unsupported functions measuring space width between adjacent inline elements
inline-client-rect.html,DISABLE
inline-with-block-child-client-rect.html,PASS
isIntersecting-change-events.html,PASS
# overflow: scroll results in incorrectly clipped intersection rect
isIntersecting-threshold.html,DISABLE
multiple-targets.html,PASS
multiple-thresholds.html,PASS
# rootMargin default should be "0px 0px 0px 0px", not "0px"
observer-attributes.html,DISABLE
# WPT testharness needs to be rebased
observer-exceptions.html,DISABLE
observer-without-js-reference.html,PASS
#Deleting an element does not trigger an intersection
remove-element.html,DISABLE
root-margin-root-element.html,PASS
# Root margin calculations have rounding errors
root-margin.html,DISABLE
# Setting IO target equal to document.documentElement crashes Cobalt
root-margin-rounding.html,DISABLE
rtl-clipped-root.html,PASS
same-document-no-root.html,PASS
same-document-root.html,PASS
same-document-zero-size-target.html,PASS
text-target.html,PASS
zero-area-element-hidden.html,PASS
zero-area-element-visible.html,PASS

#IntersectionObserverV2 not implemented
v2/blur-filter.html,DISABLE
v2/delay-test.html,DISABLE
v2/drop-shadow-filter-vertical-rl.html,DISABLE
v2/inline-occlusion.html,DISABLE
v2/position-relative.html,DISABLE
v2/simple-effects.html,DISABLE
v2/simple-occlusion-svg-foreign-object.html,DISABLE
v2/simple-occlusion.html,DISABLE
v2/text-editor-occlusion.html,DISABLE

#IntersectionObserver doesn't support transforms and animations
bounding-box.html,DISABLE
edge-inclusive-intersection.html,DISABLE
unclipped-root.html,DISABLE
v2/animated-occlusion.html,DISABLE

#Window.open() and multiple windows not supported
target-in-different-window.html,DISABLE

# shadow DOM not supported
shadow-content.html,DISABLE

# <iframe> not supported
client-rect.html,DISABLE
cross-origin-iframe.sub.html,DISABLE
document-scrolling-element-root.html,DISABLE
iframe-no-root-with-wrapping-scroller.html,DISABLE
iframe-no-root.html,DISABLE
nested-cross-origin-iframe.sub.html,DISABLE
observer-in-iframe.html,DISABLE
same-origin-grand-child-iframe.sub.html,DISABLE
timestamp.html,DISABLE
v2/box-shadow.html,DISABLE
v2/cross-origin-effects.sub.html,DISABLE
v2/cross-origin-occlusion.sub.html,DISABLE
v2/iframe-target.html,DISABLE
v2/scaled-target.html,DISABLE
v2/text-shadow.html,DISABLE