summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fenced-frame/selecturl-flexible-size.https.html
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/fenced-frame/selecturl-flexible-size.https.html
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/fenced-frame/selecturl-flexible-size.https.html')
-rw-r--r--testing/web-platform/tests/fenced-frame/selecturl-flexible-size.https.html56
1 files changed, 56 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fenced-frame/selecturl-flexible-size.https.html b/testing/web-platform/tests/fenced-frame/selecturl-flexible-size.https.html
new file mode 100644
index 0000000000..6b1a07e73a
--- /dev/null
+++ b/testing/web-platform/tests/fenced-frame/selecturl-flexible-size.https.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<title>Test frame size behavior in selectURL fenced frames.</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/common/utils.js"></script>
+<script src="/common/dispatcher/dispatcher.js"></script>
+<script src="resources/utils.js"></script>
+
+<body>
+<script>
+async function runTest(original_width, original_height, new_width, new_height) {
+ // Attach a selectURL fenced frame whose outer container has dimensions
+ // `original_width` by `original_height`.
+ const frame = await attachFencedFrameContext({
+ generator_api: "sharedstorage", resolve_to_config: true,
+ attributes: [["width", original_width], ["height", original_height]]});
+
+ const assert_dimensions =
+ (label, original_width, original_height,
+ expected_width, expected_height) => {
+ assert_equals(getComputedStyle(document.documentElement).width,
+ expected_width+"px",
+ label + " the computed width (originally " + original_width
+ + ") should be " + expected_width);
+ assert_equals(window.innerWidth, expected_width,
+ label + " the innerWidth (originally " + original_width
+ + ") should be " + expected_width);
+ assert_equals(window.innerHeight, expected_height,
+ label + " the innerHeight (originally " + original_height
+ + ") should be " + expected_height);
+ }
+
+ // Assert that the fenced frame sees the original dimensions.
+ await frame.execute(assert_dimensions, ["After navigation",
+ original_width, original_height, original_width, original_height]);
+
+ // Assert that the embedder sees the fenced frame's original dimensions.
+ assert_equals(frame.width, original_width.toString(),
+ "The outer container width is the requested width.");
+ assert_equals(frame.height, original_height.toString(),
+ "The outer container height is the requested height.");
+
+ // Resize the fenced frame's outer container.
+ frame.width = new_width;
+ frame.height = new_height;
+
+ // Observe that the selectURL fenced frame sees the new size.
+ await frame.execute(assert_dimensions, ["After resizing",
+ original_width, original_height, new_width, new_height]);
+}
+
+// Exact size cases.
+promise_test(async () => { return runTest(299, 72, 100, 101); }, '299x72->100x101');
+
+</script>
+</body>