File: resize-lock.https.html

package info (click to toggle)
firefox 143.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,617,328 kB
  • sloc: cpp: 7,478,492; javascript: 6,417,157; ansic: 3,720,058; python: 1,396,372; xml: 627,523; asm: 438,677; java: 186,156; sh: 63,477; makefile: 19,171; objc: 13,059; perl: 12,983; yacc: 4,583; cs: 3,846; pascal: 3,405; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (96 lines) | stat: -rw-r--r-- 3,879 bytes parent folder | download | duplicates (18)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!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>