| Index: third_party/WebKit/LayoutTests/http/tests/loading/doc-write-sync-third-party-script-block.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/loading/doc-write-sync-third-party-script-block.html b/third_party/WebKit/LayoutTests/http/tests/loading/doc-write-sync-third-party-script-block.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..60978bc5a08e0aebb1b839316202079902264578
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/loading/doc-write-sync-third-party-script-block.html
|
| @@ -0,0 +1,77 @@
|
| +<!DOCTYPE html>
|
| +<script src="../resources/testharness.js"></script>
|
| +<script src="../resources/testharnessreport.js"></script>
|
| +<script>
|
| + var sameOrigin = 'http://127.0.0.1:8000'
|
| + var crossOrigin = 'http://localhost:8000'
|
| + var filePath = '/loading/resources/js-loaded.js'
|
| + var jsLoaded = false;
|
| + var loadSuccess = false;
|
| +
|
| + src = crossOrigin + filePath;
|
| + document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></scr' + 'ipt>');
|
| +</script>
|
| +
|
| +<script>
|
| + test(function () {
|
| + assert_true(jsLoaded);
|
| + assert_true(loadSuccess);
|
| + }, "Blocking of scripts doesn't come into effect since feature is disabled");
|
| +
|
| +</script>
|
| +<script>
|
| + if (window.internals){
|
| + internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(true);
|
| + internals.setNetworkStateNotifierTestOnly(true);
|
| + internals.setNetworkConnectionInfo('cellular2g', 2.0);
|
| + }
|
| + src = sameOrigin + filePath;
|
| + jsLoaded = false;
|
| + loadSuccess = false;
|
| + document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></scr' + 'ipt>');
|
| +</script>
|
| +
|
| +<script>
|
| + test(function () {
|
| + assert_true(jsLoaded);
|
| + assert_true(loadSuccess);
|
| + }, "Same domain doc.written scripts are not blocked");
|
| +</script>
|
| +
|
| +<script>
|
| + var jsLoaded = false;
|
| + var loadSuccess = false;
|
| +
|
| + src = crossOrigin + filePath;
|
| + document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></scr' + 'ipt>');
|
| +</script>
|
| +
|
| +<script>
|
| + test(function () {
|
| + assert_true(jsLoaded);
|
| + assert_true(loadSuccess);
|
| + }, "cross-origin script not blocked since it is cached");
|
| +
|
| +</script>
|
| +<script>
|
| + jsLoaded = false;
|
| + loadSuccess = false;
|
| + var loadFailed = false;
|
| +
|
| + filePath = '/loading/resources/js-loaded.js?1';
|
| + src = crossOrigin + filePath;
|
| + document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true" onError="loadFailed=true"></scr' + 'ipt>');
|
| +</script>
|
| +
|
| +<script>
|
| + test(function () {
|
| + assert_false(jsLoaded);
|
| + assert_false(loadSuccess);
|
| + assert_true(loadFailed);
|
| + }, "cross origin doc.written scripts are blocked");
|
| +
|
| + window.addEventListener('beforeunload', function() {
|
| + internals.setNetworkStateNotifierTestOnly(false);
|
| + internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(false);
|
| + }, false);
|
| +</script>
|
|
|