<!DOCTYPE HTML>
<html>
<head>
  <title>Test for SpecialPowers.spawnChrome</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>

<script>
  add_task(async function() {
    let { browsingContextId, innerWindowId } = await SpecialPowers.spawnChrome([12, { b: 42 }], (a, b) => {
      Assert.equal(a, 12, "Arg 1");
      Assert.equal(b.b, 42, "Arg 2");

      Assert.equal(Services.appinfo.processType,
                   Services.appinfo.PROCESS_TYPE_DEFAULT,
                   "Task runs in correct process");

      return {
        browsingContextId: browsingContext.id,
        innerWindowId: windowGlobalParent.innerWindowId,
      };
    });

    let wgc = SpecialPowers.wrap(window).windowGlobalChild;
    is(browsingContextId, wgc.browsingContext.id, "Correct browsing context id");
    is(innerWindowId, wgc.innerWindowId, "Correct inner window id");
  });
</script>
</body>
</html>
