зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1386644 - Enable test for bug 1053321 on Android, r=bkelly
This commit is contained in:
Родитель
2f95564d19
Коммит
1696926795
|
@ -25,8 +25,10 @@ function finishBlockedRequest(request, response, query)
|
|||
response.setStatusLine(request.httpVersion, 200, "OK");
|
||||
response.setHeader("Cache-Control", "no-cache", false);
|
||||
response.setHeader("Content-Type", "application/javascript", false);
|
||||
response.write("window.script_executed_" + query[1] + " = true; ok(true, 'Script " + query[1] + " executed');");
|
||||
response.write("scriptLoaded('" + query[1] + "');");
|
||||
response.finish();
|
||||
|
||||
setGlobalState(undefined, query[1]);
|
||||
}
|
||||
|
||||
function handleRequest(request, response)
|
||||
|
@ -37,7 +39,7 @@ function handleRequest(request, response)
|
|||
var alreadyUnblocked = getGlobalState(query[1]);
|
||||
|
||||
response.processAsync();
|
||||
if (alreadyUnblocked) {
|
||||
if (alreadyUnblocked === true) {
|
||||
// the unblock request came before the blocked request, just go on and finish synchronously
|
||||
finishBlockedRequest(request, response, query);
|
||||
} else {
|
||||
|
@ -52,10 +54,10 @@ function handleRequest(request, response)
|
|||
response.write("\x89PNG"); // just a broken image is enough for our purpose
|
||||
|
||||
var blockedResponse = getGlobalState(query[1]);
|
||||
if (!blockedResponse) {
|
||||
if (blockedResponse === undefined) {
|
||||
// the unblock request came before the blocked request, remember to not block it
|
||||
setGlobalState(true, query[1]);
|
||||
} else {
|
||||
} else if (typeof blockedResponse == "object") {
|
||||
finishBlockedRequest(request, blockedResponse, query);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -3,5 +3,4 @@ support-files =
|
|||
file_blocked_script.sjs
|
||||
|
||||
[test_bug1053321.html]
|
||||
skip-if = os == 'android' # bug 1386644
|
||||
[test_whitespace.html]
|
||||
|
|
|
@ -10,32 +10,41 @@ are unexpectedly blocked.
|
|||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||
|
||||
<script>
|
||||
// The two scripts below are expected to load and call scriptLoaded().
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
window.expected_scripts = {
|
||||
"defer": true,
|
||||
"async": true,
|
||||
};
|
||||
|
||||
function scriptLoaded(script)
|
||||
{
|
||||
ok(true, 'Script ' + script + ' executed');
|
||||
delete window.expected_scripts[script];
|
||||
|
||||
let expecting = Object.keys(window.expected_scripts).length;
|
||||
info("Expecting " + expecting + " more script(s) to execute");
|
||||
|
||||
if (expecting == 0) {
|
||||
SimpleTest.finish();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- this script is not loaded until file_blocked_script.sjs?unblock&defer request is made,
|
||||
when this script is executed, it sets window.script_executed_defer to true
|
||||
when this script is executed, it calls SimpleTest.finish().
|
||||
-->
|
||||
<script defer src="file_blocked_script.sjs?blocked&defer"></script>
|
||||
|
||||
<!-- this script is not loaded until file_blocked_script.sjs?unblock&async request is made,
|
||||
when this script is executed, it sets window.script_executed_async to true
|
||||
when this script is executed, it calls SimpleTest.finish().
|
||||
-->
|
||||
<script async src="file_blocked_script.sjs?blocked&async"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
||||
// We can't test whether the two scripts have not been executed here, since
|
||||
// preloads of the two images below (that unblock the two tested <head>
|
||||
// scripts) may happen sooner than this script executes.
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
ok(window.script_executed_defer, "Deferred script executed before DOMContentLoaded");
|
||||
});
|
||||
window.addEventListener("load", function() {
|
||||
ok(window.script_executed_async, "Async script executed before onload");
|
||||
SimpleTest.finish();
|
||||
}, true);
|
||||
</script>
|
||||
<img src="file_blocked_script.sjs?unblock&defer"/>
|
||||
<img src="file_blocked_script.sjs?unblock&async"/>
|
||||
</body>
|
||||
|
|
Загрузка…
Ссылка в новой задаче