| <!DOCTYPE html> |
| <script src="../../../resources/js-test.js"></script> |
| <iframe id="strict1" src="resources/overflow-scroll-scrollable-body-strict.html"></iframe> |
| <iframe id="quirks1" src="resources/overflow-scroll-scrollable-body-quirks.html"></iframe> |
| <iframe id="strict2" src="resources/overflow-scroll-non-scrollable-body-strict.html"></iframe> |
| <iframe id="quirks2" src="resources/overflow-scroll-non-scrollable-body-quirks.html"></iframe> |
| <iframe id="strict3" src="resources/overflow-hidden-scrollable-body-strict.html"></iframe> |
| <iframe id="quirks3" src="resources/overflow-hidden-scrollable-body-quirks.html"></iframe> |
| <iframe id="strict4" src="resources/display-none-body-strict.html"></iframe> |
| <iframe id="quirks4" src="resources/display-none-body-quirks.html"></iframe> |
| |
| <script> |
| var count = 0; |
| var iframeStrict1, iframeStrict2, iframeStrict3, iframeStrict4; |
| var iframeQuirks1, iframeQuirks2, iframeQuirks3, iframeQuriks4; |
| function verifyTest() { |
| // Need to wait on all inner frames to load. |
| if (count++ < 7) |
| return; |
| |
| description('Test for scrollTop/Left and scrollingElement values of scrollable document.body in quirks and strict modes'); |
| |
| iframeStrict1 = document.getElementById("strict1"); |
| iframeStrict2 = document.getElementById("strict2"); |
| iframeStrict3 = document.getElementById("strict3"); |
| iframeStrict4 = document.getElementById("strict4"); |
| iframeQuirks1 = document.getElementById("quirks1"); |
| iframeQuirks2 = document.getElementById("quirks2"); |
| iframeQuirks3 = document.getElementById("quirks3"); |
| iframeQuirks4 = document.getElementById("quirks4"); |
| |
| shouldBe("iframeStrict1.contentDocument.scrollingElement", "iframeStrict1.contentDocument.documentElement"); |
| shouldBe("iframeStrict1.contentDocument.documentElement.scrollTop", "0"); |
| shouldBe("iframeStrict1.contentDocument.documentElement.scrollLeft", "100"); |
| shouldBe("iframeStrict1.contentDocument.body.scrollTop", "200"); |
| shouldBe("iframeStrict1.contentDocument.body.scrollLeft", "0"); |
| shouldBe("iframeStrict1.contentWindow.pageYOffset", "0"); |
| shouldBe("iframeStrict1.contentWindow.pageXOffset", "100"); |
| |
| shouldBeNull("iframeQuirks1.contentDocument.scrollingElement"); |
| shouldBe("iframeQuirks1.contentDocument.documentElement.scrollTop", "0"); |
| shouldBe("iframeQuirks1.contentDocument.documentElement.scrollLeft", "0"); |
| shouldBe("iframeQuirks1.contentDocument.body.scrollTop", "200"); |
| shouldBe("iframeQuirks1.contentDocument.body.scrollLeft", "0"); |
| shouldBe("iframeQuirks1.contentWindow.pageYOffset", "0"); |
| shouldBe("iframeQuirks1.contentWindow.pageXOffset", "0"); |
| |
| shouldBe("iframeStrict2.contentDocument.scrollingElement", "iframeStrict2.contentDocument.documentElement"); |
| shouldBe("iframeStrict2.contentDocument.documentElement.scrollTop", "0"); |
| shouldBe("iframeStrict2.contentDocument.documentElement.scrollLeft", "100"); |
| shouldBe("iframeStrict2.contentDocument.body.scrollTop", "0"); |
| shouldBe("iframeStrict2.contentDocument.body.scrollLeft", "0"); |
| shouldBe("iframeStrict2.contentWindow.pageYOffset", "0"); |
| shouldBe("iframeStrict2.contentWindow.pageXOffset", "100"); |
| |
| shouldBeNull("iframeQuirks2.contentDocument.scrollingElement"); |
| shouldBe("iframeQuirks2.contentDocument.documentElement.scrollTop", "0"); |
| shouldBe("iframeQuirks2.contentDocument.documentElement.scrollLeft", "0"); |
| shouldBe("iframeQuirks2.contentDocument.body.scrollTop", "0"); |
| shouldBe("iframeQuirks2.contentDocument.body.scrollLeft", "0"); |
| shouldBe("iframeQuirks2.contentWindow.pageYOffset", "0"); |
| shouldBe("iframeQuirks2.contentWindow.pageXOffset", "0"); |
| |
| shouldBe("iframeStrict3.contentDocument.scrollingElement", "iframeStrict3.contentDocument.documentElement"); |
| shouldBe("iframeStrict3.contentDocument.documentElement.scrollTop", "0"); |
| shouldBe("iframeStrict3.contentDocument.documentElement.scrollLeft", "100"); |
| shouldBe("iframeStrict3.contentDocument.body.scrollTop", "200"); |
| shouldBe("iframeStrict3.contentDocument.body.scrollLeft", "0"); |
| shouldBe("iframeStrict3.contentWindow.pageYOffset", "0"); |
| shouldBe("iframeStrict3.contentWindow.pageXOffset", "100"); |
| |
| shouldBeNull("iframeQuirks3.contentDocument.scrollingElement"); |
| shouldBe("iframeQuirks3.contentDocument.documentElement.scrollTop", "0"); |
| shouldBe("iframeQuirks3.contentDocument.documentElement.scrollLeft", "0"); |
| shouldBe("iframeQuirks3.contentDocument.body.scrollTop", "200"); |
| shouldBe("iframeQuirks3.contentDocument.body.scrollLeft", "0"); |
| shouldBe("iframeQuirks3.contentWindow.pageYOffset", "0"); |
| shouldBe("iframeQuirks3.contentWindow.pageXOffset", "0"); |
| |
| shouldBe("iframeStrict4.contentDocument.scrollingElement", "iframeStrict4.contentDocument.documentElement"); |
| shouldBe("iframeStrict4.contentDocument.body.scrollTop", "0"); |
| shouldBe("iframeStrict4.contentDocument.body.scrollLeft", "0"); |
| |
| shouldBe("iframeQuirks4.contentDocument.scrollingElement", "iframeQuirks4.contentDocument.body"); |
| shouldBe("iframeQuirks4.contentDocument.body.scrollTop", "4000"); |
| shouldBe("iframeQuirks4.contentDocument.body.scrollLeft", "3000"); |
| |
| finishJSTest(); |
| } |
| var jsTestIsAsync = true; |
| </script> |
| |