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

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: Applied patch on latest from origin/master, review 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
(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', 1.0);
27 internals.evictAllResources();
jkarlin 2016/04/08 17:17:59 I don't think you meant to include this.
shivanisha 2016/04/08 18:41:11 I am including this to make sure cached resources
28
29 // Reset the state of the singleton network state notifier.
30 window.addEventListener('beforeunload', function() {
31 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(f alse);
32 internals.setNetworkStateNotifierTestOnly(false);
33 }, false);
34 }
35
36 src = sameOrigin + filePath;
37 jsLoaded = false;
38 loadSuccess = false;
39 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
40 </script>
41
42 <script>
43 test(function () {
44 assert_true(jsLoaded);
45 assert_true(loadSuccess);
46 }, "Same domain doc.written scripts are not blocked");
47 </script>
48
49 <script>
50 var jsLoaded = false;
51 var loadSuccess = false;
52
53 src = crossOrigin + filePath;
54 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true"></s cr' + 'ipt>');
55 </script>
56
57 <script>
58 test(function () {
59 assert_true(jsLoaded);
60 assert_true(loadSuccess);
61 }, "cross-origin script not blocked since it is cached");
62
63 </script>
64 <script>
65 jsLoaded = false;
66 loadSuccess = false;
67 var loadFailed = false;
68
69 filePath = '/loading/resources/js-loaded.js?1';
70 src = crossOrigin + filePath;
71 document.write('<scr' + 'ipt src="' + src + '" onload="loadSuccess=true" onE rror="loadFailed=true"></scr' + 'ipt>');
72 </script>
73
74 <script>
75 test(function () {
76 assert_false(jsLoaded);
77 assert_false(loadSuccess);
78 assert_true(loadFailed);
79 }, "cross origin doc.written scripts are blocked");
80 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698