window-outer-dimensions-inner.html (1293B)
1 <!DOCTYPE html> 2 <script src="utils.js"></script> 3 <title>Fenced frame content to report the result of prerendering</title> 4 5 <body> 6 <script> 7 async function report() { // Needed in order to use top-level await. 8 // This file is meant to run in a <fencedframe>. It reports its dimensions 9 // back to the outermost page, which in turn checks for correctness. 10 const [window_outer_size_key, window_inner_size_key, dimension, 11 extra_children] = parseKeylist(); 12 13 const url = new URL(location.href); 14 15 if (extra_children == "0") { 16 let outer_result = (dimension == "width") ? 17 window.outerWidth : window.outerHeight; 18 19 let inner_result = (dimension == "width") ? 20 window.innerWidth : window.innerHeight; 21 22 writeValueToServer(window_outer_size_key, outer_result); 23 writeValueToServer(window_inner_size_key, inner_result); 24 } else { 25 const iframe = document.createElement('iframe'); 26 const frame_url = generateURL('window-outer-dimensions-inner.html', 27 [window_outer_size_key, window_inner_size_key, dimension, 28 (parseInt(extra_children) - 1)]); 29 iframe.src = frame_url; 30 document.body.append(iframe); 31 } 32 33 } 34 report(); 35 </script> 36 </body>