[Web GPU] GPURenderPassEncoder updates: setBlendColor, setViewport, setScissorRect
[WebKit-https.git] / LayoutTests / accessibility / scroll-to-make-visible-iframe.html
1 <!DOCTYPE html>
2 <head>
3 <script src="../resources/js-test.js"></script>
4 </head>
5 <body>
6
7 <p id="description"></p>
8
9 <iframe id="frame" src="data:text/html,<body><button id='upper_target'>Upper Target</button><div style='border: 1px solid #000; height: 5000px;'>5000-pixel box</div><button id='lower_target'>Lower Target</button></body>"></iframe>
10
11 <div id="console"></div>
12
13 <script>
14 description("Tests that scrolling to make an element visible successfully scrolls an iframe.");
15
16 window.jsTestIsAsync = true;
17
18 function runTest() {
19     window.frame = document.getElementById("frame");
20     window.frameWindow = frame.contentWindow;
21     window.frameDoc = frameWindow.document;
22
23     var upperTarget = frameDoc.getElementById("upper_target");
24     var lowerTarget = frameDoc.getElementById("lower_target");
25
26     var lowerTargetAccessibleObject;
27     var upperTargetAccessibleObject;
28     if (window.accessibilityController) {
29         lowerTarget.focus();
30         lowerTargetAccessibleObject = accessibilityController.focusedElement;
31         upperTarget.focus();
32         upperTargetAccessibleObject = accessibilityController.focusedElement;
33     }
34
35     // Reset the initial scroll position (since calling focus() can scroll the page too).
36     frameWindow.scrollTo(0, 0);
37     shouldBeZero("frameWindow.pageYOffset");
38
39     // Scroll to make lower target visible and check.
40     if (window.accessibilityController)
41         lowerTargetAccessibleObject.scrollToMakeVisible();
42     window.minYOffset = lowerTarget.offsetTop + lowerTarget.offsetHeight - frameWindow.innerHeight;
43     window.maxYOffset = lowerTarget.offsetTop;
44     shouldBeTrue("frameWindow.pageYOffset >= minYOffset");
45     shouldBeTrue("frameWindow.pageYOffset <= maxYOffset");
46
47     // Scroll to make upper target visible and check.
48     if (window.accessibilityController)
49         upperTargetAccessibleObject.scrollToMakeVisible();
50     window.minYOffset = upperTarget.offsetTop + upperTarget.offsetHeight - frameWindow.innerHeight;
51     window.maxYOffset = upperTarget.offsetTop;
52     shouldBeTrue("frameWindow.pageYOffset >= minYOffset");
53     shouldBeTrue("frameWindow.pageYOffset <= maxYOffset");
54
55     finishJSTest();
56 }
57
58 window.addEventListener("load", function() {
59     setTimeout(runTest, 0);
60 }, false);
61
62 </script>
63
64 </body>
65 </html>