• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<style>
2  :host {
3    --google-grey-100: rgb(241, 243, 244);
4    --google-grey-900: rgb(var(--google-grey-900-rgb));
5    --google-red-700: rgb(197, 34, 31);
6
7    --shadow-color: rgba(0, 0, 0, 0.1);
8    --input-background: var(--google-grey-100);
9    --primary-color: var(--google-grey-900);
10    --warning-color: var(--google-red-700);
11  }
12
13  .blurb-container {
14    color: var(--primary-color);
15    font-size: .875rem;
16    line-height: 1.4;
17    margin-bottom: 1rem;
18  }
19
20  .blurb-warning {
21    color: var(--warning-color);
22    text-transform: uppercase;
23  }
24
25  p {
26    white-space: pre-wrap;
27  }
28
29  div:has(>#manual-enroll-input) {
30    align-items: baseline;
31    display: flex;
32    flex-direction: row;
33  }
34
35  #manual-enroll-input,
36  #filter {
37    flex-grow: 2;
38  }
39
40  div:has(>#filter-status) {
41    display: flex;
42    flex-direction: row-reverse;
43  }
44
45  #manual-enroll-input {
46    background: var(--input-background);
47    padding: 12px;
48  }
49
50  #filter {
51    background: var(--input-background) url(chrome://resources/images/icon_search.svg) no-repeat 8px 50%;
52    padding: 12px 12px 12px 36px;
53    width: 100%;
54  }
55
56  .override {
57    flex-direction: column;
58  }
59
60  .trial-header {
61    align-items: center;
62    display: flex;
63    font-weight: bold;
64  }
65
66  .expand-button {
67    background: var(--input-background) url(chrome://resources/images/icon_expand_more.svg);
68    height: 2em;
69    width: 2em;
70    margin-right: 1em;
71  }
72
73  .trial-row[data-expanded='true'] .expand-button {
74    background: var(--input-background) url(chrome://resources/images/icon_expand_more.svg);
75  }
76
77  .trial-row:not([data-expanded='true']) .expand-button {
78    background: var(--input-background) url(chrome://resources/images/icon_expand_less.svg);
79  }
80
81  #filter,
82  #manual-enroll-input {
83    border: 1px solid transparent;
84    border-radius: 3px;
85    box-sizing: border-box;
86    color: inherit;
87    font-size: .8125rem;
88  }
89
90  .trial-groups {
91    background-color: lightgrey;
92    border: 1px solid;
93    margin-bottom: .5em;
94  }
95
96  .trial-groups :has(input[type=checkbox]:checked) {
97    background-color: lightblue;
98  }
99
100  /* Hide trials if all experiments are filtered out. */
101  .trial-row[data-search-result='no-match'] {
102    display: none;
103  }
104
105  /* If a trial isn't expanded, hide groups not enrolled or overridden. */
106  #field-trial-list:not([data-expand-all='true']) .trial-row:not([data-expanded='true'])
107    .experiment-row:not([data-enrolled='1']):not(:has(input[type=checkbox]:checked)) {
108    display: none;
109  }
110
111  .experiment-row {
112    align-items: baseline;
113    display: flex;
114    padding-left: .5em;
115  }
116
117  .experiment-name {
118    flex-grow: 2;
119    max-width: calc(100% - 6em);
120    overflow-wrap: break-word;
121  }
122
123  .experiment-row[data-enrolled] .experiment-name::after {
124      content: ' (enrolled)';
125      font-weight: bold;
126  }
127
128  .hidden {
129    display: none;
130  }
131
132  .experiment-row:nth-child(odd) {
133    background-color: #c0c0c0;
134  }
135
136  .experiment-row:nth-child(even) {
137    background-color: #d0d0d0;
138  }
139
140  .experiment-row[data-search-result='match']:nth-child(odd) {
141    background-color: rgb(176, 176, 0);
142  }
143
144  .experiment-row[data-search-result='match']:nth-child(even) {
145    background-color: rgb(192, 192, 0);
146  }
147
148  .experiment-row:nth-child(odd)[data-enrolled],
149  .experiment-row:nth-child(even)[data-enrolled] {
150    background-color: rgb(170, 221, 170);
151  }
152
153  #needs-restart {
154    display: none;
155    background: white;
156    bottom: 0;
157    box-shadow: 0 -2px 2px 0 rgba(0, 0, 0, 0.1);
158    box-sizing: border-box;
159    left: 0;
160    padding: 16px;
161    position: fixed;
162    width: 100%;
163    z-index: 10;
164  }
165
166  :host([data-needs-restart='true']) #needs-restart {
167    display: block;
168  }
169
170  :host([data-needs-restart='true']) #field-trial-list {
171    padding-bottom: 6em;
172  }
173</style>
174<div class="header-box">
175  <form>
176    <div>
177      <input id="filter" placeholder="Search 'MyStudy.Group'" autocomplete="on" name="experiment-filter">
178      <div>
179        <span id="filter-status"></span>
180      </div>
181    </div>
182  </form>
183</div>
184<h1>field-trial-internals</h1>
185<div class="blurb-container">
186  <span class="blurb-warning">Warning: Experimental features ahead!</span>
187  <span>By enabling these features, you could lose browser data or
188    compromise your security or privacy. Enabled features apply to all
189    users of this browser.
190
191    Changes here apply only after restart, and are reverted after 3 restarts. Visit this page again to re-apply.
192  </span>
193</div>
194<div id="field-trial-list"></div>
195<div id="needs-restart">
196  <div class="flex-container">
197    <div class="restart-notice">Your changes will take effect the next time you relaunch Chromium.</div>
198    <div>
199      <button id="restart-button" tabindex="-1">
200        Relaunch
201      </button>
202    </div>
203  </div>
204</div>
205