summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/browsers/origin/inheritance/resources/document-write.html
blob: 7a6ff3118eb268f9ca98d794477fb968a2005db7 (plain)
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
<!DOCTYPE html>
<html>
  <head>
    <script src="/resources/testharness.js"></script>
    <script src="/common/get-host-info.sub.js"></script>
  </head>
  <body></body>
  <script>
    const domain_start = document.domain;
    const domain_new = domain_start.replace(/^[^.]+\./,'');

    async_test(test => {
      const iframe = document.createElement('iframe');
      iframe.src = './iframe-with-about-blank-iframe.html';
      iframe.onload = test.step_func_done(() => {
        const doc0 = frames[0].frames[0].document;
        const doc1 = frames[0].frames[1].document;

        assert_equals(doc0.domain, domain_start);
        assert_equals(doc1.domain, domain_start);

        doc0.open();
        doc1.open();
        assert_equals(doc0.domain, domain_start);
        assert_equals(doc1.domain, domain_start);

        document.domain = domain_new;
        assert_equals(doc0.domain, domain_start);
        assert_equals(doc1.domain, domain_start);

        doc0.close();
        doc1.close();
        assert_equals(doc0.domain, domain_start);
        assert_equals(doc1.domain, domain_start);
      });
      document.body.appendChild(iframe);
    }, "document.open() do not make the callee's origin to alias the caller's"
      + " one");
  </script>
</html>