indexeddb.https.html (1473B)
1 <!DOCTYPE html> 2 <title>Same-origin prerendering can access Indexed Database</title> 3 <meta name="timeout" content="long"> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/common/utils.js"></script> 7 <script src="/common/dispatcher/dispatcher.js"></script> 8 <script src="resources/indexedb-utils.js"></script> 9 <script src="../resources/utils.js"></script> 10 <script src="resources/utils.js"></script> 11 12 <body> 13 <script> 14 setup(() => assertSpeculationRulesIsSupported()); 15 16 promise_test(async t => { 17 const db = await openIndexedDatabase(t); 18 assert_not_equals(db, null, 'Failed to open database.'); 19 await addData(db, INITIATOR_KEY, INITIATOR_VALUE); 20 21 const {exec} = await create_prerendered_page(t); 22 23 const result = await exec(async () => { 24 await import_script_to_prerendered_page("indexedb-utils.js"); 25 const db = await openIndexedDatabase(); 26 27 await addData(db, PRERENDER_KEY, PRERENDER_VALUE); 28 const result = await readData(db, INITIATOR_KEY); 29 db.close(); 30 return result; 31 }); 32 33 assert_equals( 34 result, INITIATOR_VALUE, 35 'prerendering page should be able to read from Indexed DataBase'); 36 const initiatorReadResult = await readData(db, PRERENDER_KEY); 37 assert_equals( 38 initiatorReadResult, PRERENDER_VALUE, 39 'prerendering page should be able to write to Indexed DataBase'); 40 db.close(); 41 }, 'prerendering page should be able to access Indexed DataBase') 42 </script>