| <!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?cross-origin'; |
| 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.setDisallowFetchForDocWrittenScriptsInMainFrameOnSlowConnections(true); |
| internals.setNetworkConnectionInfoOverride(true, 'cellular2g', 1.0); |
| internals.evictAllResources(); |
| |
| // Reset the state of the singleton network state notifier. |
| window.addEventListener('beforeunload', function() { |
| internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrameOnSlowConnections(false); |
| internals.clearNetworkConnectionInfoOverride(); |
| }, false); |
| } |
| |
| filePath = '/loading/resources/js-loaded.js?same-origin'; |
| 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; |
| |
| var filePath = '/loading/resources/js-loaded.js?cross-origin'; |
| 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"); |
| if (window.internals) { |
| header = internals.getResourceHeader(src, 'Intervention', document); |
| console.log(src + " Intervention header has value " + header); |
| } |
| </script> |
| <script> |
| jsLoaded = false; |
| loadSuccess = false; |
| var loadFailed = false; |
| |
| filePath = '/loading/resources/js-loaded.js?cross-origin2'; |
| 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"); |
| |
| if (window.internals) { |
| priority = internals.getResourcePriority(src, document); |
| console.log(src + " has priority " + priority); |
| } |
| </script> |