<!DOCTYPE HTML>
<html>
<head>
<script src="/js-test-resources/js-test.js"></script>
<script>
description("Checking transmission of Beacons involving cookies.");

window.jsTestIsAsync = true;

function test() {
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
        //testRunner.dumpPingLoaderCallbacks();
    }
    try {
        var xhr = new XMLHttpRequest();
        xhr.open("GET", "../../cookies/resources/setCookies.cgi", false);
        xhr.setRequestHeader("X-SET-COOKIE", "hello=world;path=/");
        xhr.send(null);
        if (xhr.status != 200) {
            testFailed("cookie not set");
            finishJSTest();
        }
    } catch (e) {
        testFailed("cookie not set");
        finishJSTest();
    }

    shouldBeTrue('navigator.sendBeacon("resources/save-beacon.py?name=cookie", "Blip");');
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "resources/check-beacon.py?name=cookie");
    xhr.onload = function () {
        var lines = xhr.responseText.split("\n");
        for (var i in lines)
            testPassed(lines[i]);
        finishJSTest();
    };
    xhr.onerror = function () {
        testFailed("Unable to fetch beacon status");
        finishJSTest();
    };

    xhr.send();
}
</script>
</head>
<body onload="test();">
</body>
</html>
