96 lines
3.8 KiB
HTML
96 lines
3.8 KiB
HTML
<!DOCTYPE html>
|
|
<title>Test cases when fenced frame size shouldn't be restricted..</title>
|
|
<meta name="timeout" content="long">
|
|
<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(api1,
|
|
expected_initial_size,
|
|
expected_size_after_resize,
|
|
api2,
|
|
expected_size_after_renavigation,
|
|
expected_size_after_reresize) {
|
|
const initial_width = 321;
|
|
const initial_height = 51;
|
|
|
|
const resized_width = 729;
|
|
const resized_height = 91;
|
|
|
|
const reresized_width = 971;
|
|
const reresized_height = 251;
|
|
|
|
var frame = await attachFencedFrameContext({
|
|
generator_api: api1, resolve_to_config: true,
|
|
attributes: [['width', initial_width], ['height', initial_height]]});
|
|
|
|
const assert_dimensions =
|
|
(expected_width, expected_height) => {
|
|
getComputedStyle(document.documentElement).width; // Force layout.
|
|
assert_equals(window.innerWidth, expected_width, "width");
|
|
assert_equals(window.innerHeight, expected_height, "height");
|
|
}
|
|
|
|
// Check that the initial size of the fenced frame is what we expect.
|
|
await frame.execute(assert_dimensions, expected_initial_size);
|
|
|
|
// Resize the frame, and check that the size is now what we expect.
|
|
frame.element.width = resized_width;
|
|
frame.element.height = resized_height;
|
|
await frame.execute(assert_dimensions, expected_size_after_resize);
|
|
|
|
// Perform an embedder-initiated navigation, and check that the size is now
|
|
// what we expect (it should be based on the new context, rather than the old
|
|
// context).
|
|
frame = await replaceFrameContext(frame, {generator_api: api2,
|
|
resolve_to_config: true});
|
|
await frame.execute(assert_dimensions, expected_size_after_renavigation);
|
|
|
|
// Resize the newly navigated frame, and check the size.
|
|
frame.element.width = reresized_width;
|
|
frame.element.height = reresized_height;
|
|
await frame.execute(assert_dimensions, expected_size_after_reresize);
|
|
}
|
|
|
|
promise_test(async () => {
|
|
return runTest('fledge', [320, 50], [320, 50],
|
|
'fledge', [728, 90], [728, 90]); },
|
|
"FLEDGE->FLEDGE");
|
|
promise_test(async () => {
|
|
return runTest('sharedstorage', [321, 51], [729, 91],
|
|
'sharedstorage', [729, 91], [971, 251]); },
|
|
"sharedStorage->sharedStorage");
|
|
promise_test(async () => {
|
|
return runTest('default', [321, 51], [729, 91],
|
|
'default', [729, 91], [971, 251]); },
|
|
"default->default");
|
|
promise_test(async () => {
|
|
return runTest('default', [321, 51], [729, 91],
|
|
'fledge', [728, 90], [728, 90]); },
|
|
"default->FLEDGE");
|
|
promise_test(async () => {
|
|
return runTest('default', [321, 51], [729, 91],
|
|
'sharedStorage', [729, 91], [971, 251]); },
|
|
"default->sharedStorage");
|
|
promise_test(async () => {
|
|
return runTest('fledge', [320, 50], [320, 50],
|
|
'default', [729, 91], [971, 251]); },
|
|
"FLEDGE->default");
|
|
promise_test(async () => {
|
|
return runTest('sharedstorage', [321, 51], [729, 91],
|
|
'default', [729, 91], [971, 251]); },
|
|
"sharedStorage->default");
|
|
promise_test(async () => {
|
|
return runTest('sharedstorage', [321, 51], [729, 91],
|
|
'fledge', [728, 90], [728, 90]); },
|
|
"sharedStorage->FLEDGE");
|
|
promise_test(async () => {
|
|
return runTest('fledge', [320, 50], [320, 50],
|
|
'sharedstorage', [729, 91], [971, 251]); },
|
|
"FLEDGE->sharedStorage");
|
|
</script>
|
|
</body>
|