48 lines
1.4 KiB
HTML
48 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="utils.js"></script>
|
|
<title>Fenced frame creating popups</title>
|
|
|
|
<body>
|
|
<script>
|
|
async function init() {
|
|
// This file is meant to run in a <fencedframe>. It sets up multiple frames
|
|
// in the following arrangements:
|
|
// 1.) A top-level fenced frame
|
|
// 2.) An iframe within a fenced frame
|
|
// 3.) A nested fenced frame
|
|
// All of the above frames create a popup which should not return a reference
|
|
// to the new window.
|
|
|
|
const [popup_noopener_key, popup_openee_key, popup_name_key, test_type] =
|
|
parseKeylist();
|
|
|
|
switch (test_type) {
|
|
case "top-level fenced frame":
|
|
src_popup = generateURL(`popup-noopener-destination.html`,
|
|
[popup_noopener_key, popup_name_key]);
|
|
const popup = window.open(src_popup, "foo");
|
|
if (popup) {
|
|
writeValueToServer(popup_openee_key, "FAIL");
|
|
} else {
|
|
writeValueToServer(popup_openee_key, "PASS");
|
|
}
|
|
break;
|
|
case "nested iframe":
|
|
const iframe = document.createElement('iframe');
|
|
document.body.append(iframe);
|
|
iframe.src = generateURL(`create-popup.html`,
|
|
[popup_noopener_key, popup_openee_key, popup_name_key]);
|
|
break;
|
|
case "nested fenced frame":
|
|
const ff =
|
|
attachFencedFrame(generateURL(`create-popup.html`,
|
|
[popup_noopener_key, popup_openee_key, popup_name_key]));
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
init();
|
|
</script>
|
|
</body>
|