GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — wpt/css/cssom-view/scrollIntoView-iframes.html at master · web-platform-tests/wpt Expand file tree/ Copy pathscrollIntoView-iframes.htmlMore file actions 82 lines (73 loc) · 2.53 KB / Copy pathscrollIntoView-iframes.htmlFile metadata and controls82 lines (73 loc) · 2.53 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 <!DOCTYPE html> <meta charset="utf-8"> <title>CSSOM View Test: scrollIntoView in iframes</title> <link rel="help" href="https://drafts.csswg.org/cssom-view/#dom-element-scrollintoview"> <meta name="assert" content="Checks that scrollIntoView inside and iframe can scroll in the parent document if it has the same origin."> <style> .scroller { overflow: hidden; height: 500px; border: solid; } .scroller::before { content: ""; display: block; height: 500px; } .scroller::after { content: ""; display: block; height: 300px; } iframe { height: 1000px; border: none; } </style> <div id="log"></div> <div class="scroller"> <iframe id="same-origin-iframe"></iframe> </div> <div class="scroller"> <iframe id="cross-origin-iframe" sandbox="allow-scripts"></iframe> </div> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> let sameOriginIframe = document.getElementById("same-origin-iframe"); let crossOriginIframe = document.getElementById("cross-origin-iframe"); let sameOriginWindow = sameOriginIframe.contentWindow; let crossOriginWindow = crossOriginIframe.contentWindow; promise_setup(() => Promise.all([ new Promise(resolve => { sameOriginIframe.addEventListener("load", resolve); sameOriginIframe.src = "support/scrollIntoView-iframes-child.html"; }), new Promise(resolve => { crossOriginIframe.addEventListener("load", resolve); crossOriginIframe.src = "support/scrollIntoView-iframes-child.html"; }) ])); promise_test(async () => { assert_equals(sameOriginWindow.scrollY, 100, "scrollY"); }, "scrollIntoView in same-origin iframe can scroll in inner window"); promise_test(async () => { assert_equals(sameOriginIframe.parentElement.scrollTop, 1200, "scrollTop"); }, "scrollIntoView in same-origin iframe can scroll in parent window"); promise_test(async () => { let scrollY = await new Promise(resolve => { addEventListener("message", event => { if (event.source === crossOriginWindow) { resolve(event.data); } }); crossOriginWindow.postMessage("scrollY", "*"); }); assert_equals(scrollY, 100, "scrollY"); }, "scrollIntoView in cross-origin iframe can scroll in inner window"); promise_test(async () => { assert_equals(crossOriginIframe.parentElement.scrollTop, 0, "scrollTop"); }, "scrollIntoView in cross-origin iframe can't scroll in parent window"); </script> |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |