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

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

Issue 1849223002: Blocking synchronous and third party doc.written scripts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: feedback incorporated 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
(Empty)
1 <!DOCTYPE html>
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script>
5 var sameOrigin = 'http://127.0.0.1:8000'
6 var crossOrigin = 'http://localhost:8000'
7 var filePath = '/loading/resources/js-loaded.js'
8 var jsLoaded = false;
9 var loadSuccess = false;
10
11 src = crossOrigin + filePath;
12 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
13 </script>
14
15 <script>
16 test(function () {
17 assert_true(jsLoaded);
18 assert_true(loadSuccess);
19 }, "Blocking of scripts doesn't come into effect since feature is disabled") ;
20
21 </script>
22 <script>
23 if (window.internals){
24 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(true) ;
25 internals.setNetworkStateNotifierTestOnly(true);
26 internals.setNetworkConnectionInfo('cellular2g', 2.0);
27 }
28 src = sameOrigin + filePath;
29 jsLoaded = false;
30 loadSuccess = false;
31 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
32 </script>
33
34 <script>
35 test(function () {
36 assert_true(jsLoaded);
37 assert_true(loadSuccess);
38 }, "Same domain doc.written scripts are not blocked");
39 </script>
40
41 <script>
42 var jsLoaded = false;
43 var loadSuccess = false;
44
45 src = crossOrigin + filePath;
46 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
47 </script>
48
49 <script>
50 test(function () {
51 assert_true(jsLoaded);
52 assert_true(loadSuccess);
53 }, "cross-origin script not blocked since it is cached");
54
55 </script>
56 <script>
57 jsLoaded = false;
58 loadSuccess = false;
59 var loadFailed = false;
60
61 filePath = '/loading/resources/js-loaded.js?1';
62 src = crossOrigin + filePath;
63 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true" onE rror="loadFailed=true"></scr' + 'ipt>');
64 </script>
65
66 <script>
67 test(function () {
68 assert_false(jsLoaded);
69 assert_false(loadSuccess);
70 assert_true(loadFailed);
71 }, "cross origin doc.written scripts are blocked");
72
73 window.addEventListener('beforeunload', function() {
74 internals.setNetworkStateNotifierTestOnly(false);
75 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(false );
76 }, false);
77 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698