summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/browsers/origin/origin-keyed-agent-clusters/2-iframes/parent-yes-child1-yes-subdomain-child2-no-port.sub.https.html
blob: 46bef4b9a9e9e69189acd1307207a6da5c1d2592 (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
<!DOCTYPE html>
<meta charset="utf-8">
<title>Parent is origin-keyed, subdomain child 1 is origin-keyed, non-subdomain but different-port child 2 is site-keyed</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<div id="log"></div>

<script type="module">
import {
  insertIframe,
  testDifferentAgentClusters,
  testGetter
} from "../resources/helpers.mjs";

promise_setup(async () => {
  // Order of loading should not matter, but we make it sequential to ensure the
  // tests are deterministic.
  await insertIframe("{{hosts[][www]}}", "?1");
  await insertIframe("{{hosts[][]}}:{{ports[https][1]}}");
});

// Everyone is different-origin, so everyone's request/non-request is
// respected.
//
// So, child2 ends up in the site-keyed agent cluster, and the parent and child1
// end up in two separate origin-keyed agent clusters.
testDifferentAgentClusters([self, 0], "Parent to child1");
testDifferentAgentClusters([self, 1], "Parent to child2");
testDifferentAgentClusters([0, 1], "child1 to child2");
testDifferentAgentClusters([1, 0], "child2 to child1");

testGetter(self, true, "parent");
testGetter(0, true, "child1");
testGetter(1, false, "child2");
</script>