• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  // Contains groups of flags with variants, use by browsers
3  flags: {
4    flag-group-1: {
5      // Create variants (2 x 2 = 4) by creating the product of multiple
6      // flags and values.
7      --js-flags: [
8        null, // null => flag is not set
9        "--max-opt=1",
10        // "--max-opt=2",
11        // "--max-opt=4",
12      ],
13      --enable-fied-trial-config: [
14        null, // null => flag is not set
15        ""    // ""   => flag is set without a value
16      ]
17    },
18    // Define custom flag groups here (referenced by name):
19    chrome-custom: {
20      // Use strings to create arbitrary flag combinations
21      "deafult": "",
22      "experiment_1": "--enable-field-trial-config --disable-features=V8SlowHistograms",
23      "experiment_2": "--enable-field-trial-config --enable-features=V8SlowHistograms",
24    },
25
26    // ------------------------------------------------------------------------
27    // Examples:
28    example-group-1: {
29      // This will result in 2 x 2 = 4 flag configurations that are run:
30      //
31      //  1. no flags (both entries have a `null` variant)
32      //  2. `--js-flags=--no-opt`
33      //  3. `--js-flags=--no-opt --enable-field-trial-config`
34      //  4. `--enable-field-trial-config`
35      --js-flags: [null, "--no-opt"],
36      --enable-field-trial-config: [null, ""]
37    },
38    example-group-2: {
39      // This flag group creates 3 x 2 = 6 varaints:
40      // Use the empty string "" for flags without values
41      "--enable-fied-trial-config": "",
42      // A flag with multiple variants:
43      --js-flags: [
44        null, // variant 1: null == flag is not set
45        "--no-opt --no-ic", // variant 2
46        "--no-sparkplug",   // variant 2
47      ]
48      // Flag with two variants: unset and set
49      "--no-sandbox": [
50        null, // variant 1: null => flag is not set
51        "",   // variant 2: ""   => flag is set without value
52      ]
53    },
54  },
55
56  // --------------------------------------------------------------------------
57  // Contains browser configs
58  browsers: {
59    "chrome-stable-with-flags": {
60      // For "path" you can use a path, browser name, or a versioned browser.
61      // See '--browser' option for all possible values.
62      path: "chrome-stable",
63      # Either the browsers key ("chrome-stable-with-flags") if no label
64      # is specified, otherwise the this label property ("custom-browser-label")
65      # is used.
66      label: "custom-browser-label",
67      flags: [
68        // You can reference multiple flag-groups here, any name added to
69        // the 'flags' dict above can be used here.
70        "flag-group-1",
71        // More flag groups can be added, for instance "chrome-custom", and
72        // you get the product of all flag variants.
73        // You can also directly define fixed flags
74        // "--js-flags=--no-opt",
75      ]
76    }
77  },
78
79  // You can use either comments or other sections to hide configurations
80  // Supported browser names are:
81  // * Chrome:  chrome-stable, chrome-beta, chrome-dev, chrome-canary
82  // * Edge:    edge-stable, edge-beta, edge-dev, edge-canary
83  // * Safari:  safari, safari-tp
84  // * Firefox: firefox-stable, firefox-dev, firefox-nightly
85  browsers-disabled: {
86    "chrome-stable": {
87      browser: "chrome-stable", // or any other name
88      flags: [ /* ... add your flag groups here */ ]
89    },
90    "chromium-mac-local": {
91      path: "~/Documents/chromium/src/out/Release/Chromium.app",
92      // Use custom chromedriver binary for local builds:
93      driver: "~/Documents/chromium/src/out/Release/chromedriver"
94      flags: [ /* ... add your flag groups here */  ]
95    },
96    "chrome-android-canary": {
97      browser: "chrome-canary",
98      driver: "adb", // Just adb for a single device
99      flags: [ /* ... add your flag groups here */  ]
100    },
101    "chrome-android-canary-pixel": {
102      browser: "chrome-canary",
103      driver: {
104        type: "adb",
105        // Use unique name or serial number from `adb devices -l`
106        device_id: "Pixel_7_Pro"
107      }
108      flags: [ /* ... add your flag groups here */  ]
109    },
110    "safari": {
111      browser: "safari",
112    },
113    "safari-tech-preview": {
114      browser: "safari-tp",
115    },
116    "safari-ios": {
117      browser: "safari",
118      driver: {
119        type: "ios",
120        // Use the device UUID, see "xcrun xctrace list devices" for avilable
121        // devices and simulators.
122        device_id: "00001234-AAAA-BBBB-1111-11AA22BB33DD"
123      }
124    }
125  }
126}
127