summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/dom/Element/scrollTop-scrollLeft-body.html
blob: b3767202c2fad7930f406a141a65eb08404b6d7a (plain)
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
83
84
85
86
87
88
89
90
91
92
<!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>