Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/intersection-observer/resources/observer-in-iframe-subframe.html |
| diff --git a/third_party/WebKit/LayoutTests/intersection-observer/resources/observer-in-iframe-subframe.html b/third_party/WebKit/LayoutTests/intersection-observer/resources/observer-in-iframe-subframe.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5212eff8cba826863c22f89f69e3c8c90d1f5409 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/intersection-observer/resources/observer-in-iframe-subframe.html |
| @@ -0,0 +1,65 @@ |
| +<!DOCTYPE html> |
| +<script src="../../resources/testharness.js"></script> |
| +<script src="../../resources/testharnessreport.js"></script> |
| +<script src="./intersection-observer-test-utils.js"></script> |
| + |
| +<style> |
| +#root { |
| + width: 200px; |
| + height: 200px; |
| +} |
| +#scroller { |
| + width: 160px; |
| + height: 200px; |
| + overflow-y: scroll; |
| +} |
| +#target { |
| + width: 100px; |
| + height: 100px; |
| + background-color: green; |
| +} |
| +.spacer { |
| + height: 300px; |
| +} |
| +</style> |
| + |
| +<div id="root"> |
| + <div id="scroller"> |
| + <div class="spacer"></div> |
| + <div id="target"></div> |
| + <div class="spacer"></div> |
| + </div> |
| +</div> |
| + |
| +<script> |
| +setup({message_events: [], output_document: window.parent.document}); |
| + |
| +var entries = []; |
| +var root, scroller, target; |
| + |
| +runTestCycle(function() { |
| + root = document.getElementById("root"); |
| + assert_true(!!root, "Root element exists."); |
| + scroller = document.getElementById("scroller"); |
| + assert_true(!!scroller, "Scroller element exists."); |
| + target = document.getElementById("target"); |
| + assert_true(!!target, "Target element exists."); |
| + var observer = new IntersectionObserver(function(changes) { |
| + entries = entries.concat(changes) |
| + }, {root: root}); |
| + observer.observe(target); |
| + entries = entries.concat(observer.takeRecords()); |
| + assert_equals(entries.length, 0, "No initial notifications.") |
| + runTestCycle(step1, "First rAF."); |
|
foolip
2017/01/11 13:42:53
I think some other tests say this too, but it's no
|
| +}, "IntersectionObserver in iframe with explicit root."); |
| + |
| +function step1() { |
| + scroller.scrollTop = 250; |
| + runTestCycle(step2, "scroller.scrollTop = 250"); |
| + assert_equals(entries.length, 0, "No notifications after first rAF."); |
| +} |
| + |
| +function step2() { |
| + checkEntry(entries, 0, [8, 108, 58, 158, 8, 108, 58, 158, 8, 208, 8, 208, target]); |
| +} |
| +</script> |