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

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

Issue 1849223002: Blocking synchronous and third party doc.written scripts (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Tests modified as per feedback and code comments added 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>
jkarlin 2016/04/06 14:55:31 instead of ...-block1.html, how about ...-block-th
shivanisha 2016/04/06 20:40:09 sounds good. Will rename the three different test
2 <script src="../resources/testharness.js"></script>
3 <script src="../resources/testharnessreport.js"></script>
4 <script>
5 var jsLoaded = false;
6 var loadsuccess = false;
Bryan McQuade 2016/04/06 12:37:21 for consistency let's name this loadSuccess
shivanisha 2016/04/06 14:18:36 done
7
8 src = 'http://localhost:8000/loading/resources/js-loaded.js';
9 document.write('<scr' + 'ipt src="' + src + '" onload="loadsuccess=true"></s cr' + 'ipt>');
10 </script>
11
12 <script>
13 test(function () {
14 assert_true(jsLoaded);
15 assert_true(loadsuccess);
16 }, "Blocking script doesn't kick in since feature is disabled");
17
18 </script>
19 <script>
20 if (window.internals){
21 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(true) ;
22 internals.setNetworkStateNotifierTestOnly(true);
23 internals.setNetworkConnectionInfo('cellular2g', 2.0);
24 }
25 src = './resources/js-loaded.js';
26 jsLoaded = false;
27 loadsuccess = false;
28 document.write('<scr' + 'ipt src="' + src + '" onload="loadsuccess=true"></s cr' + 'ipt>');
29 </script>
30
31 <script>
32 test(function () {
33 assert_true(jsLoaded);
34 assert_true(loadsuccess);
35 }, "Same domain doc.written scripts are not blocked");
36 </script>
37
38 <script>
39 var jsLoaded = false;
40 var loadsuccess = false;
41
42 src = 'http://localhost:8000/loading/resources/js-loaded.js';
jkarlin 2016/04/06 14:55:31 It's subtle that this is a different origin. Can y
shivanisha 2016/04/06 20:40:09 sounds good
43 document.write('<scr' + 'ipt src="' + src + '" onload="loadsuccess=true"></s cr' + 'ipt>');
44 </script>
45
46 <script>
47 test(function () {
48 assert_true(jsLoaded);
49 assert_true(loadsuccess);
50 }, "cross-origin script not blocked since it is cached");
51
52 </script>
53 <script>
54 jsLoaded = false;
55 loadsuccess = false;
56
57 src = 'http://localhost:8000/loading/resources/js-loaded1.js';
Bryan McQuade 2016/04/06 12:37:21 great, thanks! this is fine, but you might be able
shivanisha 2016/04/06 14:18:36 Yes, this works. Removing js-loaded1.js
58 document.write('<scr' + 'ipt src="' + src + '" onload="loadsuccess=true"></s cr' + 'ipt>');
Bryan McQuade 2016/04/06 12:37:21 can we also add an onError="loadFailed=true" and a
shivanisha 2016/04/06 14:18:36 Added
59 </script>
60
61 <script>
62 test(function () {
63 assert_false(jsLoaded);
64 assert_false(loadsuccess);
65 }, "cross origin doc.written scripts are blocked");
66
67 window.addEventListener('beforeunload', function() {
68 internals.setNetworkStateNotifierTestOnly(false);
69 internals.settings.setDisallowFetchForDocWrittenScriptsInMainFrame(false );
70 }, false);
71 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698