blob: 2fbec79a5050210ec332d2b33754a3629e88562f [file] [log] [blame]
<!DOCTYPE html><!-- webkit-test-runner [ isAppInitiated=true ] -->
<html>
<head>
<script src="../resources/js-test-pre.js"></script>
</head>
<body onload="runTest()">
<script>
description('Ensure beacons are attributed correctly.');
window.jsTestIsAsync = true;
function askForAttribution() {
var didLoadAppInitiatedRequest = testRunner.didLoadAppInitiatedRequest();
var didLoadNonAppInitiatedRequest = testRunner.didLoadNonAppInitiatedRequest();
if (didLoadNonAppInitiatedRequest) {
testFailed("Did load non-app initiated request");
finishJSTest();
return;
}
if (!didLoadAppInitiatedRequest) {
testFailed("Did not load app initiated request");
finishJSTest();
return;
}
testPassed("Successfully loaded only app-initiated beacon requests");
finishJSTest();
}
function runTest()
{
try {
var xhr = new XMLHttpRequest();
xhr.open("GET", "../cookies/resources/setCookies.cgi", false);
xhr.setRequestHeader("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("../blink/sendbeacon/resources/save-beacon.py?name=cookie", "Blip");');
var xhr = new XMLHttpRequest();
xhr.open("GET", "../blink/sendbeacon/resources/check-beacon.py?name=cookie");
xhr.onload = function () {
var lines = xhr.responseText.split("\n");
for (var i in lines)
testPassed(lines[i]);
askForAttribution();
};
xhr.onerror = function () {
testFailed("Unable to fetch beacon status");
finishJSTest();
};
xhr.send();
}
</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>