summaryrefslogtreecommitdiffstats
path: root/dom/ipc/tests/test_bcg_processes.html
blob: 8109b59a42ba217003a252696765d3a7cb37fab6 (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
41
42
43
44
45
46
<!DOCTYPE HTML>
<html>
<head>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>

<script type="application/javascript">
"use strict";
/* eslint-env mozilla/frame-script */

add_task(async function main_test() {
  await SpecialPowers.pushPrefEnv({
    set: [["dom.ipc.processCount.webIsolated", 10]],
  });

  let frame1 = document.createElement("iframe");
  frame1.src = "http://example.com";
  document.body.appendChild(frame1);
  await new Promise(resolve => {
    frame1.addEventListener("load", resolve, { once: true })
  });
  info("frame 1 loaded");

  let frame2 = document.createElement("iframe");
  frame2.src = "http://example.com";
  document.body.appendChild(frame2);
  await new Promise(resolve => {
    frame2.addEventListener("load", resolve, { once: true })
  });
  info("frame 2 loaded");

  let id1 = await SpecialPowers.spawn(frame1, [], () => {
    return ChromeUtils.domProcessChild.childId;
  });
  let id2 = await SpecialPowers.spawn(frame2, [], () => {
    return ChromeUtils.domProcessChild.childId;
  });

  is(id1, id2, "childID for example.com subframes should match");
});

</script>
</body>
</html>