shared-storage.https.html (1988B)
1 <!DOCTYPE html> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="/speculation-rules/prerender/resources/utils.js"></script> 5 <script src="/speculation-rules/prerender/resources/deferred-promise-utils.js"></script> 6 <body> 7 8 <script> 9 10 const params = new URLSearchParams(location.search); 11 12 // The main test page (restriction-shared-storage.https.html) loads the initiator page, 13 // then the initiator page will prerender itself with the `prerendering` 14 // parameter. 15 const isPrerendering = params.has('prerendering'); 16 17 if (!isPrerendering) { 18 loadInitiatorPage(); 19 } else { 20 const prerenderEventCollector = new PrerenderEventCollector(); 21 const test_type = params.get('type'); 22 let add_module_promise = null; 23 switch (test_type) { 24 case 'add_module': 25 add_module_promise = window.sharedStorage.worklet.addModule( 26 "shared-storage-worklet.js"); 27 28 prerenderEventCollector.start( 29 add_module_promise, 'add_module'); 30 break; 31 case 'run': 32 add_module_promise = window.sharedStorage.worklet.addModule( 33 "shared-storage-worklet.js"); 34 prerenderEventCollector.start( 35 window.sharedStorage.run("test-prerender"), 'run'); 36 break; 37 case 'select_url': 38 add_module_promise = window.sharedStorage.worklet.addModule( 39 "shared-storage-worklet.js"); 40 // Run the URL selection operation 41 const fenced_frame_promise = window.sharedStorage.selectURL( 42 "test-prerender-selection", 43 [{ 44 url: "/resources/blank.html?a=1" 45 }, 46 { 47 url: "/resources/blank.html?a=2" 48 }, 49 ], { 50 resolveToConfig: true, 51 }, 52 ); 53 prerenderEventCollector.start( 54 fenced_frame_promise, 'select_url'); 55 break; 56 default: 57 prerenderEventCollector.start( 58 window.sharedStorage.set('prerender', 'yes'), 59 'window.sharedStorage.set'); 60 } 61 } 62 </script> 63 </body>