Revision de277f72555a8613d1d38a9a6df270d16621ac89 authored by Chris Nardi on 29 March 2018, 23:23:28 UTC, committed by Chris Nardi on 29 March 2018, 23:23:28 UTC
Many spec links were in shortlink form (e.g. https://drafts.csswg.org/cssom/ instead of https://drafts.csswg.org/cssom-1/). However, build.py did not pick up these spec links, as it assumed that the only spec links could be in longhand form with the spec version. Update build.py to consider shortlinks when building.
1 parent 7991f4b
Raw File
navigate.iFrame.sub.html
<!DOCTYPE html>
<html>
<head>
    <title>W3C Beacon As Fetch (Fetch KeepAlive) Navigate Test</title>
</head>
<body>
    <script src="beacon-common.sub.js"></script>
    <script>
        "use strict";

        // An array should be passed through postMessage to this iFrame, where
        //     [0] contains a test case id as defined in beacon-common.js.
        //     [1] is the URL for the keep alive fetch() or sendBeacon().
        //     [2] string indicating the function to call - "fetch" to call fetch() or "beacon" to call sendBeacon().
        // The testcase id is returned back to the window through postMesage.
        var tests = 0;
        window.onmessage = function(e) {
            var testCaseId = e.data[0];
            var url = e.data[1];
            var func = e.data[2];
            tests++;

            // Reconstruct enough of the test case to send the keep alive fetch (data and url).
            var testCase = testLookup[testCaseId];
            testCase.url = url;

            if (func === "beacon") {
                // sendData calls sendBeacon
                sendData(testCase);
            }
            else {
                throw new Error(func + " is an invalid function");
            }

            // Let the main page continue the test if we don't immediately throw an exception.
            parent.postMessage(testCaseId, "*");

            // Now navigate ourselves.
            if (tests == sampleTests.length) {
                window.location = "http://{{host}}:{{ports[http][0]}}/";
            }
        }
    </script>
</body>
</html>
back to top