| <!DOCTYPE html> | |
| <title>IntersectionObserver when root == target doesn't compute an intersection</title> | |
| <meta name="viewport" content="width=device-width,initial-scale=1"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1682915"> | |
| <link rel="help" href="https://w3c.github.io/IntersectionObserver/#update-intersection-observations-algo"> | |
| <!-- | |
| Quoting IntersectionObserver section 3.2.8, "Run the Update Intersection Observations Steps", step 2, substep 3: | |
| If the intersection root is an Element, and target is not a descendant of | |
| the intersection root in the containing block chain, skip to step 11. | |
| --> | |
| <style> | |
| #container { | |
| overflow: scroll; | |
| width: 100px; | |
| height: 100px; | |
| } | |
| </style> | |
| <div id=container> | |
| <div></div> | |
| </div> | |
| <script> | |
| async_test(function(t) { | |
| let container = document.getElementById("container"); | |
| let observer = new IntersectionObserver(t.step_func_done(function(entries) { | |
| assert_equals(entries.length, 1); | |
| assert_equals(entries[0].intersectionRatio, 0); | |
| assert_equals(entries[0].isIntersecting, false); | |
| }), { root: container }); | |
| observer.observe(container); | |
| }); | |
| </script> |