File: viewport-width-test-after-history-navigation.html

package info (click to toggle)
qtwebkit 2.3.4.dfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 290,116 kB
  • ctags: 272,544
  • sloc: cpp: 1,417,496; python: 85,048; ansic: 39,353; perl: 38,858; ruby: 10,313; objc: 9,505; xml: 8,679; asm: 3,864; yacc: 2,458; sh: 1,237; lex: 813; makefile: 592; java: 228; php: 79
file content (40 lines) | stat: -rw-r--r-- 1,718 bytes parent folder | download | duplicates (15)
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
<html>
<head>
    <meta name="viewport" content="width=700">
    <script>
        var originalViewportWidth;

        function checkViewportWidthAfterHistoryNavigation() {
            if (originalViewportWidth == window.innerWidth)
                document.body.innerHTML = "<div style='color:green'>PASS, viewport width is OK after history navigation.</div>";
            else
                document.body.innerHTML = "<div style='color:red'>FAIL, viewport width is different after history navigation.</div>";
        }

        function navigateAwayAndBack() {
            // Force layout before getting viewport width.
            document.body.offsetTop;
            originalViewportWidth = window.innerWidth;

            // Assigning to window.location does not create a history entry, so instead link click is simulated.
            var evt = document.createEvent("MouseEvents");
            evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
            document.getElementById('anchor').dispatchEvent(evt);
            // Initiate timer to do final verification as we have navigated back to the cached version of this page.
            // This test makes use of the behavior where timers are restored on a cached page.
            setTimeout('checkViewportWidthAfterHistoryNavigation()', 1000);

        }
    </script>
</head>
<body onload='setTimeout("navigateAwayAndBack()", 0 );'>
    <a id='anchor' href='data:text/html,
        <html>
            <head>
                <meta name="viewport" content="width=600">
            </head>
            <body onload="document.body.offsetTop; history.back();"></body>
        </html>'>
    </a>
</body>
</html>