diff options
Diffstat (limited to 'testing/web-platform/tests/html/anonymous-iframe/resources/common.js')
-rw-r--r-- | testing/web-platform/tests/html/anonymous-iframe/resources/common.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/anonymous-iframe/resources/common.js b/testing/web-platform/tests/html/anonymous-iframe/resources/common.js new file mode 100644 index 0000000000..fea3ecc5a6 --- /dev/null +++ b/testing/web-platform/tests/html/anonymous-iframe/resources/common.js @@ -0,0 +1,55 @@ +// Create a credentialless iframe. The new document will execute any scripts +// sent toward the token it returns. +const newIframeCredentialless = (child_origin, opt_headers) => { + opt_headers ||= ""; + const sub_document_token = token(); + let iframe = document.createElement('iframe'); + iframe.src = child_origin + executor_path + opt_headers + + `&uuid=${sub_document_token}`; + iframe.credentialless = true; + document.body.appendChild(iframe); + return sub_document_token; +}; + +// Create a normal iframe. The new document will execute any scripts sent +// toward the token it returns. +const newIframe = (child_origin) => { + const sub_document_token = token(); + let iframe = document.createElement('iframe'); + iframe.src = child_origin + executor_path + `&uuid=${sub_document_token}`; + iframe.credentialless = false + document.body.appendChild(iframe); + return sub_document_token; +}; + +// Create a popup. The new document will execute any scripts sent toward the +// token it returns. +const newPopup = (test, origin) => { + const popup_token = token(); + const popup = window.open(origin + executor_path + `&uuid=${popup_token}`); + test.add_cleanup(() => popup.close()); + return popup_token; +} + +// Create a fenced frame. The new document will execute any scripts sent +// toward the token it returns. +const newFencedFrame = (child_origin) => { + const support_loading_mode_fenced_frame = + "|header(Supports-Loading-Mode,fenced-frame)"; + const sub_document_token = token(); + const fencedframe = document.createElement('fencedframe'); + fencedframe.src = child_origin + executor_path + + support_loading_mode_fenced_frame + + `&uuid=${sub_document_token}`; + document.body.appendChild(fencedframe); + return sub_document_token; +}; + +const importScript = (url) => { + const script = document.createElement("script"); + script.type = "text/javascript"; + script.src = url; + const loaded = new Promise(resolve => script.onload = resolve); + document.body.appendChild(script); + return loaded; +} |