summaryrefslogtreecommitdiffstats
path: root/dom/tests/browser/browser_largeAllocation_non_win32.js
blob: bc3f13ec8920c3b7c4d6986a8868c9d699d50cd6 (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
let testDir = gTestPath.substr(0, gTestPath.lastIndexOf("/"));
/* import-globals-from helper_largeAllocation.js */
Services.scriptloader.loadSubScript(
  testDir + "/helper_largeAllocation.js",
  this
);

// Force-enabling the Large-Allocation header
add_task(async function() {
  info("Test 1 - force enabling the Large-Allocation header");
  await SpecialPowers.pushPrefEnv({
    set: [
      // Enable the header if it is disabled
      ["dom.largeAllocationHeader.enabled", true],
      // Force-enable process creation with large-allocation, such that non
      // win32 builds can test the behavior.
      ["dom.largeAllocation.forceEnable", true],
      // Increase processCount.webLargeAllocation to avoid any races where
      // processes aren't being cleaned up quickly enough.
      ["dom.ipc.processCount.webLargeAllocation", 20],
    ],
  });

  await largeAllocSuccessTests();
});

add_task(async function() {
  info("Test 2 - not force enabling the Large-Allocation header");
  await SpecialPowers.pushPrefEnv({
    set: [
      // Enable the header if it is disabled
      ["dom.largeAllocationHeader.enabled", true],
      // Force-enable process creation with large-allocation, such that non
      // win32 builds can test the behavior.
      ["dom.largeAllocation.forceEnable", false],
      // Increase processCount.webLargeAllocation to avoid any races where
      // processes aren't being cleaned up quickly enough.
      ["dom.ipc.processCount.webLargeAllocation", 20],
    ],
  });

  await largeAllocFailTests();
});