Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(243)

Side by Side Diff: third_party/WebKit/LayoutTests/http/tests/loading/doc-write-sync-third-party-script-block.html

Issue 1868413002: Add about:flags support for doc.write script blocking. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script> 2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script> 3 <script src="../resources/testharnessreport.js"></script>
4 <script> 4 <script>
5 var sameOrigin = 'http://127.0.0.1:8000' 5 var sameOrigin = 'http://127.0.0.1:8000';
6 var crossOrigin = 'http://localhost:8000' 6 var crossOrigin = 'http://localhost:8000';
7 var filePath = '/loading/resources/js-loaded.js' 7 var filePath = '/loading/resources/js-loaded.js';
8 var jsLoaded = false; 8 var jsLoaded = false;
9 var loadSuccess = false; 9 var loadSuccess = false;
10 10
11 src = crossOrigin + filePath; 11 src = crossOrigin + filePath;
12 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>'); 12 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
13 </script> 13 </script>
14 14
15 <script> 15 <script>
16 test(function () { 16 test(function () {
17 assert_true(jsLoaded); 17 assert_true(jsLoaded);
18 assert_true(loadSuccess); 18 assert_true(loadSuccess);
19 }, "Blocking of scripts doesn't come into effect since feature is disabled") ; 19 }, "Blocking of scripts doesn't come into effect since feature is disabled") ;
20
21 </script> 20 </script>
22 <script> 21 <script>
23 if (window.internals) { 22 if (window.internals) {
24 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(true) ; 23 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrameOnSlow Connections(true);
25 internals.setNetworkStateNotifierTestOnly(true); 24 internals.setNetworkStateNotifierTestOnly(true);
26 internals.setNetworkConnectionInfo('cellular2g', 1.0); 25 internals.setNetworkConnectionInfo('cellular2g', 1.0);
27 internals.evictAllResources(); 26 internals.evictAllResources();
28 27
29 // Reset the state of the singleton network state notifier. 28 // Reset the state of the singleton network state notifier.
30 window.addEventListener('beforeunload', function() { 29 window.addEventListener('beforeunload', function() {
31 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(f alse); 30 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrameOn SlowConnections(false);
32 internals.setNetworkStateNotifierTestOnly(false); 31 internals.setNetworkStateNotifierTestOnly(false);
33 }, false); 32 }, false);
34 } 33 }
35 34
36 src = sameOrigin + filePath; 35 src = sameOrigin + filePath;
37 jsLoaded = false; 36 jsLoaded = false;
38 loadSuccess = false; 37 loadSuccess = false;
39 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>'); 38 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
40 </script> 39 </script>
41 40
(...skipping 10 matching lines...) Expand all
52 51
53 src = crossOrigin + filePath; 52 src = crossOrigin + filePath;
54 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>'); 53 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
55 </script> 54 </script>
56 55
57 <script> 56 <script>
58 test(function () { 57 test(function () {
59 assert_true(jsLoaded); 58 assert_true(jsLoaded);
60 assert_true(loadSuccess); 59 assert_true(loadSuccess);
61 }, "cross-origin script not blocked since it is cached"); 60 }, "cross-origin script not blocked since it is cached");
62
63 </script> 61 </script>
64 <script> 62 <script>
65 jsLoaded = false; 63 jsLoaded = false;
66 loadSuccess = false; 64 loadSuccess = false;
67 var loadFailed = false; 65 var loadFailed = false;
68 66
69 filePath = '/loading/resources/js-loaded.js?1'; 67 filePath = '/loading/resources/js-loaded.js?1';
70 src = crossOrigin + filePath; 68 src = crossOrigin + filePath;
71 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true" onE rror="loadFailed=true"></scr' + 'ipt>'); 69 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true" onE rror="loadFailed=true"></scr' + 'ipt>');
72 </script> 70 </script>
73 71
74 <script> 72 <script>
75 test(function () { 73 test(function () {
76 assert_false(jsLoaded); 74 assert_false(jsLoaded);
77 assert_false(loadSuccess); 75 assert_false(loadSuccess);
78 assert_true(loadFailed); 76 assert_true(loadFailed);
79 }, "cross origin doc.written scripts are blocked"); 77 }, "cross origin doc.written scripts are blocked");
80 </script> 78 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698