Add enterprise policy for SSL error overriding
[chromium-blink-merge.git] / components / policy / resources / policy_templates.json
blobeb45ccb4fab05f92cd366c36b1ef526074c33596
2 # policy_templates.json - Metafile for policy templates
4 # The content of this file is evaluated as a Python expression.
6 # This file is used as input to generate the following policy templates:
7 # ADM, ADMX+ADML, MCX/plist and html documentation.
9 # Policy templates are user interface definitions or documents about the
10 # policies that can be used to configure Chrome. Each policy is a name-value
11 # pair where the value has a given type. Chrome looks up the values using the
12 # names of the policies. In the user interface where the values can be set,
13 # related policies might appear together in policy groups. The grouping is not
14 # visible to Chrome.
16 # This file contains a list of policies and groups. Each group contains a list
17 # of policies under the key 'policies'. All the policies and groups must have
18 # unique names. Group names are not exposed to Chrome at all.
20 # Each policy has a type. The currently implemented types:
21 #   'group': - not a real policy, contains a list of policies
22 #     NOTE: Currently nesting groups inside other groups is not supported.
23 #   'string' - a string value
24 #   'int' - an integer value
25 #   'int-enum' - the user can select an integer value from a collection of
26 #     items
27 #   'string-enum' - the user can select a string value from a collection of
28 #     items
29 #   'string-enum-list' - the user can select a set of string values from a
30 #     collection of items
31 #   'main' - a boolean value
32 #   'list' - a list of string values
33 #   'dict' - a dictionary value, containing other values indexed by strings
34 #     NOTE: This type is not supported yet. http://crbug.com/108992
35 #   'external' - a policy that references external data.
36 #     NOTE: This type is currently supported on Chrome OS only.
38 # Policy group descriptions, policy captions and similar texts are localized
39 # strings taken from the <message> nodes of the .grd file. Their name
40 # attributes are generated from the JSON keys.
41 # Each item (policy or group) may have the following messages:
42 #   - description:
43 #     Describes the item it applies to.
44 #   - caption
45 #     A short, one-line summary of the item it applies to. This can appear
46 #     both in policy or group listings or on title bars of policy-setting
47 #     windows.
48 #   - label (Optional, defaults to caption if not specified.)
49 #     A short, one-line summary of the item it applies to. The difference
50 #     from caption is that label always appears next to the entry field
51 #     where the value of the policy can be entered. 'main' policies on
52 #     Windows ignore this. Policies on Mac are using this instead of caption.
54 # Generated grd names:
55 #   Each name has two parts: the second part is either CAPTION, DESC or LABEL,
56 #   and the first part identifies the item the text applies to:
57 #   -For policies and groups:
58 #     IDS_POLICY_<NAME OF THE POLICY OR GROUP>
59 #     e.g. the name of the caption of policy HomepageLocation:
60 #       IDS_POLICY_HOMEPAGELOCATION_CAPTION
61 #     or other messages of the policy HomepageLocation:
62 #       IDS_POLICY_HOMEPAGELOCATION_LABEL
63 #       IDS_POLICY_HOMEPAGELOCATION_DESC
64 #   -For enum items:
65 #     IDS_POLICY_ENUM_<NAME OF THE ITEM>
66 #     e.g. the name of the caption of ProxyServerDisabled:
67 #       IDS_POLICY_ENUM_PROXYSERVERDISABLED_CAPTION
69 # Products and versions:
70 #   Each policy has the list of products and version numbers where it is
71 #   supported under the key 'supported_on'. Each item of this list has the
72 #   form of 'product:since_version-until_version', which means that support
73 #   for the policy in 'product' was introduced in 'since_version' and removed
74 #   after 'until_version'. Product names may contain a suffix specifying a
75 #   platform name, e.g.: 'chrome.win' is read as 'Chrome on Windows'. Version
76 #   numbers can be any string that does not contain ':' or '-' characters.
78 #   Currently supported product names:
79 #       'chrome_frame', 'chrome_os', 'android', 'ios',
80 #       'chrome.win', 'chrome.linux', 'chrome.mac', 'chrome.*'
81 #     For example if 'chrome.*:5-10' is specified for a policy, then it should
82 #     be read as:
83 #       'chrome.linux:5-10', 'chrome.mac:5-10', 'chrome.win:5-10'
85 #   The product name also affects in which templates the policy is included:
86 #     chrome.*, chrome.win, chrome_frame -> ADM, ADMX, ADML, doc
87 #     chrome.*, chrome.linux -> JSON, doc
88 #     chrome.*, chrome.mac -> plist, plist_strings, doc
89 #     everything else -> doc
91 #   The default list of policies supported by Chrome is also generated based
92 #   on the product names:
93 #     chrome.* -> Chrome policy definition list
94 #     chrome_os -> Chrome policy definition list, when building OS_CHROMEOS
96 # Annotations:
97 #   Additional information is specified under keys 'features' and
98 #   'example_value'. These are used in the generated documentation and example
99 #   policy configuration files. 'dynamic_refresh' controls if the generated
100 #   documentation should state that the policy supports dynamic refresh or not.
101 #   Supporting dynamic refresh means that Chrome respects the changes to the
102 #   policy immediately, without the need for restart.
103 #   'can_be_mandatory' can be set to False to exclude that policy in the
104 #   mandatory policies template. This only affects the template generation;
105 #   The default is True.
106 #   'can_be_recommended' can be set to True to include that policy in the
107 #   recommended policies templates. This only affects the template generation;
108 #   all policies can be at the recommended level. The default is False.
110 #   The 'max_size' key is used to specify the maximal size of the external data
111 #   that a policy can reference, in bytes. This annotation is compulsory for
112 #   policies of type 'external'. It is ignored for all other policy types.
114 #   The 'future' key is used to indicate that a policy isn't yet ready for
115 #   usage. It defaults to False, and currently affects the generated policy
116 #   templates and documentation. The policy definition list that Chrome sees
117 #   will include policies marked with 'future'. If a WIP policy isn't meant to
118 #   be seen by the policy providers either, the 'supported_on' key should be set
119 #   to an empty list.
121 # IDs:
122 #   Since a Protocol Buffer definition is generated from this file, unique and
123 #   persistent IDs for all fields (but not for groups!) are needed. These are
124 #   specified by the 'id' keys of each policy. NEVER CHANGE EXISTING IDs,
125 #   because doing so would break the deployed wire format!
126 #   For your editing convenience: highest ID currently used: 300
128 # Placeholders:
129 #   The following placeholder strings are automatically substituted:
130 #     $1 -> Google Chrome / Chromium
131 #     $2 -> Google Chrome OS / Chromium OS
132 #     $3 -> Google Chrome Frame / Chromium Frame
133 #     $6 is reserved for doc_writer
135 # Device Policy:
136 #   An additional flag device_only (optional, defaults to False) indicates
137 #   that this policy is only supported as a device-level Cloud Policy.
138 #   In that case no entry in the UserPolicy Protobuf is generated and
139 #   it is assumed that it will be added to the DevicePolicy Protobuf manually.
141 # Enterprise defaults:
142 #   An optional key 'default_for_enterprise_users' contains value that's set for
143 #   enterprise users as a default.
145   'policy_definitions': [
146     {
147       'name': 'Homepage',
148       'type': 'group',
149       'caption': '''Home page''',
150       'desc': '''Configure the default home page in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing it.
152       The user's home page settings are only completely locked down, if you either select the home page to be the new tab page, or set it to be a URL and specify a home page URL. If you don't specify the home page URL, then the user is still able to set the home page to the new tab page by specifying 'chrome://newtab'.''',
153       'policies': [
154         {
155           'name': 'HomepageLocation',
156           'type': 'string',
157           'schema': { 'type': 'string' },
158           'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
159           'features': {
160             'can_be_recommended': True,
161             'dynamic_refresh': True,
162             'per_profile': True,
163           },
164           'example_value': 'http://chromium.org',
165           'id': 1,
166           'caption': '''Configure the home page URL''',
167           'desc': '''Configures the default home page URL in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing it.
169           The home page is the page opened by the Home button. The pages that open on startup are controlled by the RestoreOnStartup policies.
171           The home page type can either be set to a URL you specify here or set to the New Tab Page. If you select the New Tab Page, then this policy does not take effect.
173           If you enable this setting, users cannot change their home page URL in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>, but they can still can choose the New Tab Page as their home page.
175           Leaving this policy not set will allow the user to choose his home page on his own if HomepageIsNewTabPage is not set too.
177           This policy is not available on Windows instances that are not joined
178           to an Active Directory domain.''',
179           'label': '''Home page URL''',
180         },
181         {
182           'name': 'HomepageIsNewTabPage',
183           'type': 'main',
184           'schema': { 'type': 'boolean' },
185           'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
186           'features': {
187             'can_be_recommended': True,
188             'dynamic_refresh': True,
189             'per_profile': True,
190           },
191           'example_value': True,
192           'id': 2,
193           'caption': '''Use New Tab Page as homepage''',
194           'desc': '''Configures the type of the default home page in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing home page preferences. The home page can either be set to a URL you specify or set to the New Tab Page.
196           If you enable this setting, the New Tab Page is always used for the home page, and the home page URL location is ignored.
198           If you disable this setting, the user's homepage will never be the New Tab Page, unless its URL is set to 'chrome://newtab'.
200           If you enable or disable this setting, users cannot change their homepage type in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
202           Leaving this policy not set will allow the user to choose whether the new tab page is his home page on his own.
204           This policy is not available on Windows instances that are not joined
205           to an Active Directory domain.''',
206         },
207       ],
208     },
209     {
210       'name': 'DefaultBrowserSettingEnabled',
211       'type': 'main',
212       'schema': { 'type': 'boolean' },
213       'supported_on': ['chrome.*:11-'],
214       'features': {
215         'dynamic_refresh': True,
216         'per_profile': False,
217       },
218       'example_value': True,
219       'id': 3,
220       'caption': '''Set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> as Default Browser''',
221       'desc': '''Configures the default browser checks in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing them.
223       If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will always check on startup whether it is the default browser and automatically register itself if possible.
225       If this setting is disabled, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will never check if it is the default browser and will disable user controls for setting this option.
227       If this setting is not set, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will allow the user to control whether it is the default browser and whether user notifications should be shown when it isn't.''',
228       'label': '''Set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> as Default Browser''',
229     },
230     {
231       'name': 'ApplicationLocaleValue',
232       'type': 'string',
233       'schema': { 'type': 'string' },
234       'supported_on': ['chrome.win:8-'],
235       'features': {
236         'can_be_recommended': True,
237         'dynamic_refresh': False,
238         'per_profile': False,
239       },
240       'example_value': 'en',
241       'id': 4,
242       'caption': '''Application locale''',
243       'desc': '''Configures the application locale in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing the locale.
245       If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> uses the specified locale. If the configured locale is not supported, 'en-US' is used instead.
247       If this setting is disabled or not set, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> uses either the user-specified preferred locale (if configured), the system locale or the fallback locale 'en-US'.''',
248       'label': '''Application locale''',
249     },
250     {
251       'name': 'AlternateErrorPagesEnabled',
252       'type': 'main',
253       'schema': { 'type': 'boolean' },
254       'supported_on': [
255         'chrome.*:8-',
256         'chrome_os:11-',
257         'android:30-',
258       ],
259       'features': {
260         'can_be_recommended': True,
261         'dynamic_refresh': True,
262         'per_profile': True,
263       },
264       'example_value': True,
265       'id': 5,
266       'caption': '''Enable alternate error pages''',
267       'desc': '''Enables the use of alternate error pages that are built into <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> (such as 'page not found') and prevents users from changing this setting.
269       If you enable this setting, alternate error pages are used.
271       If you disable this setting, alternate error pages are never used.
273       If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
275       If this policy is left not set, this will be enabled but the user will be able to change it.''',
276     },
277     {
278       'name': 'SearchSuggestEnabled',
279       'type': 'main',
280       'schema': { 'type': 'boolean' },
281       'supported_on': [
282         'chrome.*:8-',
283         'chrome_os:11-',
284         'android:30-',
285         'ios:34-',
286       ],
287       'features': {
288         'can_be_recommended': True,
289         'dynamic_refresh': True,
290         'per_profile': True,
291       },
292       'example_value': True,
293       'id': 6,
294       'caption': '''Enable search suggestions''',
295       'desc': '''Enables search suggestions in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s omnibox and prevents users from changing this setting.
297       If you enable this setting, search suggestions are used.
299       If you disable this setting, search suggestions are never used.
301       If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
303       If this policy is left not set, this will be enabled but the user will be able to change it.''',
304     },
305     {
306       'name': 'DnsPrefetchingEnabled',
307       'type': 'main',
308       'schema': { 'type': 'boolean' },
309       'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
310       'features': {
311         'can_be_recommended': True,
312         'dynamic_refresh': True,
313         'per_profile': True,
314       },
315       'example_value': True,
316       'id': 7,
317       'caption': '''Enable network prediction''',
318       'desc': '''Enables network prediction in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
320       This controls not only DNS prefetching but also TCP and SSL preconnection and prerendering of web pages. The policy name refers to DNS prefetching for historical reasons.
322       If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
324       If this policy is left not set, this will be enabled but the user will be able to change it.''',
325     },
326     {
327       'name': 'NetworkPredictionOptions',
328       'type': 'int-enum',
329       'schema': {
330         'type': 'integer',
331         'enum': [ 0, 1, 2 ],
332       },
333       'items': [
334         {
335           'name': 'NetworkPredictionAlways',
336           'value': 0,
337           'caption': '''Predict network actions on any network connection''',
338         },
339         {
340           'name': 'NetworkPredictionWifiOnly',
341           'value': 1,
342           'caption': '''Predict network actions on any network that is not
343           cellular''',
344         },
345         {
346           'name': 'NetworkPredictionNever',
347           'value': 2,
348           'caption': '''Do not predict network actions on any network connection''',
349         },
350       ],
351       'supported_on': ['chrome.*:38-', 'chrome_os:38-', 'android:38-'],
352       'features': {
353         'can_be_recommended': True,
354         'dynamic_refresh': True,
355         'per_profile': True,
356       },
357       'example_value': 1,
358       'id': 273,
359       'caption': '''Enable network prediction''',
360       'desc': '''Enables network prediction in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
362       This controls DNS prefetching, TCP and SSL preconnection and prerendering of web pages.
364       If you set this preference to 'always', 'never', or 'WiFi only', users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
366       If this policy is left not set, network prediction will be enabled but the user will be able to change it.''',
367     },
368     {
369       'name': 'WPADQuickCheckEnabled',
370       'type': 'main',
371       'schema': { 'type': 'boolean' },
372       'supported_on': [ 'chrome.*:35-', 'chrome_os:35-' ],
373       'features': {
374         'dynamic_refresh': False,
375         'per_profile': False,
376       },
377       'example_value': True,
378       'id': 261,
379       'caption': '''Enable WPAD optimization''',
380       'desc': '''Enables WPAD optimization in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
382       Setting this to enabled causes <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to wait for a shorter interval for DNS-based WPAD servers.
384       If this policy is left not set, this will be enabled and the user will not
385       be able to change it.''',
386     },
387     {
388       'name': 'DisableSpdy',
389       'type': 'main',
390       'schema': { 'type': 'boolean' },
391       'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
392       'features': {
393         'dynamic_refresh': True,
394         'per_profile': False,
395       },
396       'example_value': True,
397       'id': 8,
398       'caption': '''Disable SPDY protocol''',
399       'desc': '''Disables use of the SPDY protocol in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
401       If this policy is enabled the SPDY protocol will not be available in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
403       Setting this policy to disabled will allow the usage of SPDY.
405       If this policy is left not set, SPDY will be available.''',
406     },
407     {
408       'name': 'DisabledSchemes',
409       'type': 'list',
410       'schema': {
411         'type': 'array',
412         'items': { 'type': 'string' },
413       },
414       'supported_on': ['chrome.*:12-', 'chrome_os:12-'],
415       'features': {
416         'dynamic_refresh': True,
417         'per_profile': True,
418       },
419       'deprecated': True,
420       'example_value': ['file', 'https'],
421       'id': 85,
422       'caption': '''Disable URL protocol schemes''',
423       'desc': '''This policy is deprecated, please use URLBlacklist instead.
425       Disables the listed protocol schemes in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
427       URLs using a scheme from this list will not load and can not be navigated to.
429       If this policy is left not set or the list is empty all schemes will be accessible in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.''',
430       'label': '''List of disabled protocol schemes''',
431     },
432     {
433       'name': 'JavascriptEnabled',
434       'type': 'main',
435       'schema': { 'type': 'boolean' },
436       'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
437       'features': {
438         'dynamic_refresh': True,
439         'per_profile': True,
440       },
441       'deprecated': True,
442       'example_value': True,
443       'id': 9,
444       'caption': '''Enable JavaScript''',
445       'desc': '''This policy is deprecated, please use DefaultJavaScriptSetting instead.
447       Can be used to disabled JavaScript in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
449       If this setting is disabled, web pages cannot use JavaScript and the user cannot change that setting.
451       If this setting is enabled or not set, web pages can use JavaScript but the user can change that setting.''',
452     },
453     {
454       'name': 'IncognitoEnabled',
455       'type': 'main',
456       'schema': { 'type': 'boolean' },
457       'supported_on': ['chrome.*:11-', 'chrome_os:11-', 'android:30-'],
458       'features': {
459         'dynamic_refresh': True,
460         'per_profile': True,
461       },
462       'deprecated': True,
463       'example_value': False,
464       'id': 10,
465       'caption': '''Enable Incognito mode''',
466       'desc': '''This policy is deprecated. Please, use IncognitoModeAvailability instead.
467       Enables Incognito mode in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
469       If this setting is enabled or not configured, users can open web pages in incognito mode.
471       If this setting is disabled, users cannot open web pages in incognito mode.
473       If this policy is left not set, this will be enabled and the user will be able to use incognito mode.''',
474     },
475     {
476       'name': 'IncognitoModeAvailability',
477       'type': 'int-enum',
478       'schema': {
479         'type': 'integer',
480         'enum': [ 0, 1, 2 ],
481       },
482       'items': [
483         {
484           'name': 'Enabled',
485           'value': 0,
486           'caption': '''Incognito mode available''',
487         },
488         {
489           'name': 'Disabled',
490           'value': 1,
491           'caption': '''Incognito mode disabled''',
492         },
493         {
494           'name': 'Forced',
495           'value': 2,
496           'caption': '''Incognito mode forced''',
497         },
498       ],
499       'supported_on': [
500         'chrome.*:14-',
501         'chrome_os:14-',
502         'android:30-',
503       ],
504       'features': {
505         'dynamic_refresh': True,
506         'per_profile': True,
507       },
508       'example_value': 1,
509       'id': 93,
510       'caption': '''Incognito mode availability''',
511       'desc': '''Specifies whether the user may open pages in Incognito mode in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
513       If 'Enabled' is selected or the policy is left unset, pages may be opened in Incognito mode.
515       If 'Disabled' is selected, pages may not be opened in Incognito mode.
517       If 'Forced' is selected, pages may be opened ONLY in Incognito mode.''',
518     },
519     {
520       'name': 'SavingBrowserHistoryDisabled',
521       'type': 'main',
522       'schema': { 'type': 'boolean' },
523       'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
524       'features': {
525         'dynamic_refresh': True,
526         'per_profile': True,
527       },
528       'example_value': True,
529       'id': 11,
530       'caption': '''Disable saving browser history''',
531       'desc': '''Disables saving browser history in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
533       If this setting is enabled, browsing history is not saved. This setting also disables tab syncing.
535       If this setting is disabled or not set, browsing history is saved.''',
536     },
537     {
538       'name': 'AllowDeletingBrowserHistory',
539       'future': True,
540       'type': 'main',
541       'schema': { 'type': 'boolean' },
542       # TODO(pamg): Restore the correct 'supported' line when the UI properly
543       # shows that deleting browser history is disabled. Also fix the 'os' line
544       # in policy_test_cases.json.
545       # 'supported_on': ['chrome.*:27-', 'chrome_os:27-'],
546       'supported_on': [],
547       'features': {
548         'dynamic_refresh': True,
549         'per_profile': True,
550       },
551       'example_value': True,
552       'id': 187,
553       'caption': '''Enable deleting browser and download history''',
554       'desc': '''Enables deleting browser history and download history in <ph name="PRODUCT_NAME">$<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
556       Note that even with this policy disabled, the browsing and download history are not guaranteed to be retained: users may be able to edit or delete the history database files directly, and the browser itself may expire or archive any or all history items at any time.
558       If this setting is enabled or not set, browsing and download history can be deleted.
560       If this setting is disabled, browsing and download history cannot be deleted.''',
561     },
562     {
563       'name': 'RemoteAccess',
564       'type': 'group',
565       'caption': '''Configure remote access options''',
566       'desc': '''Configure remote access options in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
568       These features are ignored unless the Remote Access web application is installed.''',
569       'policies': [
570         {
571           'name': 'RemoteAccessClientFirewallTraversal',
572           'type': 'main',
573           'schema': { 'type': 'boolean' },
574           'supported_on': ['chrome.*:14-16', 'chrome_os:14-16'],
575           'features': {
576             'dynamic_refresh': True,
577           },
578           # Mark this 'removed' when http://crbug.com/100216 is resolved.
579           'deprecated': True,
580           'example_value': False,
581           'id': 94,
582           'caption': '''Enable firewall traversal from remote access client''',
583           'desc': '''This policy is no longer supported.
584           Enables usage of STUN and relay servers when connecting to a remote client.
586           If this setting is enabled, then this machine can discover and connect to remote host machines even if they are separated by a firewall.
588           If this setting is disabled and outgoing UDP connections are filtered by the firewall, then this machine can only connect to host machines within the local network.''',
589         },
590         {
591           'name': 'RemoteAccessHostFirewallTraversal',
592           'type': 'main',
593           'schema': { 'type': 'boolean' },
594           'supported_on': ['chrome.*:14-', 'chrome_os:41-'],
595           'features': {
596             'dynamic_refresh': True,
597             'per_profile': False,
598           },
599           'example_value': False,
600           'id': 95,
601           'caption': '''Enable firewall traversal from remote access host''',
602           'desc': '''Enables usage of STUN servers when remote clients are trying to establish a connection to this machine.
604           If this setting is enabled, then remote clients can discover and connect to this machines even if they are separated by a firewall.
606           If this setting is disabled and outgoing UDP connections are filtered by the firewall, then this machine will only allow connections from client machines within the local network.
608           If this policy is left not set the setting will be enabled.''',
609         },
610         {
611           'name': 'RemoteAccessHostDomain',
612           'type': 'string',
613           'schema': { 'type': 'string' },
614           'supported_on': ['chrome.*:22-', 'chrome_os:41-'],
615           'features': {
616             'dynamic_refresh': True,
617             'per_profile': False,
618           },
619           'example_value': 'my-awesome-domain.com',
620           'id': 154,
621           'caption': '''Configure the required domain name for remote access hosts''',
622           'desc': '''Configures the required host domain name that will be imposed on remote access hosts and prevents users from changing it.
624           If this setting is enabled, then hosts can be shared only using accounts registered on the specified domain name.
626           If this setting is disabled or not set, then hosts can be shared using any account.''',
627         },
628         {
629           'name': 'RemoteAccessHostRequireTwoFactor',
630           'type': 'main',
631           'schema': { 'type': 'boolean' },
632           'supported_on': ['chrome.*:22-22'],
633           'features': {
634             'dynamic_refresh': True,
635             'per_profile': False,
636           },
637           # Mark this 'removed' when http://crbug.com/100216 is resolved.
638           'deprecated': True,
639           'example_value': False,
640           'id': 155,
641           'caption': '''Enable two-factor authentication for remote access hosts''',
642           'desc': '''Enables two-factor authentication for remote access hosts instead of a user-specified PIN.
644           If this setting is enabled, then users must provide a valid two-factor code when accessing a host.
646           If this setting is disabled or not set, then two-factor will not be enabled and the default behavior of having a user-defined PIN will be used.''',
647         },
648         {
649           'name': 'RemoteAccessHostTalkGadgetPrefix',
650           'type': 'string',
651           'schema': { 'type': 'string' },
652           'supported_on': ['chrome.*:22-', 'chrome_os:41-'],
653           'features': {
654             'dynamic_refresh': True,
655             'per_profile': False,
656           },
657           'example_value': 'chromoting-host',
658           'id': 156,
659           'caption': '''Configure the TalkGadget prefix for remote access hosts''',
660           'desc': '''Configures the TalkGadget prefix that will be used by remote access hosts and prevents users from changing it.
662           If specified, this prefix is prepended to the base TalkGadget name to create a full domain name for the TalkGadget. The base TalkGadget domain name is '.talkgadget.google.com'.
664           If this setting is enabled, then hosts will use the custom domain name when accessing the TalkGadget instead of the default domain name.
666           If this setting is disabled or not set, then the default TalkGadget domain name ('chromoting-host.talkgadget.google.com') will be used for all hosts.
668           Remote access clients are not affected by this policy setting. They will always use 'chromoting-client.talkgadget.google.com' to access the TalkGadget.''',
669         },
670         {
671           'name': 'RemoteAccessHostRequireCurtain',
672           'type': 'main',
673           'schema': { 'type': 'boolean' },
674           'supported_on': ['chrome.*:23-', 'chrome_os:41-'],
675           'features': {
676             'dynamic_refresh': True,
677             'per_profile': False,
678           },
679           'example_value': False,
680           'id': 157,
681           'caption': '''Enable curtaining of remote access hosts''',
682           'desc': '''Enables curtaining of remote access hosts while a connection is in progress.
684           If this setting is enabled, then hosts' physical input and output devices are disabled while a remote connection is in progress.
686           If this setting is disabled or not set, then both local and remote users can interact with the host when it is being shared.''',
687         },
688         {
689           'name': 'RemoteAccessHostAllowClientPairing',
690           'type': 'main',
691           'schema': { 'type': 'boolean' },
692           'supported_on': ['chrome.*:30-', 'chrome_os:41-'],
693           'features': {
694             'dynamic_refresh': True,
695             'per_profile': False,
696           },
697           'example_value': False,
698           'id': 234,
699           'caption': '''Enable or disable PIN-less authentication for remote access hosts''',
700           'desc': '''If this setting is enabled or not configured, then users can opt to pair clients and hosts at connection time, eliminating the need to enter a PIN every time.
702           If this setting is disabled, then this feature will not be available.''',
703         },
704         {
705           'name': 'RemoteAccessHostAllowGnubbyAuth',
706           'type': 'main',
707           'schema': { 'type': 'boolean' },
708           'supported_on': ['chrome.*:35-', 'chrome_os:41-'],
709           'features': {
710             'dynamic_refresh': True,
711             'per_profile': False,
712           },
713           'example_value': True,
714           'id': 257,
715           'caption': '''Allow gnubby authentication for remote access hosts''',
716           'desc': '''If this setting is enabled, then gnubby authentication requests will be proxied across a remote host connection.
718           If this setting is disabled or not configured, gnubby authentication requests will not be proxied.''',
719         },
720         {
721           'name': 'RemoteAccessHostAllowRelayedConnection',
722           'type': 'main',
723           'schema': { 'type': 'boolean' },
724           'supported_on': ['chrome.*:36-', 'chrome_os:41-'],
725           'features': {
726             'dynamic_refresh': True,
727             'per_profile': False,
728           },
729           'example_value': False,
730           'id': 263,
731           'caption': '''Enable the use of relay servers by the remote access host''',
732           'desc': '''Enables usage of relay servers when remote clients are trying to establish a connection to this machine.
734           If this setting is enabled, then remote clients can use relay servers to connect to this machine when a direct connection is not available (e.g. due to firewall restrictions).
736           Note that if the policy <ph name="REMOTEACCESSHOSTFIREWALLTRAVERSAL_POLICY_NAME">RemoteAccessHostFirewallTraversal</ph> is disabled, this policy will be ignored.
738           If this policy is left not set the setting will be enabled.''',
739         },
740         {
741           'name': 'RemoteAccessHostUdpPortRange',
742           'type': 'string',
743           'schema': { 'type': 'string' },
744           'supported_on': ['chrome.*:36-', 'chrome_os:41-'],
745           'features': {
746             'dynamic_refresh': True,
747             'per_profile': False,
748           },
749           'example_value': '12400-12409',
750           'id': 264,
751           'caption': '''Restrict the UDP port range used by the remote access host''',
752           'desc': '''Restricts the UDP port range used by the remote access host in this machine.
754           If this policy is left not set, or if it is set to an empty string, the remote access host will be allowed to use any available port, unless the policy <ph name="REMOTEACCESSHOSTFIREWALLTRAVERSAL_POLICY_NAME">RemoteAccessHostFirewallTraversal</ph> is disabled, in which case the remote access host will use UDP ports in the 12400-12409 range.''',
755         },
756         {
757           'name': 'RemoteAccessHostMatchUsername',
758           'type': 'main',
759           'schema': { 'type': 'boolean' },
760           'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome_os:42-'],
761           'features': {
762             'dynamic_refresh': True,
763             'per_profile': False,
764           },
765           'example_value': False,
766           'id': 285,
767           'caption': '''Requires that the name of the local user and the remote access host owner match''',
768           'desc': '''Requires that the name of the local user and the remote access host owner match.
770           If this setting is enabled, then the remote access host compares the name of the local user (that the host is associated with) and the name of the Google account registered as the host owner (i.e. "johndoe" if the host is owned by "johndoe@example.com" Google account).  The remote access host will not start if the name of the host owner is different from the name of the local user that the host is associated with.  RemoteAccessHostMatchUsername policy should be used together with RemoteAccessHostDomain to also enforce that the Google account of the host owner is associated with a specific domain (i.e. "example.com").
772           If this setting is disabled or not set, then the remote access host can be associated with any local user.''',
773         },
774         {
775           'name': 'RemoteAccessHostTokenUrl',
776           'type': 'string',
777           'schema': { 'type': 'string' },
778           'supported_on': ['chrome.*:28-','chrome_os:42-'],
779           'features': {
780             'dynamic_refresh': True,
781             'per_profile': False,
782           },
783           'example_value': 'https://example.com/issue',
784           'id': 286,
785           'caption': '''URL where remote access clients should obtain their authentication token''',
786           'desc': '''URL where remote access clients should obtain their authentication token.
788           If this policy is set, the remote access host will require authenticating clients to obtain an authentication token from this URL in order to connect. Must be used in conjunction with RemoteAccessHostTokenValidationUrl.
790           This feature is currently disabled server-side.''',
791         },
792         {
793           'name': 'RemoteAccessHostTokenValidationUrl',
794           'type': 'string',
795           'schema': { 'type': 'string' },
796           'supported_on': ['chrome.*:28-','chrome_os:42-'],
797           'features': {
798             'dynamic_refresh': True,
799             'per_profile': False,
800           },
801           'example_value': 'https://example.com/validate',
802           'id': 287,
803           'caption': '''URL for validating remote access client authentication token''',
804           'desc': '''URL for validating remote access client authentication token.
806           If this policy is set, the remote access host will use this URL to validate authentication tokens from remote access clients, in order to accept connections. Must be used in conjunction with RemoteAccessHostTokenUrl.
808           This feature is currently disabled server-side.''',
809         },
810         {
811           'name': 'RemoteAccessHostTokenValidationCertificateIssuer',
812           'type': 'string',
813           'schema': { 'type': 'string' },
814           'supported_on': ['chrome.*:28-','chrome_os:42-'],
815           'features': {
816             'dynamic_refresh': True,
817             'per_profile': False,
818           },
819           'example_value': 'Example Certificate Authority',
820           'id': 288,
821           'caption': '''Client certificate for connecting to RemoteAccessHostTokenValidationUrl''',
822           'desc': '''Client certificate for connecting to RemoteAccessHostTokenValidationUrl.
824           If this policy is set, the host will use a client certificate with the given issuer CN to authenticate to RemoteAccessHostTokenValidationUrl. Set it to "*" to use any available client certificate.
826           This feature is currently disabled server-side.''',
827         },
828         {
829           'name': 'RemoteAccessHostDebugOverridePolicies',
830           'type': 'string',
831           'schema': { 'type': 'string' },
832           'supported_on': ['chrome.*:25-','chrome_os:42-'],
833           'features': {
834             'dynamic_refresh': True,
835             'per_profile': False,
836           },
837           'example_value': '{ "RemoteAccessHostMatchUsername": true }',
838           'id': 289,
839           'caption': '''Policy overrides for Debug builds of the remote access host''',
840           'desc': '''Overrides policies on Debug builds of the remote access host.
842           The value is parsed as a JSON dictionary of policy name to policy value mappings.''',
843         },
844       ],
845     },
846     {
847       'name': 'PrintingEnabled',
848       'type': 'main',
849       'schema': { 'type': 'boolean' },
850       'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:39-'],
851       'features': {
852         'dynamic_refresh': True,
853         'per_profile': True,
854       },
855       'example_value': True,
856       'id': 12,
857       'caption': '''Enable printing''',
858       'desc': '''Enables printing in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
860       If this setting is enabled or not configured, users can print.
862       If this setting is disabled, users cannot print from <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>. Printing is disabled in the wrench menu, extensions, JavaScript applications, etc. It is still possible to print from plugins that bypass <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> while printing. For example, certain Flash applications have the print option in their context menu, which is not covered by this policy.''',
863     },
864     {
865       'name': 'CloudPrintProxyEnabled',
866       'type': 'main',
867       'schema': { 'type': 'boolean' },
868       'supported_on': ['chrome.*:17-'],
869       'features': {
870         'dynamic_refresh': True,
871         'per_profile': True,
872       },
873       'example_value': True,
874       'id': 13,
875       'caption': '''Enable <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> proxy''',
876       'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to act as a proxy between <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> and legacy printers connected to the machine.
878       If this setting is enabled or not configured, users can enable the cloud print proxy by authentication with their Google account.
880       If this setting is disabled, users cannot enable the proxy, and the machine will not be allowed to share it's printers with <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>.''',
881     },
882     {
883       'name': 'ForceSafeSearch',
884       'type': 'main',
885       'schema': { 'type': 'boolean' },
886       'supported_on': ['chrome.*:25-', 'chrome_os:25-', 'android:30-'],
887       'features': {
888         'can_be_recommended': False,
889         'dynamic_refresh': True,
890         'per_profile': True,
891       },
892       'deprecated': True,
893       'example_value': False,
894       'id': 162,
895       'caption': '''Force SafeSearch''',
896       'desc': '''This policy is deprecated, please use ForceGoogleSafeSearch and ForceYouTubeSafetyMode instead. This policy will be ignored if either the ForceGoogleSafeSearch or ForceYouTubeSafetyMode policies are set.
898       Forces queries in Google Web Search to be done with SafeSearch set to active and prevents users from changing this setting. This setting also forces Safety Mode on YouTube.
900       If you enable this setting, SafeSearch in Google Search and YouTube is always active.
902       If you disable this setting or do not set a value, SafeSearch in Google Search and YouTube is not enforced.''',
903     },
904     {
905       'name': 'ForceGoogleSafeSearch',
906       'type': 'main',
907       'schema': { 'type': 'boolean' },
908       'supported_on': ['chrome.*:41-', 'chrome_os:41-', 'android:41-'],
909       'features': {
910         'can_be_recommended': False,
911         'dynamic_refresh': True,
912         'per_profile': True,
913       },
914       'example_value': False,
915       'id': 282,
916       'caption': '''Force Google SafeSearch''',
917       'desc': '''Forces queries in Google Web Search to be done with SafeSearch set to active and prevents users from changing this setting.
919       If you enable this setting, SafeSearch in Google Search is always active.
921       If you disable this setting or do not set a value, SafeSearch in Google Search is not enforced.''',
922     },
923     {
924       'name': 'ForceYouTubeSafetyMode',
925       'type': 'main',
926       'schema': { 'type': 'boolean' },
927       'supported_on': ['chrome.*:41-', 'chrome_os:41-', 'android:41-'],
928       'features': {
929         'can_be_recommended': False,
930         'dynamic_refresh': True,
931         'per_profile': True,
932       },
933       'example_value': False,
934       'id': 283,
935       'caption': '''Force YouTube Safety Mode''',
936       'desc': '''Forces YouTube Safety Mode to active and prevents users from changing this setting.
938       If you enable this setting, Safety Mode on YouTube is always active.
940       If you disable this setting or do not set a value, Safety Mode on YouTube is not enforced.''',
941     },
942     {
943       'name': 'SafeBrowsingEnabled',
944       'type': 'main',
945       'schema': { 'type': 'boolean' },
946       'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
947       'features': {
948         'can_be_recommended': True,
949         'dynamic_refresh': True,
950         'per_profile': True,
951       },
952       'example_value': True,
953       'id': 14,
954       'caption': '''Enable Safe Browsing''',
955       'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s Safe Browsing feature and prevents users from changing this setting.
957       If you enable this setting, Safe Browsing is always active.
959       If you disable this setting, Safe Browsing is never active.
961       If you enable or disable this setting, users cannot change or override the "Enable phishing and malware protection" setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
963       If this policy is left not set, this will be enabled but the user will be able to change it.''',
964     },
965     {
966       'name': 'MetricsReportingEnabled',
967       'type': 'main',
968       'schema': { 'type': 'boolean' },
969       'supported_on': ['chrome.*:8-'],
970       'features': {
971         'can_be_recommended': True,
972         'dynamic_refresh': False,
973         'per_profile': False,
974       },
975       'example_value': True,
976       'id': 15,
977       'caption': '''Enable reporting of usage and crash-related data''',
978       'desc': '''Enables anonymous reporting of usage and crash-related data about <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to Google and prevents users from changing this setting.
980       If you enable this setting, anonymous reporting of usage and crash-related data is sent to Google.
982       If you disable this setting, anonymous reporting of usage and crash-related data is never sent to Google.
984       If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
986       If this policy is left not set the setting will be what the user chose upon installation / first run.
988       This policy is not available on Windows instances that are not joined to
989       an Active Directory domain.''',
990     },
991     {
992       'name': 'PasswordManager',
993       'type': 'group',
994       'caption': '''Password manager''',
995       'desc': '''Configures the password manager. If the password manager is enabled, then you can choose to enable or disable whether the user may show stored passwords in clear text.''',
996       'policies': [
997         {
998           'name': 'PasswordManagerEnabled',
999           'type': 'main',
1000           'schema': { 'type': 'boolean' },
1001           'supported_on': [
1002             'chrome.*:8-',
1003             'chrome_os:11-',
1004             'android:30-',
1005             'ios:34-',
1006           ],
1007           'features': {
1008             'can_be_recommended': True,
1009             'dynamic_refresh': True,
1010             'per_profile': True,
1011           },
1012           'example_value': True,
1013           'id': 16,
1014           'caption': '''Enable the password manager''',
1015           'desc': '''Enables saving passwords and using saved passwords in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1017           If you enable this setting, users can have <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> memorize passwords and provide them automatically the next time they log in to a site.
1019           If you disable this setting, users are not able to save passwords or use already saved passwords.
1021           If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1023           If this policy is left not set, this will be enabled but the user will be able to change it.''',
1024         },
1025         {
1026           'name': 'PasswordManagerAllowShowPasswords',
1027           'type': 'main',
1028           'schema': { 'type': 'boolean' },
1029           'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
1030           'features': {
1031             'dynamic_refresh': True,
1032             'per_profile': True,
1033           },
1034           'example_value': False,
1035           'id': 17,
1036           'caption': '''Allow users to show passwords in Password Manager''',
1037           'desc': '''Controls whether the user may show passwords in clear text in the password manager.
1039           If you disable this setting, the password manager does not allow showing stored passwords in clear text in the password manager window.
1041           If you enable or do not set this policy, users can view their passwords in clear text in the password manager.''',
1042         },
1043       ],
1044     },
1045     {
1046       'name': 'AutoFillEnabled',
1047       'type': 'main',
1048       'schema': { 'type': 'boolean' },
1049       'supported_on': [
1050         'chrome.*:8-',
1051         'chrome_os:11-',
1052         'android:30-',
1053         'ios:34-',
1054       ],
1055       'features': {
1056         'can_be_recommended': True,
1057         'dynamic_refresh': True,
1058         'per_profile': True,
1059       },
1060       'example_value': False,
1061       'id': 18,
1062       'caption': '''Enable AutoFill''',
1063       'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s AutoFill feature and allows users to auto complete web forms using previously stored information such as address or credit card information.
1065       If you disable this setting, AutoFill will be inaccessible to users.
1067       If you enable this setting or do not set a value, AutoFill will remain under the control of the user. This will allow them to configure AutoFill profiles and to switch AutoFill on or off at their own discretion.''',
1068     },
1069     {
1070       'name': 'DisabledPlugins',
1071       'type': 'list',
1072       'schema': {
1073         'type': 'array',
1074         'items': { 'type': 'string' },
1075       },
1076       'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
1077       'features': {
1078         'dynamic_refresh': True,
1079         'per_profile': True,
1080       },
1081       'example_value': ['Java', 'Shockwave Flash', 'Chrome PDF Viewer'],
1082       'id': 19,
1083       'caption': '''Specify a list of disabled plugins''',
1084       'desc': '''Specifies a list of plugins that are disabled in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
1086       The wildcard characters '*' and '?' can be used to match sequences of arbitrary characters. '*' matches an arbitrary number of characters while '?' specifies an optional single character, i.e. matches zero or one characters. The escape character is '\\', so to match actual '*', '?', or '\\' characters, you can put a '\\' in front of them.
1088       If you enable this setting, the specified list of plugins is never used in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>. The plugins are marked as disabled in 'about:plugins' and users cannot enable them.
1090       Note that this policy can be overridden by EnabledPlugins and DisabledPluginsExceptions.
1092       If this policy is left not set the user can use any plugin installed on the system except for hard-coded incompatible, outdated or dangerous plugins.''',
1093       'label': '''List of disabled plugins''',
1094     },
1095     {
1096       'name': 'EnabledPlugins',
1097       'type': 'list',
1098       'schema': {
1099         'type': 'array',
1100         'items': { 'type': 'string' },
1101       },
1102       'supported_on': ['chrome.*:11-', 'chrome_os:11-'],
1103       'features': {
1104         'dynamic_refresh': True,
1105         'per_profile': True,
1106       },
1107       'example_value': ['Java', 'Shockwave Flash', 'Chrome PDF Viewer'],
1108       'id': 78,
1109       'caption': '''Specify a list of enabled plugins''',
1110       'desc': '''Specifies a list of plugins that are enabled in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing this setting.
1112       The wildcard characters '*' and '?' can be used to match sequences of arbitrary characters. '*' matches an arbitrary number of characters while '?' specifies an optional single character, i.e. matches zero or one characters. The escape character is '\\', so to match actual '*', '?', or '\\' characters, you can put a '\\' in front of them.
1114       The specified list of plugins is always used in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> if they are installed. The plugins are marked as enabled in 'about:plugins' and users cannot disable them.
1116       Note that this policy overrides both DisabledPlugins and DisabledPluginsExceptions.
1118       If this policy is left not set the user can disable any plugin installed on the system.''',
1119       'label': '''List of enabled plugins''',
1120     },
1121     {
1122       'name': 'DisabledPluginsExceptions',
1123       'type': 'list',
1124       'schema': {
1125         'type': 'array',
1126         'items': { 'type': 'string' },
1127       },
1128       'supported_on': ['chrome.*:11-', 'chrome_os:11-'],
1129       'features': {
1130         'dynamic_refresh': True,
1131         'per_profile': True,
1132       },
1133       'example_value': ['Java', 'Shockwave Flash', 'Chrome PDF Viewer'],
1134       'id': 79,
1135       'caption': '''Specify a list of plugins that the user can enable or disable''',
1136       'desc': '''Specifies a list of plugins that user can enable or disable in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1138       The wildcard characters '*' and '?' can be used to match sequences of arbitrary characters. '*' matches an arbitrary number of characters while '?' specifies an optional single character, i.e. matches zero or one characters. The escape character is '\\', so to match actual '*', '?', or '\\' characters, you can put a '\\' in front of them.
1140       If you enable this setting, the specified list of plugins can be used in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>. Users can enable or disable them in 'about:plugins', even if the plugin also matches a pattern in DisabledPlugins. Users can also enable and disable plugins that don't match any patterns in DisabledPlugins, DisabledPluginsExceptions and EnabledPlugins.
1142       This policy is meant to allow for strict plugin blacklisting where the 'DisabledPlugins' list contains wildcarded entries like disable all plugins '*' or disable all Java plugins '*Java*' but the administrator wishes to enable some particular version like 'IcedTea Java 2.3'. This particular versions can be specified in this policy.
1144       Note that both the plugin name and the plugin's group name have to be exempted. Each plugin group is shown in a separate section in about:plugins; each section may have one or more plugins. For example, the "Shockwave Flash" plugin belongs to the "Adobe Flash Player" group, and both names have to have a match in the exceptions list if that plugin is to be exempted from the blacklist.
1146       If this policy is left not set any plugin that matches the patterns in the 'DisabledPlugins' will be locked disabled and the user won't be able to enable them.''',
1147       'label': '''List of exceptions to the list of disabled plugins''',
1148     },
1149     {
1150       'name': 'DisablePluginFinder',
1151       'type': 'main',
1152       'schema': { 'type': 'boolean' },
1153       'supported_on': ['chrome.*:11-', 'chrome_os:11-'],
1154       'features': {
1155         'dynamic_refresh': True,
1156         'per_profile': False,
1157       },
1158       'example_value': True,
1159       'id': 66,
1160       'caption': '''Specify whether the plugin finder should be disabled''',
1161       'desc': '''If you set this setting to enabled the automatic search and installation of missing plugins will be disabled in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1163       Setting this option to disabled or leave it not set the plugin finder will be active.''',
1164       'label': '''Disable plugin finder''',
1165     },
1166     {
1167       'name': 'SyncDisabled',
1168       'type': 'main',
1169       'schema': { 'type': 'boolean' },
1170       'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
1171       'features': {
1172         'dynamic_refresh': True,
1173         'per_profile': True,
1174       },
1175       'example_value': True,
1176       'id': 20,
1177       'caption': '''Disable synchronization of data with Google''',
1178       'desc': '''Disables data synchronization in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> using Google-hosted synchronization services and prevents users from changing this setting.
1180       If you enable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1182       If this policy is left not set Google Sync will be available for the user to choose whether to use it or not.''',
1183     },
1184     {
1185       'name': 'SigninAllowed',
1186       'type': 'main',
1187       'schema': { 'type': 'boolean' },
1188       'supported_on': ['chrome.*:27-', 'android:38-'],
1189       'features': {
1190         'dynamic_refresh': True,
1191         'per_profile': True,
1192       },
1193       'deprecated': True,
1194       'example_value': True,
1195       'id': 190,
1196       'caption': '''Allows sign in to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>''',
1197       'desc': '''This policy is deprecated, consider using SyncDisabled instead.
1199       Allows the user to sign in to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1201       If you set this policy, you can configure whether a user is allowed to sign in to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>. Setting this policy to 'False' will prevent apps and extensions that use the chrome.identity API from functioning, so you may want to use SyncDisabled instead.''',
1202     },
1203     {
1204       'name': 'EnableDeprecatedWebBasedSignin',
1205       'type': 'main',
1206       'schema': { 'type': 'boolean' },
1207       'supported_on': ['chrome.*:35-42'],
1208       'features': {
1209         'dynamic_refresh': False,
1210         'per_profile': False,
1211       },
1212       'deprecated': True,
1213       'example_value': False,
1214       'id': 265,
1215       'caption': '''Enables the old web-based signin''',
1216       'desc': '''Enables the old web-based signin flow.
1218       This setting was named EnableWebBasedSignin prior to Chrome 42, and support for it will be removed entirely in Chrome 43.
1220       This setting is useful for enterprise customers who are using SSO solutions that are not compatible with the new inline signin flow yet.
1221       If you enable this setting, the old web-based signin flow would be used.
1222       If you disable this setting or leave it not set, the new inline signin flow would be used by default. Users may still enable the old web-based signin flow through the command line flag --enable-web-based-signin.
1224       The experimental setting will be removed in the future when the inline signin fully supports all SSO signin flows.''',
1225     },
1226     {
1227       'name': 'UserDataDir',
1228       'type': 'string',
1229       'schema': { 'type': 'string' },
1230       'supported_on': ['chrome.win:11-', 'chrome.mac:11-'],
1231       'features': {
1232         'dynamic_refresh': False,
1233         'per_profile': False,
1234       },
1235       'example_value': '${users}/${user_name}/Chrome',
1236       'id': 63,
1237       'caption': '''Set user data directory''',
1238       'desc': '''Configures the directory that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use for storing user data.
1240       If you set this policy, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use the provided directory regardless whether the user has specified the '--user-data-dir' flag or not.
1242       See http://www.chromium.org/administrators/policy-list-3/user-data-directory-variables for a list of variables that can be used.
1244       If this policy is left not set the default profile path will be used and the user will be able to override it with the '--user-data-dir' command line flag.''',
1245       'label': '''Set user data directory''',
1246     },
1247     {
1248       'name': 'DiskCacheDir',
1249       'type': 'string',
1250       'schema': { 'type': 'string' },
1251       'supported_on': ['chrome.*:13-'],
1252       'features': {
1253         'dynamic_refresh': False,
1254         'per_profile': False,
1255       },
1256       'example_value': '${user_home}/Chrome_cache',
1257       'id': 88,
1258       'caption': '''Set disk cache directory''',
1259       'desc': '''Configures the directory that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use for storing cached files on the disk.
1261       If you set this policy, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use the provided directory regardless whether the user has specified the '--disk-cache-dir' flag or not.
1263       See http://www.chromium.org/administrators/policy-list-3/user-data-directory-variables for a list of variables that can be used.
1265       If this policy is left not set the default cache directory will be used and the user will be able to override it with the '--disk-cache-dir' command line flag.''',
1266       'label': '''Set disk cache directory''',
1267     },
1268     {
1269       'name': 'DiskCacheSize',
1270       'type': 'int',
1271       'schema': { 'type': 'integer' },
1272       'supported_on': ['chrome.*:17-'],
1273       'features': {
1274         'dynamic_refresh': False,
1275         'per_profile': False,
1276       },
1277       'example_value': 104857600,
1278       'id': 110,
1279       'caption': '''Set disk cache size in bytes''',
1280       'desc': '''Configures the cache size that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use for storing cached files on the disk.
1282       If you set this policy, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use the provided cache size regardless whether the user has specified the '--disk-cache-size' flag or not. The value specified in this policy is not a hard boundary but rather a suggestion to the caching system, any value below a few megabytes is too small and will be rounded up to a sane minimum.
1284       If the value of this policy is 0, the default cache size will be used but the user will not be able to change it.
1286       If this policy is not set the default size will be used and the user will be able to override it with the --disk-cache-size flag.''',
1287       'label': '''Set disk cache size''',
1288     },
1289     {
1290       'name': 'MediaCacheSize',
1291       'type': 'int',
1292       'schema': { 'type': 'integer' },
1293       'supported_on': ['chrome.*:17-'],
1294       'features': {
1295         'dynamic_refresh': False,
1296         'per_profile': False,
1297       },
1298       'example_value': 104857600,
1299       'id': 111,
1300       'caption': '''Set media disk cache size in bytes''',
1301       'desc': '''Configures the cache size that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use for storing cached media files on the disk.
1303       If you set this policy, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use the provided cache size regardless whether the user has specified the '--media-cache-size' flag or not. The value specified in this policy is not a hard boundary but rather a suggestion to the caching system, any value below a few megabytes is too small and will be rounded up to a sane minimum.
1305       If the value of this policy is 0, the default cache size will be used but the user will not be able to change it.
1307       If this policy is not set the default size will be used and the user will be able to override it with the --media-cache-size flag.''',
1308       'label': '''Set media disk cache size''',
1309     },
1310     {
1311       'name': 'DownloadDirectory',
1312       'type': 'string',
1313       'schema': { 'type': 'string' },
1314       'supported_on': ['chrome.*:11-', 'chrome_os:35-'],
1315       'features': {
1316         'can_be_recommended': True,
1317         'dynamic_refresh': True,
1318         'per_profile': True,
1319       },
1320       'example_value': '/home/${user_name}/Downloads',
1321       'id': 64,
1322       'caption': '''Set download directory''',
1323       'desc': '''Configures the directory that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use for downloading files.
1325       If you set this policy, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use the provided directory regardless whether the user has specified one or enabled the flag to be prompted for download location every time.
1327       See http://www.chromium.org/administrators/policy-list-3/user-data-directory-variables for a list of variables that can be used.
1329       If this policy is left not set the default download directory will be used and the user will be able to change it.''',
1330       'label': '''Set download directory''',
1331     },
1332     {
1333       'name': 'ClearSiteDataOnExit',
1334       'type': 'main',
1335       'schema': { 'type': 'boolean' },
1336       'supported_on': ['chrome.*:11-28', 'chrome_os:11-28'],
1337       'features': {
1338         'can_be_recommended': True,
1339         'dynamic_refresh': True,
1340         'per_profile': True,
1341       },
1342       'deprecated': True,
1343       'example_value': True,
1344       'id': 65,
1345       'caption': '''Clear site data on browser shutdown (deprecated)''',
1346       'desc': '''This policy has been retired as of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 29.''',
1347       'label': '''Clear site data on browser shutdown (deprecated)''',
1348     },
1349     {
1350       'name': 'CaptivePortalAuthenticationIgnoresProxy',
1351       'type': 'main',
1352       'schema': { 'type': 'boolean' },
1353       'supported_on': ['chrome_os:41-'],
1354       'features': {
1355         'can_be_recommended': False,
1356         'dynamic_refresh': True,
1357         'per_profile': True,
1358       },
1359       'example_value': True,
1360       'default_for_enterprise_users': False,
1361       'id': 295,
1362       'caption': '''Captive portal authentication ignores proxy''',
1363       'desc': '''This policy allows <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> to bypass any proxy for captive portal authentication.
1365       This policy only takes effect if a proxy is configured (for example through policy, by the user in chrome://settings, or by extensions).
1367       If you enable this setting, any captive portal authentication pages (i.e. all web pages starting from captive portal signin page until <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> detects succesful internet connection) will be displayed in a separate window ignoring all policy settings and restrictions for the current user.
1369       If you disable this setting or leave it unset, any captive portal authentication pages will be shown in a (regular) new browser tab, using the current user's proxy settings.''',
1370     },
1371     {
1372       'name': 'Proxy',
1373       'type': 'group',
1374       'caption': '''Proxy server''',
1375       'desc': '''Allows you to specify the proxy server used by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing proxy settings.
1377       If you choose to never use a proxy server and always connect directly, all other options are ignored.
1379       If you choose to auto detect the proxy server, all other options are ignored.
1381       For detailed examples, visit:
1382       <ph name="PROXY_HELP_URL">http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett<ex>http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</ex></ph>
1384       If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> ignores all proxy-related options specified from the command line.
1386       Leaving these policies not set will allow the users to choose the proxy settings on their own.''',
1387       'policies': [
1388         {
1389           'name': 'ProxyMode',
1390           'type': 'string-enum',
1391           'schema': {
1392             'type': 'string',
1393             'enum': [
1394               'direct',
1395               'auto_detect',
1396               'pac_script',
1397               'fixed_servers',
1398               'system'
1399             ],
1400           },
1401           'items': [
1402             {
1403               'name': 'ProxyDisabled',
1404               'value': 'direct',
1405               'caption': '''Never use a proxy''',
1406             },
1407             {
1408               'name': 'ProxyAutoDetect',
1409               'value': 'auto_detect',
1410               'caption': '''Auto detect proxy settings''',
1411             },
1412             {
1413               'name': 'ProxyPacScript',
1414               'value': 'pac_script',
1415               'caption': '''Use a .pac proxy script''',
1416             },
1417             {
1418               'name': 'ProxyFixedServers',
1419               'value': 'fixed_servers',
1420               'caption': '''Use fixed proxy servers''',
1421             },
1422             {
1423               'name': 'ProxyUseSystem',
1424               'value': 'system',
1425               'caption': '''Use system proxy settings''',
1426             },
1427           ],
1428           'supported_on': [
1429             'chrome.*:10-',
1430             'chrome_os:11-',
1431             'android:30-',
1432             'ios:34-',
1433           ],
1434           'features': {
1435             'dynamic_refresh': True,
1436             'per_profile': True,
1437           },
1438           'example_value': 'direct',
1439           'id': 21,
1440           'caption': '''Choose how to specify proxy server settings''',
1441           'desc': '''Allows you to specify the proxy server used by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing proxy settings.
1443           If you choose to never use a proxy server and always connect directly, all other options are ignored.
1445           If you choose to use system proxy settings or auto detect the proxy server, all other options are ignored.
1447           If you choose fixed server proxy mode, you can specify further options in 'Address or URL of proxy server' and 'Comma-separated list of proxy bypass rules'.
1449           If you choose to use a .pac proxy script, you must specify the URL to the script in 'URL to a proxy .pac file'.
1451           For detailed examples, visit:
1452           <ph name="PROXY_HELP_URL">http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett<ex>http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</ex></ph>
1454           If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> ignores all proxy-related options specified from the command line.
1456           Leaving this policy not set will allow the users to choose the proxy settings on their own.''',
1457         },
1458         {
1459           'name': 'ProxyServerMode',
1460           'type': 'int-enum',
1461           'schema': {
1462             'type': 'integer',
1463             'enum': [ 0, 1, 2, 3 ],
1464           },
1465           'items': [
1466             {
1467               'name': 'ProxyServerDisabled',
1468               'value': 0,
1469               'caption': '''Never use a proxy''',
1470             },
1471             {
1472               'name': 'ProxyServerAutoDetect',
1473               'value': 1,
1474               'caption': '''Auto detect proxy settings''',
1475             },
1476             {
1477               'name': 'ProxyServerManual',
1478               'value': 2,
1479               'caption': '''Manually specify proxy settings''',
1480             },
1481             {
1482               'name': 'ProxyServerUseSystem',
1483               'value': 3,
1484               'caption': '''Use system proxy settings''',
1485             },
1486           ],
1487           'supported_on': [
1488             'chrome.*:8-',
1489             'chrome_os:11-',
1490             'android:30-',
1491             'ios:34-',
1492           ],
1493           'features': {
1494             'dynamic_refresh': True,
1495             'per_profile': True,
1496           },
1497           'deprecated': True,
1498           'example_value': 2,
1499           'id': 22,
1500           'caption': '''Choose how to specify proxy server settings''',
1501           'desc': '''This policy is deprecated, use ProxyMode instead.
1503           Allows you to specify the proxy server used by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> and prevents users from changing proxy settings.
1505           If you choose to never use a proxy server and always connect directly, all other options are ignored.
1507           If you choose to use system proxy settings or auto detect the proxy server, all other options are ignored.
1509           If you choose manual proxy settings, you can specify further options in 'Address or URL of proxy server', 'URL to a proxy .pac file' and 'Comma-separated list of proxy bypass rules'.
1511           For detailed examples, visit:
1512           <ph name="PROXY_HELP_URL">http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett<ex>http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</ex></ph>
1514           If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> ignores all proxy-related options specified from the command line.
1516           Leaving this policy not set will allow the users to choose the proxy settings on their own.''',
1517         },
1518         {
1519           'name': 'ProxyServer',
1520           'type': 'string',
1521           'schema': { 'type': 'string' },
1522           'supported_on': [
1523             'chrome.*:8-',
1524             'chrome_os:11-',
1525             'android:30-',
1526             'ios:34-',
1527           ],
1528           'features': {
1529             'dynamic_refresh': True,
1530             'per_profile': True,
1531           },
1532           'example_value': '123.123.123.123:8080',
1533           'id': 23,
1534           'caption': '''Address or URL of proxy server''',
1535           'desc': '''You can specify the URL of the proxy server here.
1537           This policy only takes effect if you have selected manual proxy settings at 'Choose how to specify proxy server settings'.
1539           You should leave this policy not set if you have selected any other mode for setting proxy policies.
1541           For more options and detailed examples, visit:
1542           <ph name="PROXY_HELP_URL">http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett<ex>http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</ex></ph>''',
1543         },
1544         {
1545           'name': 'ProxyPacUrl',
1546           'type': 'string',
1547           'schema': { 'type': 'string' },
1548           'supported_on': [
1549             'chrome.*:8-',
1550             'chrome_os:11-',
1551             'android:30-',
1552             'ios:34-',
1553           ],
1554           'features': {
1555             'dynamic_refresh': True,
1556             'per_profile': True,
1557           },
1558           'example_value': 'http://internal.site/example.pac',
1559           'id': 24,
1560           'caption': '''URL to a proxy .pac file''',
1561           'desc': '''You can specify a URL to a proxy .pac file here.
1563           This policy only takes effect if you have selected manual proxy settings at 'Choose how to specify proxy server settings'.
1565           You should leave this policy not set if you have selected any other mode for setting proxy policies.
1567           For detailed examples, visit:
1568           <ph name="PROXY_HELP_URL">http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett<ex>http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</ex></ph>''',
1569         },
1570         {
1571           'name': 'ProxyBypassList',
1572           'type': 'string',
1573           'schema': { 'type': 'string' },
1574           'supported_on': [
1575             'chrome.*:8-',
1576             'chrome_os:11-',
1577             'android:30-',
1578             'ios:34-',
1579           ],
1580           'features': {
1581             'dynamic_refresh': True,
1582             'per_profile': True,
1583           },
1584           'example_value': 'http://www.example1.com,http://www.example2.com,http://internalsite/',
1585           'id': 25,
1586           'caption': '''Proxy bypass rules''',
1587           'desc': '''<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will bypass any proxy for the list of hosts given here.
1589           This policy only takes effect if you have selected manual proxy settings at 'Choose how to specify proxy server settings'.
1591           You should leave this policy not set if you have selected any other mode for setting proxy policies.
1593           For more detailed examples, visit:
1594           <ph name="PROXY_HELP_URL">http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett<ex>http://www.chromium.org/developers/design-documents/network-settings#TOC-Command-line-options-for-proxy-sett</ex></ph>''',
1595           'label': '''Comma-separated list of proxy bypass rules''',
1596         },
1597       ],
1598     },
1599     {
1600       # TODO(joaodasilva): Make this the default and deprecate the other proxy
1601       # policies once all providers are ready to load 'dict' policies.
1602       # This is currently an internal policy.
1603       # http://crbug.com/108992, http://crbug.com/108996
1604       'name': 'ProxySettings',
1605       'type': 'dict',
1606       'schema': {
1607         'type': 'object',
1608         'properties': {
1609           'ProxyMode': { 'type': 'string' },
1610           'ProxyPacUrl': { 'type': 'string' },
1611           'ProxyServer': { 'type': 'string' },
1612           'ProxyBypassList': { 'type': 'string' },
1613           'ProxyServerMode': { 'type': 'string' },
1614         },
1615       },
1616       'supported_on': [
1617         'chrome.*:18-',
1618         'chrome_os:18-',
1619         'android:30-',
1620         'ios:34-',
1621       ],
1622       'future': True,
1623       'features': {
1624         'dynamic_refresh': True,
1625         'per_profile': True,
1626       },
1627       'example_value': { "ProxyMode": "direct" },
1628       'id': 116,
1629       'caption': '''Proxy settings''',
1630       'desc': '''Configures the proxy settings for <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1632       This policy isn't ready for usage yet, please don't use it.''',
1633     },
1634     {
1635       'name': 'HTTPAuthentication',
1636       'type': 'group',
1637       'caption': '''Policies for HTTP Authentication''',
1638       'desc': '''Policies related to integrated HTTP authentication.''',
1639       'policies': [
1640         {
1641           'name': 'AuthSchemes',
1642           'type': 'string',
1643           'schema': { 'type': 'string' },
1644           'supported_on': ['chrome.*:9-'],
1645           'features': {
1646             'dynamic_refresh': False,
1647             'per_profile': False,
1648           },
1649           'example_value': 'basic,digest,ntlm,negotiate',
1650           'id': 26,
1651           'caption': '''Supported authentication schemes''',
1652           'desc': '''Specifies which HTTP Authentication schemes are supported by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
1654           Possible values are 'basic', 'digest', 'ntlm' and 'negotiate'. Separate multiple values with commas.
1656           If this policy is left not set, all four schemes will be used.''',
1657         },
1658         {
1659           'name': 'DisableAuthNegotiateCnameLookup',
1660           'type': 'main',
1661           'schema': { 'type': 'boolean' },
1662           'supported_on': ['chrome.*:9-'],
1663           'features': {
1664             'dynamic_refresh': False,
1665             'per_profile': False,
1666           },
1667           'example_value': False,
1668           'id': 27,
1669           'caption': '''Disable CNAME lookup when negotiating Kerberos authentication''',
1670           'desc': '''Specifies whether the generated Kerberos SPN is based on the canonical DNS name or the original name entered.
1672           If you enable this setting, CNAME lookup will be skipped and the server name will be used as entered.
1674           If you disable this setting or leave it not set, the canonical name of the server will be determined via CNAME lookup.''',
1675         },
1676         {
1677           'name': 'EnableAuthNegotiatePort',
1678           'type': 'main',
1679           'schema': { 'type': 'boolean' },
1680           'supported_on': ['chrome.*:9-'],
1681           'features': {
1682             'dynamic_refresh': False,
1683             'per_profile': False,
1684           },
1685           'example_value': False,
1686           'id': 28,
1687           'caption': '''Include non-standard port in Kerberos SPN''',
1688           'desc': '''Specifies whether the generated Kerberos SPN should include a non-standard port.
1690           If you enable this setting, and a non-standard port (i.e., a port other than 80 or 443) is entered, it will be included in the generated Kerberos SPN.
1692           If you disable this setting or leave it not set, the generated Kerberos SPN will not include a port in any case.''',
1693         },
1694         {
1695           'name': 'AuthServerWhitelist',
1696           'type': 'string',
1697           'schema': { 'type': 'string' },
1698           'supported_on': ['chrome.*:9-'],
1699           'features': {
1700             'dynamic_refresh': False,
1701             'per_profile': False,
1702           },
1703           'example_value': '*example.com,foobar.com,*baz',
1704           'id': 29,
1705           'caption': '''Authentication server whitelist''',
1706           'desc': '''Specifies which servers should be whitelisted for integrated authentication. Integrated authentication is only enabled when <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> receives an authentication challenge from a proxy or from a server which is in this permitted list.
1708           Separate multiple server names with commas. Wildcards (*) are allowed.
1710           If you leave this policy not set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will try to detect if a server is on the Intranet and only then will it respond to IWA requests.  If a server is detected as Internet then IWA requests from it will be ignored by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.''',
1711         },
1712         {
1713           'name': 'AuthNegotiateDelegateWhitelist',
1714           'type': 'string',
1715           'schema': { 'type': 'string' },
1716           'supported_on': ['chrome.*:9-'],
1717           'features': {
1718             'dynamic_refresh': False,
1719             'per_profile': False,
1720           },
1721           'example_value': 'foobar.example.com',
1722           'id': 30,
1723           'caption': '''Kerberos delegation server whitelist''',
1724           'desc': '''Servers that <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> may delegate to.
1726           Separate multiple server names with commas. Wildcards (*) are allowed.
1728           If you leave this policy not set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will not delegate user credentials even if a server is detected as Intranet.''',
1729         },
1730         {
1731           'name': 'GSSAPILibraryName',
1732           'type': 'string',
1733           'schema': { 'type': 'string' },
1734           'supported_on': ['chrome.linux:9-'],
1735           'features': {
1736             'dynamic_refresh': False,
1737             'per_profile': False,
1738           },
1739           'example_value': 'libgssapi_krb5.so.2',
1740           'id': 31,
1741           'caption': '''GSSAPI library name''',
1742           'desc': '''Specifies which GSSAPI library to use for HTTP Authentication. You can set either just a library name, or a full path.
1744           If no setting is provided, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will fall back to using a default library name.''',
1745         },
1746         {
1747           'name': 'AllowCrossOriginAuthPrompt',
1748           'type': 'main',
1749           'schema': { 'type': 'boolean' },
1750           'supported_on': ['chrome.*:13-'],
1751           'features': {
1752             'dynamic_refresh': True,
1753             'per_profile': False,
1754           },
1755           'example_value': False,
1756           'id': 89,
1757           'caption': '''Cross-origin HTTP Basic Auth prompts''',
1758           'desc': '''Controls whether third-party sub-content on a page is allowed to pop-up an HTTP Basic Auth dialog box.
1760           Typically this is disabled as a phishing defense. If this policy is not set, this is disabled and third-party sub-content will not be allowed to pop up a HTTP Basic Auth dialog box.''',
1761         },
1762       ],
1763     },
1764     {
1765       'name': 'Extensions',
1766       'type': 'group',
1767       'caption': '''Extensions''',
1768       'desc': '''Configures extension-related policies. The user is not allowed to install blacklisted extensions unless they are whitelisted. You can also force <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to automatically install extensions by specifying them in <ph name="EXTENSIONINSTALLFORCELIST_POLICY_NAME">ExtensionInstallForcelist</ph>. Force-installed extensions are installed regardless whether they are present in the blacklist.''',
1769       'policies': [
1770         {
1771           'name': 'ExtensionInstallBlacklist',
1772           'type': 'list',
1773           'schema': {
1774             'type': 'array',
1775             'items': { 'type': 'string' },
1776           },
1777           'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
1778           'features': {
1779             'dynamic_refresh': True,
1780             'per_profile': True,
1781           },
1782           'example_value': ['extension_id1', 'extension_id2'],
1783           'id': 32,
1784           'caption': '''Configure extension installation blacklist''',
1785           'desc': '''Allows you to specify which extensions the users can NOT install. Extensions already installed will be removed if blacklisted.
1787           A blacklist value of '*' means all extensions are blacklisted unless they are explicitly listed in the whitelist.
1789           If this policy is left not set the user can install any extension in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.''',
1790           'label': '''Extension IDs the user should be prevented from installing (or * for all)''',
1791         },
1792         {
1793           'name': 'ExtensionInstallWhitelist',
1794           'type': 'list',
1795           'schema': {
1796             'type': 'array',
1797             'items': { 'type': 'string' },
1798           },
1799           'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
1800           'features': {
1801             'dynamic_refresh': True,
1802             'per_profile': True,
1803           },
1804           'example_value': ['extension_id1', 'extension_id2'],
1805           'id': 33,
1806           'caption': '''Configure extension installation whitelist''',
1807           'desc': '''Allows you to specify which extensions are not subject to the blacklist.
1809           A blacklist value of * means all extensions are blacklisted and users can only install extensions listed in the whitelist.
1811           By default, all extensions are whitelisted, but if all extensions have been blacklisted by policy, the whitelist can be used to override that policy.''',
1812           'label': '''Extension IDs to exempt from the blacklist''',
1813         },
1814         {
1815           'name': 'ExtensionInstallForcelist',
1816           'type': 'list',
1817           'schema': {
1818             'type': 'array',
1819             'items': { 'type': 'string' },
1820           },
1821           'supported_on': ['chrome.*:9-', 'chrome_os:11-'],
1822           'features': {
1823             'dynamic_refresh': True,
1824             'per_profile': True,
1825           },
1826           'example_value': ['lcncmkcnkcdbbanbjakcencbaoegdjlp;https://clients2.google.com/service/update2/crx'],
1827           'id': 34,
1828           'caption': '''Configure the list of force-installed extensions''',
1829           'desc': '''Allows you to specify a list of extensions that will be installed silently, without user interaction.
1831           For Windows instances that are not joined to an Active Directory
1832           domain, forced installation is limited to extensions listed in the
1833           Chrome Web Store.
1835           Each item of the list is a string that contains an extension ID and an update URL delimited by a semicolon (<ph name="SEMICOLON">;</ph>). The extension ID is the 32-letter string found e.g. on <ph name="CHROME_EXTENSIONS_LINK">chrome://extensions</ph> when in developer mode. The update URL should point to an Update Manifest XML document as described at <ph name="LINK_TO_EXTENSION_DOC1">https://developer.chrome.com/extensions/autoupdate</ph>. Note that the update URL set in this policy is only used for the initial installation; subsequent updates of the extension will use the update URL indicated in the extension's manifest.
1837           For each item, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will retrieve the extension specified by the extension ID from the update service at the specified update URL and silently install it.
1839           For example, <ph name="EXTENSION_POLICY_EXAMPLE">lcncmkcnkcdbbanbjakcencbaoegdjlp;https://clients2.google.com/service/update2/crx</ph> installs the <ph name="EXTENSION_POLICY_EXAMPLE_EXTENSION_NAME">Google SSL Web Search</ph> extension from the standard Chrome Web Store update URL. For more information about hosting extensions, see: <ph name="LINK_TO_EXTENSION_DOC2">https://developer.chrome.com/extensions/hosting</ph>.
1841           Users will be unable to uninstall extensions that are specified by this policy. If you remove an extension from this list, then it will be automatically uninstalled by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>. Extensions specified in this list are also automatically whitelisted for installation; the ExtensionsInstallBlacklist does not affect them.
1843           Note that the source code of any extension may be altered (potentially
1844           rendering the extension dysfunctional) by using Developer Tools. If
1845           this is a concern, the DeveloperToolsDisabled policy should be set.
1847           If this policy is left not set the user can uninstall any extension in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.''',
1848           'label': '''Extension IDs and update URLs to be silently installed''',
1849         },
1850         {
1851           'name': 'ExtensionInstallSources',
1852           'type': 'list',
1853           'schema': {
1854             'type': 'array',
1855             'items': { 'type': 'string' },
1856             'id': 'ExtensionInstallSources',
1857           },
1858           'supported_on': ['chrome.*:21-', 'chrome_os:21-'],
1859           'features': {
1860             'dynamic_refresh': True,
1861             'per_profile': True,
1862           },
1863           'example_value': ['https://corp.mycompany.com/*'],
1864           'id': 148,
1865           'caption': '''Configure extension, app, and user script install sources''',
1866           'desc': '''Allows you to specify which URLs are allowed to install extensions, apps, and themes.
1868           Starting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> 21, it is more difficult to install extensions, apps, and user scripts from outside the Chrome Web Store. Previously, users could click on a link to a *.crx file, and <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> would offer to install the file after a few warnings. After <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> 21, such files must be downloaded and dragged onto the <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> settings page. This setting allows specific URLs to have the old, easier installation flow.
1870           Each item in this list is an extension-style match pattern (see https://developer.chrome.com/extensions/match_patterns). Users will be able to easily install items from any URL that matches an item in this list. Both the location of the *.crx file and the page where the download is started from (i.e. the referrer) must be allowed by these patterns.
1872           ExtensionInstallBlacklist takes precedence over this policy. That is, an extension on the blacklist won't be installed, even if it happens from a site on this list.''',
1873           'label': '''URL patterns to allow extension, app, and user script installs from''',
1874         },
1875         {
1876           'name': 'ExtensionAllowedTypes',
1877           'type': 'list',
1878           'schema': {
1879             'type': 'array',
1880             'items': {
1881               'type': 'string',
1882               'enum': [
1883                 'extension',
1884                 'theme',
1885                 'user_script',
1886                 'hosted_app',
1887                 'legacy_packaged_app',
1888                 'platform_app'
1889               ],
1890             },
1891             'id': 'ExtensionAllowedTypes',
1892           },
1893           'supported_on': ['chrome.*:25-', 'chrome_os:25-'],
1894           'features': {
1895             'dynamic_refresh': True,
1896             'per_profile': True,
1897           },
1898           'example_value': ['hosted_app'],
1899           'id': 168,
1900           'caption': '''Configure allowed app/extension types''',
1901           'desc': '''Controls which app/extension types are allowed to be installed.
1903           This setting white-lists the allowed types of extension/apps that can be installed in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>. The value is a list of strings, each of which should be one of the following: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". See the <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> extensions documentation for more information on these types.
1905           Note that this policy also affects extensions and apps to be force-installed via ExtensionInstallForcelist.
1907           If this setting is configured, extensions/apps which have a type that is not on the list will not be installed.
1909           If this settings is left not-configured, no restrictions on the acceptable extension/app types are enforced.''',
1910           'label': '''Types of extensions/apps that are allowed to be installed''',
1911         },
1912         {
1913           'name': 'ExtensionSettings',
1914           'type': 'dict',
1915           'schema': {
1916             'type': 'object',
1917             'patternProperties': {
1918               '^[a-p]{32}$': {
1919                 'type': 'object',
1920                 'properties': {
1921                   'installation_mode': {
1922                     'type': 'string',
1923                     'enum': ['blocked', 'allowed', 'force_installed', 'normal_installed']
1924                   },
1925                   'update_url': { 'type': 'string' },
1926                   'blocked_permissions': {
1927                     'type': 'array',
1928                     'items': {
1929                       'type': 'string',
1930                       'pattern': '^[a-z][a-zA-Z.]*$',
1931                     },
1932                     'id': 'ListOfPermissions',
1933                   },
1934                   'allowed_permissions': {
1935                     '$ref': 'ListOfPermissions',
1936                   },
1937                   'minimum_version_required': {
1938                     'type': 'string',
1939                     'pattern': '^[0-9]+([.][0-9]+)*$',
1940                   },
1941                 },
1942               },
1943               '^update_url:': {
1944                 'type': 'object',
1945                 'properties': {
1946                   'installation_mode': {
1947                     'type': 'string',
1948                     'enum': ['blocked', 'allowed']
1949                   },
1950                   'blocked_permissions': {
1951                     '$ref': 'ListOfPermissions',
1952                   },
1953                   'allowed_permissions': {
1954                     '$ref': 'ListOfPermissions',
1955                   },
1956                 },
1957               },
1958             },
1959             'properties': {
1960               '*': {
1961                 'type': 'object',
1962                 'properties': {
1963                   'installation_mode': {
1964                     'type': 'string',
1965                     'enum': ['blocked', 'allowed']
1966                   },
1967                   'blocked_permissions': {
1968                     '$ref': 'ListOfPermissions',
1969                   },
1970                   'install_sources': {
1971                     '$ref': 'ExtensionInstallSources',
1972                   },
1973                   'allowed_types': {
1974                     '$ref': 'ExtensionAllowedTypes',
1975                   },
1976                 },
1977               },
1978             },
1979           },
1980           'future': True,
1981           'supported_on': ['chrome.*:40-', 'chrome_os:40-'],
1982           'features': {
1983             'dynamic_refresh': True,
1984             'per_profile': True,
1985           },
1986           'example_value': {
1987             'abcdefghijklmnopabcdefghijklmnop' : {
1988               'installation_mode': 'allowed',
1989               'blocked_permissions': ['history'],
1990               'minimum_version_required': '1.0.1',
1991             },
1992             'bcdefghijklmnopabcdefghijklmnopa' : {
1993               'installation_mode': 'force_installed',
1994               'update_url': 'http://example.com/update_url',
1995               'allowed_permissions': ['downloads'],
1996             },
1997             'update_url:http://www.example.com/update.xml': {
1998               'blocked_permissions': ['wallpaper'],
1999             },
2000             '*': {
2001               'installation_mode': 'blocked',
2002               'blocked_permissions': ['downloads', 'bookmarks'],
2003               'install_sources': ['http://company-intranet/chromeapps'],
2004               'allowed_types': ['hosted_app'],
2005             },
2006           },
2007           'id': 278,
2008           'caption': 'Extension management settings',
2009           'desc': '''Configures extension management settings for <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
2011           This policy controls multiple settings, including settings controlled by any existing extension-related policies. This policy will override any legacy policies if both are set.
2013           This policy maps an extension ID or an update URL to its configuration. With an extension ID, configuration will be applied to the specified extension only. A default configuration can be set for the special ID "*", which will apply to all extensions that don't have a custom configuration set in this policy. With an update URL, configuration will be applied to all extensions with the exact update URL stated in manifest of this extension, as described at <ph name="LINK_TO_EXTENSION_DOC1">https://developer.chrome.com/extensions/autoupdate</ph>.
2015           The configuration for each extension (or extensions with same update URL) is another dictionary that can contain the fields documented below.
2017           "installation_mode": maps to a string indicating the installation mode for the extension. The valid strings are:
2018           * "allowed": allows the extension to be installed by the user. This is the default behavior.
2019           * "blocked": blocks installation of the extension.
2020           * "force_installed": the extension is automatically installed and can't be removed by the user.
2021           * "normal_installed": the extension is automatically installed but can be disabled by the user.
2023           The "installation_mode" can also be configured for multiple extensions as well, including the "*" extension (as default settings) and extensions with same update URL. Only the "allowed" and "blocked" values can be used in this case.
2025           If the mode is set to "force_installed" or "normal_installed" then an "update_url" must be configured too. Note that the update URL set in this policy is only used for the initial installation; subsequent updates of the extension will use the update URL indicated in the extension's manifest. The update URL should point to an Update Manifest XML document as mentioned above.
2027           "blocked_permissions": maps to a list of strings indicating the blocked API permissions for the extension. The permissions names are same as the permission strings declared in manifest of extension as described at <ph name="LINK_TO_EXTENSION_DOC3">https://developer.chrome.com/extensions/declare_permissions</ph>. This setting also can be configured for "*" extension. If the extension requires a permission which is on the blocklist, it will not be allowed to load. If it contains a blocked permission as optional requirement, it will be handled in the normal way, but requesting conflicting permissions will be declined automatically at runtime.
2029           "allowed_permissions": similar to "blocked_permissions", but instead explicitly allow some permissions which might be blocked by global blocked permission list, thus can not be configured for "*" extension. Note that this setting doesn't give granted permissions to extensions automatically.
2031           "minimum_version_required": maps to a version string. The format of the version string is the same as the one used in extension manifest, as described at <ph name="LINK_TO_EXTENSION_DOC4">https://developer.chrome.com/apps/manifest/version</ph>. An extension with a version older than the specified minimum version will be disabled. This applies to force-installed extensions as well.
2033           The following settings can be used only for the default "*" configuration:
2035           "install_sources": Each item in this list is an extension-style match pattern (see https://developer.chrome.com/extensions/match_patterns). Users will be able to easily install items from any URL that matches an item in this list. Both the location of the *.crx file and the page where the download is started from (i.e.  the referrer) must be allowed by these patterns.
2037           "allowed_types": This setting whitelists the allowed types of extension/apps that can be installed in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.  The value is a list of strings, each of which should be one of the following: "extension", "theme", "user_script", "hosted_app", "legacy_packaged_app", "platform_app". See the <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> extensions documentation for more information on these types.
2039           This policy isn't ready for usage yet, please don't use it.
2040           '''
2041         },
2042       ],
2043     },
2044     {
2045       'name': 'ShowHomeButton',
2046       'type': 'main',
2047       'schema': { 'type': 'boolean' },
2048       'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
2049       'features': {
2050         'can_be_recommended': True,
2051         'dynamic_refresh': True,
2052         'per_profile': True,
2053       },
2054       'example_value': True,
2055       'id': 35,
2056       'caption': '''Show Home button on toolbar''',
2057       'desc': '''Shows the Home button on <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s toolbar.
2059       If you enable this setting, the Home button is always shown.
2061       If you disable this setting, the Home button is never shown.
2063       If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
2065       Leaving this policy not set will allow the user to choose whether to show the home button.''',
2066     },
2067     {
2068       'name': 'DeveloperToolsDisabled',
2069       'type': 'main',
2070       'schema': { 'type': 'boolean' },
2071       'supported_on': ['chrome.*:9-', 'chrome_os:11-'],
2072       'features': {
2073         'dynamic_refresh': True,
2074         'per_profile': True,
2075       },
2076       'example_value': False,
2077       'id': 36,
2078       'caption': '''Disable Developer Tools''',
2079       'desc': '''Disables the Developer Tools and the JavaScript console.
2081       If you enable this setting, the Developer Tools can not be accessed and web-site elements can not be inspected anymore. Any keyboard shortcuts and any menu or context menu entries to open the Developer Tools or the JavaScript Console will be disabled.
2083       Setting this option to disabled or leaving it not set will allow the use to use the Developer Tools and the JavaScript console.''',
2084     },
2085     {
2086       'name': 'RestoreOnStartupGroup',
2087       'type': 'group',
2088       'caption': '''Startup pages''',
2089       'desc': '''Allows you to configure the pages that are loaded on startup.
2091       The contents of the list 'URLs to open at startup' are ignored unless you select 'Open a list of URLs' in 'Action on startup'.''',
2092       'policies': [
2093         {
2094           'name': 'RestoreOnStartup',
2095           'type': 'int-enum',
2096           'schema': {
2097             'type': 'integer',
2098             'enum': [ 1, 4, 5 ],
2099           },
2100           'items': [
2101             {
2102               'name': 'RestoreOnStartupIsNewTabPage',
2103               'value': 5,
2104               'caption': '''Open New Tab Page''',
2105             },
2106             {
2107               'name': 'RestoreOnStartupIsLastSession',
2108               'value': 1,
2109               'caption': '''Restore the last session''',
2110             },
2111             {
2112               'name': 'RestoreOnStartupIsURLs',
2113               'value': 4,
2114               'caption': '''Open a list of URLs''',
2115             },
2116           ],
2117           'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
2118           'features': {
2119             'can_be_recommended': True,
2120             'dynamic_refresh': True,
2121             'per_profile': True,
2122           },
2123           'example_value': 4,
2124           'id': 37,
2125           'caption': '''Action on startup''',
2126           'desc': '''Allows you to specify the behavior on startup.
2128           If you choose 'Open New Tab Page' the New Tab Page will always be opened when you start <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
2130           If you choose 'Restore the last session', the URLs that were open last time <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> was closed will be reopened and the browsing session will be restored as it was left.
2131           Choosing this option disables some settings that rely on sessions or that perform actions on exit (such as Clear browsing data on exit or session-only cookies).
2133           If you choose 'Open a list of URLs', the list of 'URLs to open on startup' will be opened when a user starts <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
2135           If you enable this setting, users cannot change or override it in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
2137           Disabling this setting is equivalent to leaving it not configured. The user will still be able to change it in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
2139           This policy is not available on Windows instances that are not joined
2140           to an Active Directory domain.''',
2141         },
2142         {
2143           'name': 'RestoreOnStartupURLs',
2144           'type': 'list',
2145           'schema': {
2146             'type': 'array',
2147             'items': { 'type': 'string' },
2148           },
2149           'supported_on': ['chrome.*:8-', 'chrome_os:11-'],
2150           'features': {
2151             'can_be_recommended': True,
2152             'dynamic_refresh': True,
2153             'per_profile': True,
2154           },
2155           'example_value': ['http://example.com', 'http://chromium.org'],
2156           'id': 38,
2157           'caption': '''URLs to open on startup''',
2158           'desc': '''If 'Open a list of URLs' is selected as the startup action, this allows you to specify the list of URLs that are opened. If left not set no URL will be opened on start up.
2160           This policy only works if the 'RestoreOnStartup' policy is set to 'RestoreOnStartupIsURLs'.
2162           This policy is not available on Windows instances that are not joined
2163           to an Active Directory domain.''',
2164         },
2165       ],
2166     },
2167     {
2168       'name': 'BlockThirdPartyCookies',
2169       'type': 'main',
2170       'schema': { 'type': 'boolean' },
2171       'supported_on': ['chrome.*:10-', 'chrome_os:11-'],
2172       'features': {
2173         'can_be_recommended': True,
2174         'dynamic_refresh': True,
2175         'per_profile': True,
2176       },
2177       'example_value': False,
2178       'id': 39,
2179       'caption': '''Block third party cookies''',
2180       'desc': '''Blocks third party cookies.
2182       Enabling this setting prevents cookies from being set by web page elements that are not from the domain that is in the browser's address bar.
2184       Disabling this setting allows cookies to be set by web page elements that are not from the domain that is in the browser's address bar and prevents users from changing this setting.
2186       If this policy is left not set, third party cookies will be enabled but the user will be able to change that.''',
2187     },
2188     {
2189       # TODO(joaodasilva): Flag these policies with 'can_be_recommended'
2190       # after fixing http://crbug.com/106683
2191       'name': 'DefaultSearchProvider',
2192       'type': 'group',
2193       'caption': '''Default search provider''',
2194       'desc': '''Configures the default search provider. You can specify the default search provider that the user will use or choose to disable default search.''',
2195       'policies': [
2196         {
2197           'name': 'DefaultSearchProviderEnabled',
2198           'type': 'main',
2199           'schema': { 'type': 'boolean' },
2200           'supported_on': [
2201             'chrome.*:8-',
2202             'chrome_os:11-',
2203             'android:30-',
2204             'ios:34-',
2205           ],
2206           'features': {
2207             'dynamic_refresh': True,
2208             'per_profile': True,
2209           },
2210           'example_value': True,
2211           'id': 40,
2212           'caption': '''Enable the default search provider''',
2213           'desc': '''Enables the use of a default search provider.
2215           If you enable this setting, a default search is performed when the user types text in the omnibox that is not a URL.
2217           You can specify the default search provider to be used by setting the rest of the default search policies. If these are left empty, the user can choose the default provider.
2219           If you disable this setting, no search is performed when the user enters non-URL text in the omnibox.
2221           If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
2223           If this policy is left not set, the default search provider is enabled, and the user will be able to set the search provider list.
2225           This policy is not available on Windows instances that are not joined
2226           to an Active Directory domain.''',
2227         },
2228         {
2229           'name': 'DefaultSearchProviderName',
2230           'type': 'string',
2231           'schema': { 'type': 'string' },
2232           'supported_on': [
2233             'chrome.*:8-',
2234             'chrome_os:11-',
2235             'android:30-',
2236             'ios:34-',
2237           ],
2238           'features': {
2239             'dynamic_refresh': True,
2240             'per_profile': True,
2241           },
2242           'example_value': 'My Intranet Search',
2243           'id': 41,
2244           'caption': '''Default search provider name''',
2245           'desc': '''Specifies the name of the default search provider. If left empty or not set, the host name specified by the search URL will be used.
2247           This policy is only considered if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2248         },
2249         {
2250           'name': 'DefaultSearchProviderKeyword',
2251           'type': 'string',
2252           'schema': { 'type': 'string' },
2253           'supported_on': [
2254             'chrome.*:8-',
2255             'chrome_os:11-',
2256             'android:30-',
2257             'ios:34-',
2258           ],
2259           'features': {
2260             'dynamic_refresh': True,
2261             'per_profile': True,
2262           },
2263           'example_value': 'mis',
2264           'id': 42,
2265           'caption': '''Default search provider keyword''',
2266           'desc': '''Specifies the keyword, which is the shortcut used in the omnibox to trigger the search for this provider.
2268           This policy is optional. If not set, no keyword will activate the search provider.
2270           This policy is only considered if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2271         },
2272         {
2273           'name': 'DefaultSearchProviderSearchURL',
2274           'type': 'string',
2275           'schema': { 'type': 'string' },
2276           'supported_on': [
2277             'chrome.*:8-',
2278             'chrome_os:11-',
2279             'android:30-',
2280             'ios:34-',
2281           ],
2282           'features': {
2283             'dynamic_refresh': True,
2284             'per_profile': True,
2285           },
2286           'example_value': 'http://search.my.company/search?q={searchTerms}',
2287           'id': 43,
2288           'caption': '''Default search provider search URL''',
2289           'desc': '''Specifies the URL of the search engine used when doing a default search. The URL should contain the string '<ph name="SEARCH_TERM_MARKER">{searchTerms}</ph>', which will be replaced at query time by the terms the user is searching for.
2291           This option must be set when the 'DefaultSearchProviderEnabled' policy is enabled and will only be respected if this is the case.''',
2292         },
2293         {
2294           'name': 'DefaultSearchProviderSuggestURL',
2295           'type': 'string',
2296           'schema': { 'type': 'string' },
2297           'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
2298           'features': {
2299             'dynamic_refresh': True,
2300             'per_profile': True,
2301           },
2302           'example_value': 'http://search.my.company/suggest?q={searchTerms}',
2303           'id': 44,
2304           'caption': '''Default search provider suggest URL''',
2305           'desc': '''Specifies the URL of the search engine used to provide search suggestions. The URL should contain the string '<ph name="SEARCH_TERM_MARKER">{searchTerms}</ph>', which will be replaced at query time by the text the user has entered so far.
2307           This policy is optional. If not set, no suggest URL will be used.
2309           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2310         },
2311         {
2312           'name': 'DefaultSearchProviderInstantURL',
2313           'type': 'string',
2314           'schema': { 'type': 'string' },
2315           'supported_on': ['chrome.*:10-', 'chrome_os:11-', 'android:30-'],
2316           'features': {
2317             'dynamic_refresh': True,
2318             'per_profile': True,
2319           },
2320           'example_value': 'http://search.my.company/suggest?q={searchTerms}',
2321           'id': 45,
2322           'caption': '''Default search provider instant URL''',
2323           'desc': '''Specifies the URL of the search engine used to provide instant results. The URL should contain the string <ph name="SEARCH_TERM_MARKER">'{searchTerms}'</ph>, which will be replaced at query time by the text the user has entered so far.
2325           This policy is optional. If not set, no instant search results will be provided.
2327           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2328         },
2329         {
2330           'name': 'DefaultSearchProviderIconURL',
2331           'type': 'string',
2332           'schema': { 'type': 'string' },
2333           'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
2334           'features': {
2335             'dynamic_refresh': True,
2336             'per_profile': True,
2337           },
2338           'example_value': 'http://search.my.company/favicon.ico',
2339           'id': 46,
2340           'caption': '''Default search provider icon''',
2341           'desc': '''Specifies the favorite icon URL of the default search provider.
2343           This policy is optional. If not set, no icon will be present for the search provider.
2345           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2346         },
2347         {
2348           'name': 'DefaultSearchProviderEncodings',
2349           'type': 'list',
2350           'schema': {
2351             'type': 'array',
2352             'items': { 'type': 'string' },
2353           },
2354           'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:30-'],
2355           'features': {
2356             'dynamic_refresh': True,
2357             'per_profile': True,
2358           },
2359           'example_value': ['UTF-8', 'UTF-16', 'GB2312', 'ISO-8859-1'],
2360           'id': 47,
2361           'caption': '''Default search provider encodings''',
2362           'desc': '''Specifies the character encodings supported by the search provider. Encodings are code page names like UTF-8, GB2312, and ISO-8859-1. They are tried in the order provided.
2364           This policy is optional. If not set, the default will be used which is UTF-8.
2366           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2367         },
2368         {
2369           'name': 'DefaultSearchProviderAlternateURLs',
2370           'type': 'list',
2371           'schema': {
2372             'type': 'array',
2373             'items': { 'type': 'string' },
2374           },
2375           'supported_on': ['chrome.*:24-', 'chrome_os:24-', 'android:30-'],
2376           'features': {
2377             'dynamic_refresh': True,
2378             'per_profile': True,
2379           },
2380           'example_value': ['http://search.my.company/suggest#q={searchTerms}', 'http://search.my.company/suggest/search#q={searchTerms}'],
2381           'id': 161,
2382           'caption': '''List of alternate URLs for the default search provider''',
2383           'desc': '''Specifies a list of alternate URLs that can be used to extract search terms from the search engine. The URLs should contain the string <ph name="SEARCH_TERM_MARKER">'{searchTerms}'</ph>, which will be used to extract the search terms.
2385           This policy is optional. If not set, no alternate urls will be used to extract search terms.
2387           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2388         },
2389         {
2390           'name': 'DefaultSearchProviderSearchTermsReplacementKey',
2391           'type': 'string',
2392           'schema': { 'type': 'string' },
2393           'supported_on': ['chrome.*:25-', 'chrome_os:25-', 'android:30-'],
2394           'features': {
2395             'dynamic_refresh': True,
2396             'per_profile': True,
2397           },
2398           'example_value': 'espv',
2399           'id': 171,
2400           'caption': '''Parameter controlling search term placement for the default search provider''',
2401           'desc': '''If this policy is set and a search URL suggested from the omnibox contains this parameter in the query string or in the fragment identifier, then the suggestion will show the search terms and search provider instead of the raw search URL.
2403           This policy is optional. If not set, no search term replacement will be performed.
2405           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2406         },
2407         {
2408           'name': 'DefaultSearchProviderImageURL',
2409           'type': 'string',
2410           'schema': { 'type': 'string' },
2411           'supported_on': ['chrome.*:29-', 'chrome_os:29-', 'android:30-'],
2412           'features': {
2413             'dynamic_refresh': True,
2414             'per_profile': True,
2415           },
2416           'example_value': 'http://search.my.company/searchbyimage/upload',
2417           'id': 229,
2418           'caption': '''Parameter providing search-by-image feature for the default search provider''',
2419           'desc': '''Specifies the URL of the search engine used to provide image search. Search requests will be sent using the GET method. If the DefaultSearchProviderImageURLPostParams policy is set then image search requests will use the POST method instead.
2421           This policy is optional. If not set, no image search will be used.
2423           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2424         },
2425         {
2426           'name': 'DefaultSearchProviderNewTabURL',
2427           'type': 'string',
2428           'schema': { 'type': 'string' },
2429           'supported_on': ['chrome.*:30-', 'chrome_os:30-', 'android:30-'],
2430           'features': {
2431             'dynamic_refresh': True,
2432             'per_profile': True,
2433           },
2434           'example_value': 'http://search.my.company/newtab',
2435           'id': 237,
2436           'caption': '''Default search provider new tab page URL''',
2437           'desc': '''Specifies the URL that a search engine uses to provide a new tab page.
2439           This policy is optional. If not set, no new tab page will be provided.
2441           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2442         },
2443         {
2444           'name': 'DefaultSearchProviderSearchURLPostParams',
2445           'type': 'string',
2446           'schema': { 'type': 'string' },
2447           'supported_on': ['chrome.*:29-', 'chrome_os:29-', 'android:30-'],
2448           'features': {
2449             'dynamic_refresh': True,
2450             'per_profile': True,
2451           },
2452           'example_value': 'q={searchTerms},ie=utf-8,oe=utf-8',
2453           'id': 230,
2454           'caption': '''Parameters for search URL which uses POST''',
2455           'desc': '''Specifies the parameters used when searching a URL with POST. It consists of comma-separated name/value pairs. If a value is a template parameter, like {searchTerms} in above example, it will be replaced with real search terms data.
2457           This policy is optional. If not set, search request will be sent using the GET method.
2459           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2460         },
2461         {
2462           'name': 'DefaultSearchProviderSuggestURLPostParams',
2463           'type': 'string',
2464           'schema': { 'type': 'string' },
2465           'supported_on': ['chrome.*:29-', 'chrome_os:29-', 'android:30-'],
2466           'features': {
2467             'dynamic_refresh': True,
2468             'per_profile': True,
2469           },
2470           'example_value': 'q={searchTerms},ie=utf-8,oe=utf-8',
2471           'id': 231,
2472           'caption': '''Parameters for suggest URL which uses POST''',
2473           'desc': '''Specifies the parameters used when doing suggestion search with POST. It consists of comma-separated name/value pairs. If a value is a template parameter, like {searchTerms} in above example, it will be replaced with real search terms data.
2475           This policy is optional. If not set, suggest search request will be sent using the GET method.
2477           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2478         },
2479         {
2480           'name': 'DefaultSearchProviderInstantURLPostParams',
2481           'type': 'string',
2482           'schema': { 'type': 'string' },
2483           'supported_on': ['chrome.*:29-', 'chrome_os:29-', 'android:30-'],
2484           'features': {
2485             'dynamic_refresh': True,
2486             'per_profile': True,
2487           },
2488           'example_value': 'q={searchTerms},ie=utf-8,oe=utf-8',
2489           'id': 232,
2490           'caption': '''Parameters for instant URL which uses POST''',
2491           'desc': '''Specifies the parameters used when doing instant search with POST. It consists of comma-separated name/value pairs. If a value is a template parameter, like {searchTerms} in above example, it will be replaced with real search terms data.
2493           This policy is optional. If not set, instant search request will be sent using the GET method.
2495           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2496         },
2497         {
2498           'name': 'DefaultSearchProviderImageURLPostParams',
2499           'type': 'string',
2500           'schema': { 'type': 'string' },
2501           'supported_on': ['chrome.*:29-', 'chrome_os:29-', 'android:30-'],
2502           'features': {
2503             'dynamic_refresh': True,
2504             'per_profile': True,
2505           },
2506           'example_value': 'content={imageThumbnail},url={imageURL},sbisrc={SearchSource}',
2507           'id': 233,
2508           'caption': '''Parameters for image URL which uses POST''',
2509           'desc': '''Specifies the parameters used when doing image search with POST. It consists of comma-separated name/value pairs. If a value is a template parameter, like {imageThumbnail} in above example, it will be replaced with real image thumbnail data.
2511           This policy is optional. If not set, image search request will be sent using the GET method.
2513           This policy is only respected if the 'DefaultSearchProviderEnabled' policy is enabled.''',
2514         },
2515       ],
2516     },
2517     {
2518       # TODO(joaodasilva): Flag these policies with 'can_be_recommended'
2519       # after fixing http://crbug.com/106682
2520       'name': 'ContentSettings',
2521       'type': 'group',
2522       'caption': '''Content Settings''',
2523       'desc': '''Content Settings allow you to specify how contents of a specific type (for example Cookies, Images or JavaScript) is handled.''',
2524       'policies': [
2525         {
2526           'name': 'DefaultCookiesSetting',
2527           'type': 'int-enum',
2528           'schema': {
2529             'type': 'integer',
2530             'enum': [ 1, 2, 4 ],
2531           },
2532           'items': [
2533             {
2534               'name': 'AllowCookies',
2535               'value': 1,
2536               'caption': '''Allow all sites to set local data''',
2537             },
2538             {
2539               'name': 'BlockCookies',
2540               'value': 2,
2541               'caption': '''Do not allow any site to set local data''',
2542             },
2543             {
2544               'name': 'SessionOnly',
2545               'value': 4,
2546               'caption': '''Keep cookies for the duration of the session''',
2547             },
2548           ],
2549           'supported_on': [
2550             'chrome.*:10-',
2551             'chrome_os:11-',
2552             'android:30-',
2553             'ios:34-',
2554           ],
2555           'features': {
2556             'dynamic_refresh': True,
2557             'per_profile': True,
2558           },
2559           'example_value': 1,
2560           'id': 48,
2561           'caption': '''Default cookies setting''',
2562           'desc': '''Allows you to set whether websites are allowed to set local data. Setting local data can be either allowed for all websites or denied for all websites.
2564           If this policy is set to 'Keep cookies for the duration of the session' then cookies will be cleared when the session closes. Note that if <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is running in 'background mode', the session may not close when the last window is closed. Please see the 'BackgroundModeEnabled' policy for more information about configuring this behavior.
2566           If this policy is left not set, 'AllowCookies' will be used and the user will be able to change it.''',
2567         },
2568         {
2569           'name': 'DefaultImagesSetting',
2570           'type': 'int-enum',
2571           'schema': {
2572             'type': 'integer',
2573             'enum': [ 1, 2 ],
2574           },
2575           'items': [
2576             {
2577               'name': 'AllowImages',
2578               'value': 1,
2579               'caption': '''Allow all sites to show all images''',
2580             },
2581             {
2582               'name': 'BlockImages',
2583               'value': 2,
2584               'caption': '''Do not allow any site to show images''',
2585             },
2586           ],
2587           'supported_on': ['chrome.*:10-', 'chrome_os:11-', 'android:30-'],
2588           'features': {
2589             'dynamic_refresh': True,
2590             'per_profile': True,
2591           },
2592           'example_value': 1,
2593           'id': 49,
2594           'caption': '''Default images setting''',
2595           'desc': '''Allows you to set whether websites are allowed to display images. Displaying images can be either allowed for all websites or denied for all websites.
2597           If this policy is left not set, 'AllowImages' will be used and the user will be able to change it.''',
2598         },
2599         {
2600           'name': 'DefaultJavaScriptSetting',
2601           'type': 'int-enum',
2602           'schema': {
2603             'type': 'integer',
2604             'enum': [ 1, 2 ],
2605           },
2606           'items': [
2607             {
2608               'name': 'AllowJavaScript',
2609               'value': 1,
2610               'caption': '''Allow all sites to run JavaScript''',
2611             },
2612             {
2613               'name': 'BlockJavaScript',
2614               'value': 2,
2615               'caption': '''Do not allow any site to run JavaScript''',
2616             },
2617           ],
2618           'supported_on': ['chrome.*:10-', 'chrome_os:11-', 'android:30-'],
2619           'features': {
2620             'dynamic_refresh': True,
2621             'per_profile': True,
2622           },
2623           'example_value': 1,
2624           'id': 50,
2625           'caption': '''Default JavaScript setting''',
2626           'desc': '''Allows you to set whether websites are allowed to run JavaScript. Running JavaScript can be either allowed for all websites or denied for all websites.
2628           If this policy is left not set, 'AllowJavaScript' will be used and the user will be able to change it.''',
2629         },
2630         {
2631           'name': 'DefaultPluginsSetting',
2632           'type': 'int-enum',
2633           'schema': {
2634             'type': 'integer',
2635             'enum': [ 1, 2, 3 ],
2636           },
2637           'items': [
2638             {
2639               'name': 'AllowPlugins',
2640               'value': 1,
2641               'caption': '''Allow all sites to automatically run plugins''',
2642             },
2643             {
2644               'name': 'BlockPlugins',
2645               'value': 2,
2646               'caption': '''Block all plugins''',
2647             },
2648             {
2649               'name': 'ClickToPlay',
2650               'value': 3,
2651               'caption': '''Click to play''',
2652             },
2653           ],
2654           'supported_on': ['chrome.*:10-', 'chrome_os:11-'],
2655           'features': {
2656             'dynamic_refresh': True,
2657             'per_profile': True,
2658           },
2659           'example_value': 1,
2660           'id': 51,
2661           'caption': '''Default plugins setting''',
2662           'desc': '''Allows you to set whether websites are allowed to automatically run plugins. Automatically running plugins can be either allowed for all websites or denied for all websites.
2664           Click to play allows plugins to run but the user must click them to start their execution.
2666           If this policy is left not set, 'AllowPlugins' will be used and the user will be able to change it.''',
2667         },
2668         {
2669           'name': 'DefaultPopupsSetting',
2670           'type': 'int-enum',
2671           'schema': {
2672             'type': 'integer',
2673             'enum': [ 1, 2 ],
2674           },
2675           'items': [
2676             {
2677               'name': 'AllowPopups',
2678               'value': 1,
2679               'caption': '''Allow all sites to show pop-ups''',
2680             },
2681             {
2682               'name': 'BlockPopups',
2683               'value': 2,
2684               'caption': '''Do not allow any site to show popups''',
2685             },
2686           ],
2687           'supported_on': [
2688             'chrome.*:10-',
2689             'chrome_os:11-',
2690             'ios:34-',
2691             'android:33-',
2692           ],
2693           'features': {
2694             'dynamic_refresh': True,
2695             'per_profile': True,
2696           },
2697           'example_value': 1,
2698           'id': 52,
2699           'caption': '''Default popups setting''',
2700           'desc': '''Allows you to set whether websites are allowed to show pop-ups. Showing popups can be either allowed for all websites or denied for all websites.
2702           If this policy is left not set, 'BlockPopups' will be used and the user will be able to change it.''',
2703         },
2704         {
2705           'name': 'DefaultNotificationsSetting',
2706           'type': 'int-enum',
2707           'schema': {
2708             'type': 'integer',
2709             'enum': [ 1, 2, 3 ],
2710           },
2711           'items': [
2712             {
2713               'name': 'AllowNotifications',
2714               'value': 1,
2715               'caption': '''Allow sites to show desktop notifications''',
2716             },
2717             {
2718               'name': 'BlockNotifications',
2719               'value': 2,
2720               'caption': '''Do not allow any site to show desktop notifications''',
2721             },
2722             {
2723               'name': 'AskNotifications',
2724               'value': 3,
2725               'caption': '''Ask every time a site wants to show desktop notifications''',
2726             },
2727           ],
2728           'supported_on': ['chrome.*:10-', 'chrome_os:11-'],
2729           'features': {
2730             'dynamic_refresh': True,
2731             'per_profile': True,
2732           },
2733           'example_value': 2,
2734           'id': 53,
2735           'caption': '''Default notification setting''',
2736           'desc': '''Allows you to set whether websites are allowed to display desktop notifications. Displaying desktop notifications can be allowed by default, denied by default or the user can be asked every time a website wants to show desktop notifications.
2738           If this policy is left not set, 'AskNotifications' will be used and the user will be able to change it.''',
2739         },
2740         {
2741           'name': 'DefaultGeolocationSetting',
2742           'type': 'int-enum',
2743           'schema': {
2744             'type': 'integer',
2745             'enum': [ 1, 2, 3 ],
2746           },
2747           'items': [
2748             {
2749               'name': 'AllowGeolocation',
2750               'value': 1,
2751               'caption': '''Allow sites to track the users' physical location''',
2752             },
2753             {
2754               'name': 'BlockGeolocation',
2755               'value': 2,
2756               'caption': '''Do not allow any site to track the users' physical location''',
2757             },
2758             {
2759               'name': 'AskGeolocation',
2760               'value': 3,
2761               'caption': '''Ask whenever a site wants to track the users' physical location''',
2762             },
2763           ],
2764           'supported_on': ['chrome.*:10-', 'chrome_os:11-', 'android:30-'],
2765           'features': {
2766             'dynamic_refresh': True,
2767             'per_profile': True,
2768           },
2769           'example_value': 0,
2770           'id': 54,
2771           'caption': '''Default geolocation setting''',
2772           'desc': '''Allows you to set whether websites are allowed to track the users' physical location. Tracking the users' physical location can be allowed by default, denied by default or the user can be asked every time a website requests the physical location.
2774           If this policy is left not set, 'AskGeolocation' will be used and the user will be able to change it.''',
2775         },
2776         {
2777           'name': 'DefaultMediaStreamSetting',
2778           'type': 'int-enum',
2779           'schema': {
2780             'type': 'integer',
2781             'enum': [ 2, 3 ],
2782           },
2783           'items': [
2784             {
2785               'name': 'BlockAccess',
2786               'value': 2,
2787               'caption': '''Do not allow any site to access the camera and microphone''',
2788             },
2789             {
2790               'name': 'PromptOnAccess',
2791               'value': 3,
2792               'caption': '''Ask every time a site wants to access the camera and/or microphone''',
2793             },
2794           ],
2795           'supported_on': ['chrome.*:22-', 'chrome_os:22-'],
2796           'features': {
2797             'dynamic_refresh': True,
2798             'per_profile': True,
2799           },
2800           'deprecated': True,
2801           'example_value': 2,
2802           'id': 149,
2803           'caption': '''Default mediastream setting''',
2804           'desc': '''Allows you to set whether websites are allowed to get access to media capture devices. Access to media capture devices can be allowed by default, or the user can be asked every time a website wants to get access to media capture devices.
2806           If this policy is left not set, 'PromptOnAccess' will be used and the user will be able to change it.''',
2807         },
2808         {
2809           'name': 'AutoSelectCertificateForUrls',
2810           'type': 'list',
2811           'schema': {
2812             'type': 'array',
2813             'items': { 'type': 'string' },
2814           },
2815           'supported_on': ['chrome.*:15-', 'chrome_os:15-'],
2816           'features': {
2817             'dynamic_refresh': True,
2818             'per_profile': True,
2819           },
2820           'example_value': ["{\\\"pattern\\\":\\\"https://www.example.com\\\",\\\"filter\\\":{\\\"ISSUER\\\":{\\\"CN\\\":\\\"certificate issuer name\\\"}}}"],
2821           'id': 102,
2822           'caption': '''Automatically select client certificates for these sites''',
2823           'desc': '''Allows you to specify a list of url patterns that specify sites for which <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> should automatically select a client certificates, if the site requests a certificate.
2825           If this policy is left not set no auto-selection will be done for any site.''',
2826         },
2827         {
2828           'name': 'CookiesAllowedForUrls',
2829           'type': 'list',
2830           'schema': {
2831             'type': 'array',
2832             'items': { 'type': 'string' },
2833           },
2834           'supported_on': [
2835             'chrome.*:11-',
2836             'chrome_os:11-',
2837             'android:30-',
2838             'ios:34-',
2839           ],
2840           'features': {
2841             'dynamic_refresh': True,
2842             'per_profile': True,
2843           },
2844           'example_value': ['http://www.example.com', '[*.]example.edu'],
2845           'id': 77,
2846           'caption': '''Allow cookies on these sites''',
2847           'desc': '''Allows you to set a list of url patterns that specify sites which are allowed to set cookies.
2849           If this policy is left not set the global default value will be used for all sites either from the 'DefaultCookiesSetting' policy if it is set, or the user's personal configuration otherwise.''',
2850         },
2851         {
2852           'name': 'CookiesBlockedForUrls',
2853           'type': 'list',
2854           'schema': {
2855             'type': 'array',
2856             'items': { 'type': 'string' },
2857           },
2858           'supported_on': [
2859             'chrome.*:11-',
2860             'chrome_os:11-',
2861             'android:30-',
2862             'ios:34-',
2863           ],
2864           'features': {
2865             'dynamic_refresh': True,
2866             'per_profile': True,
2867           },
2868           'example_value': ['http://www.example.com', '[*.]example.edu'],
2869           'id': 67,
2870           'caption': '''Block cookies on these sites''',
2871           'desc': '''Allows you to set a list of url patterns that specify sites which are not allowed to set cookies.
2873           If this policy is left not set the global default value will be used for all sites either from the 'DefaultCookiesSetting' policy if it is set, or the user's personal configuration otherwise.''',
2874         },
2875         {
2876           'name': 'CookiesSessionOnlyForUrls',
2877           'type': 'list',
2878           'schema': {
2879             'type': 'array',
2880             'items': { 'type': 'string' },
2881           },
2882           'supported_on': [
2883             'chrome.*:11-',
2884             'chrome_os:11-',
2885             'android:30-',
2886             'ios:34-',
2887           ],
2888           'features': {
2889             'dynamic_refresh': True,
2890             'per_profile': True,
2891           },
2892           'example_value': ['http://www.example.com', '[*.]example.edu'],
2893           'id': 68,
2894           'caption': '''Allow session only cookies on these sites''',
2895           'desc': '''Allows you to set a list of url patterns that specify sites which are allowed to set session only cookies.
2897           If this policy is left not set the global default value will be used for all sites either from the 'DefaultCookiesSetting' policy if it is set, or the user's personal configuration otherwise.
2899           Note that if <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is running in 'background mode', the session may not be closed when the last browser window is closed, but will instead stay active until the browser exits. Please see the 'BackgroundModeEnabled' policy for more information about configuring this behavior.
2901           If the "RestoreOnStartup" policy is set to restore URLs from previous sessions this policy will not be respected and cookies will be stored permanently for those sites.''',
2902         },
2903         {
2904           'name': 'ImagesAllowedForUrls',
2905           'type': 'list',
2906           'schema': {
2907             'type': 'array',
2908             'items': { 'type': 'string' },
2909           },
2910           'supported_on': ['chrome.*:11-', 'chrome_os:11-', 'android:30-'],
2911           'features': {
2912             'dynamic_refresh': True,
2913             'per_profile': True,
2914           },
2915           'example_value': ['http://www.example.com', '[*.]example.edu'],
2916           'id': 69,
2917           'caption': '''Allow images on these sites''',
2918           'desc': '''Allows you to set a list of url patterns that specify sites which are allowed to display images.
2920           If this policy is left not set the global default value will be used for all sites either from the 'DefaultImagesSetting' policy if it is set, or the user's personal configuration otherwise.''',
2921         },
2922         {
2923           'name': 'ImagesBlockedForUrls',
2924           'type': 'list',
2925           'schema': {
2926             'type': 'array',
2927             'items': { 'type': 'string' },
2928           },
2929           'supported_on': ['chrome.*:11-', 'chrome_os:11-', 'android:30-'],
2930           'features': {
2931             'dynamic_refresh': True,
2932             'per_profile': True,
2933           },
2934           'example_value': ['http://www.example.com', '[*.]example.edu'],
2935           'id': 70,
2936           'caption': '''Block images on these sites''',
2937           'desc': '''Allows you to set a list of url patterns that specify sites which are not allowed to display images.
2939           If this policy is left not set the global default value will be used for all sites either from the 'DefaultImagesSetting' policy if it is set, or the user's personal configuration otherwise.''',
2940         },
2941         {
2942           'name': 'JavaScriptAllowedForUrls',
2943           'type': 'list',
2944           'schema': {
2945             'type': 'array',
2946             'items': { 'type': 'string' },
2947           },
2948           'supported_on': ['chrome.*:11-', 'chrome_os:11-', 'android:30-'],
2949           'features': {
2950             'dynamic_refresh': True,
2951             'per_profile': True,
2952           },
2953           'example_value': ['http://www.example.com', '[*.]example.edu'],
2954           'id': 71,
2955           'caption': '''Allow JavaScript on these sites''',
2956           'desc': '''Allows you to set a list of url patterns that specify sites which are allowed to run JavaScript.
2958           If this policy is left not set the global default value will be used for all sites either from the 'DefaultJavaScriptSetting' policy if it is set, or the user's personal configuration otherwise.''',
2959         },
2960         {
2961           'name': 'JavaScriptBlockedForUrls',
2962           'type': 'list',
2963           'schema': {
2964             'type': 'array',
2965             'items': { 'type': 'string' },
2966           },
2967           'supported_on': ['chrome.*:11-', 'chrome_os:11-', 'android:30-'],
2968           'features': {
2969             'dynamic_refresh': True,
2970             'per_profile': True,
2971           },
2972           'example_value': ['http://www.example.com', '[*.]example.edu'],
2973           'id': 72,
2974           'caption': '''Block JavaScript on these sites''',
2975           'desc': '''Allows you to set a list of url patterns that specify sites which are not allowed to run JavaScript.
2977           If this policy is left not set the global default value will be used for all sites either from the 'DefaultJavaScriptSetting' policy if it is set, or the user's personal configuration otherwise.''',
2978         },
2979         {
2980           'name': 'PluginsAllowedForUrls',
2981           'type': 'list',
2982           'schema': {
2983             'type': 'array',
2984             'items': { 'type': 'string' },
2985           },
2986           'supported_on': ['chrome.*:11-', 'chrome_os:11-'],
2987           'features': {
2988             'dynamic_refresh': True,
2989             'per_profile': True,
2990           },
2991           'example_value': ['http://www.example.com', '[*.]example.edu'],
2992           'id': 73,
2993           'caption': '''Allow plugins on these sites''',
2994           'desc': '''Allows you to set a list of url patterns that specify sites which are allowed to run plugins.
2996           If this policy is left not set the global default value will be used for all sites either from the 'DefaultPluginsSetting' policy if it is set, or the user's personal configuration otherwise.''',
2997         },
2998         {
2999           'name': 'PluginsBlockedForUrls',
3000           'type': 'list',
3001           'schema': {
3002             'type': 'array',
3003             'items': { 'type': 'string' },
3004           },
3005           'supported_on': ['chrome.*:11-', 'chrome_os:11-'],
3006           'features': {
3007             'dynamic_refresh': True,
3008             'per_profile': True,
3009           },
3010           'example_value': ['http://www.example.com', '[*.]example.edu'],
3011           'id': 74,
3012           'caption': '''Block plugins on these sites''',
3013           'desc': '''Allows you to set a list of url patterns that specify sites which are not allowed to run plugins.
3015           If this policy is left not set the global default value will be used for all sites either from the 'DefaultPluginsSetting' policy if it is set, or the user's personal configuration otherwise.''',
3016         },
3017         {
3018           'name': 'PopupsAllowedForUrls',
3019           'type': 'list',
3020           'schema': {
3021             'type': 'array',
3022             'items': { 'type': 'string' },
3023           },
3024           'supported_on': [
3025             'chrome.*:11-',
3026             'chrome_os:11-',
3027             'ios:34-',
3028             'android:34-',
3029           ],
3030           'features': {
3031             'dynamic_refresh': True,
3032             'per_profile': True,
3033           },
3034           'example_value': ['http://www.example.com', '[*.]example.edu'],
3035           'id': 75,
3036           'caption': '''Allow popups on these sites''',
3037           'desc': '''Allows you to set a list of url patterns that specify sites which are allowed to open popups.
3039           If this policy is left not set the global default value will be used for all sites either from the 'DefaultPopupsSetting' policy if it is set, or the user's personal configuration otherwise.''',
3040         },
3041         {
3042           'name': 'RegisteredProtocolHandlers',
3043           'type': 'dict',
3044           'schema': {
3045             'type': 'array',
3046             'items': {
3047               'type': 'object',
3048               'properties': {
3049                 'default': {
3050                   'description': 'A boolean flag indicating if the protocol handler should be set as the default.',
3051                   'type': 'boolean'
3052                 },
3053                 'protocol': {
3054                   'description': 'The protocol for the protocol handler.',
3055                   'type': 'string'
3056                 },
3057                 'url': {
3058                   'description': 'The URL of the protocol handler.',
3059                   'type': 'string'
3060                 }
3061               },
3062               'required': ['protocol', 'url']
3063             }
3064           },
3065           'supported_on': ['chrome.*:37-', 'chrome_os:37-'],
3066           'features': {
3067             'dynamic_refresh': False,
3068             'per_profile': True,
3069             'can_be_recommended': True,
3070             'can_be_mandatory' : False,
3071           },
3072           'example_value': [{'protocol': 'mailto', 'url': 'https://mail.google.com/mail/?extsrc=mailto&url=%s', 'default': True}],
3073           'id': 268,
3074           'caption': '''Register protocol handlers''',
3075           'desc': '''Allows you to register a list of protocol handlers. This can only be a recommended policy. The property |protocol| should be set to the scheme such as 'mailto' and the property |url| should be set to the URL pattern of the application that handles the scheme. The pattern can include a '%s', which if present will be replaced by the handled URL.
3077           The protocol handlers registered by policy are merged with the ones registered by the user and both are available for use. The user can override the protocol handlers installed by policy by installing a new default handler, but cannot remove a protocol handler registered by policy.''',
3078         },
3079         {
3080           'name': 'PopupsBlockedForUrls',
3081           'type': 'list',
3082           'schema': {
3083             'type': 'array',
3084             'items': { 'type': 'string' },
3085           },
3086           'supported_on': [
3087             'chrome.*:11-',
3088             'chrome_os:11-',
3089             'ios:34-',
3090             'android:34-',
3091           ],
3092           'features': {
3093             'dynamic_refresh': True,
3094             'per_profile': True,
3095           },
3096           'example_value': ['http://www.example.com', '[*.]example.edu'],
3097           'id': 76,
3098           'caption': '''Block popups on these sites''',
3099           'desc': '''Allows you to set a list of url patterns that specify sites which are not allowed to open popups.
3101           If this policy is left not set the global default value will be used for all sites either from the 'DefaultPopupsSetting' policy if it is set, or the user's personal configuration otherwise.''',
3102         },
3103         {
3104           'name': 'NotificationsAllowedForUrls',
3105           'type': 'list',
3106           'schema': {
3107             'type': 'array',
3108             'items': { 'type': 'string' },
3109           },
3110           'supported_on': ['chrome.*:16-', 'chrome_os:16-'],
3111           'features': {
3112             'dynamic_refresh': True,
3113             'per_profile': True,
3114           },
3115           'example_value': ['http://www.example.com', '[*.]example.edu'],
3116           'id': 105,
3117           'caption': '''Allow notifications on these sites''',
3118           'desc': '''Allows you to set a list of url patterns that specify sites which are allowed to display notifications.
3120           If this policy is left not set the global default value will be used for all sites either from the 'DefaultNotificationsSetting' policy if it is set, or the user's personal configuration otherwise.''',
3121         },
3122         {
3123           'name': 'NotificationsBlockedForUrls',
3124           'type': 'list',
3125           'schema': {
3126             'type': 'array',
3127             'items': { 'type': 'string' },
3128           },
3129           'supported_on': ['chrome.*:16-', 'chrome_os:16-'],
3130           'features': {
3131             'dynamic_refresh': True,
3132             'per_profile': True,
3133           },
3134           'example_value': ['http://www.example.com', '[*.]example.edu'],
3135           'id': 106,
3136           'caption': '''Block notifications on these sites''',
3137           'desc': '''Allows you to set a list of url patterns that specify sites which are not allowed to display notifications.
3139           If this policy is left not set the global default value will be used for all sites either from the 'DefaultNotificationsSetting' policy if it is set, or the user's personal configuration otherwise.''',
3140         },
3141       ],
3142     },
3143     {
3144       'name': 'NativeMessaging',
3145       'type': 'group',
3146       'caption': '''Native Messaging''',
3147       'desc': '''Configures policies for Native Messaging. Blacklisted native messaging hosts won't be allowed unless they are whitelisted.''',
3148       'policies': [
3149         {
3150           'name': 'NativeMessagingBlacklist',
3151           'type': 'list',
3152           'schema': {
3153             'type': 'array',
3154             'items': { 'type': 'string' },
3155           },
3156           'supported_on': ['chrome.*:34-'],
3157           'features': {
3158             'dynamic_refresh': True,
3159             'per_profile': True,
3160           },
3161           'example_value': [
3162             'com.native.messaging.host.name1',
3163             'com.native.messaging.host.name2',
3164           ],
3165           'id': 251,
3166           'caption': '''Configure native messaging blacklist''',
3167           'desc': '''Allows you to specify which native messaging hosts that should not be loaded.
3169           A blacklist value of '*' means all native messaging hosts are blacklisted unless they are explicitly listed in the whitelist.
3171           If this policy is left not set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will load all installed native messaging hosts.''',
3172           'label': '''Names of the forbidden native messaging hosts (or * for all)''',
3173         },
3174         {
3175           'name': 'NativeMessagingWhitelist',
3176           'type': 'list',
3177           'schema': {
3178             'type': 'array',
3179             'items': { 'type': 'string' },
3180           },
3181           'supported_on': ['chrome.*:34-'],
3182           'features': {
3183             'dynamic_refresh': True,
3184             'per_profile': True,
3185           },
3186           'example_value': [
3187             'com.native.messaging.host.name1',
3188             'com.native.messaging.host.name2',
3189           ],
3190           'id': 252,
3191           'caption': '''Configure native messaging whitelist''',
3192           'desc': '''Allows you to specify which native messaging hosts are not subject to the blacklist.
3194           A blacklist value of * means all native messaging hosts are blacklisted and only native messaging hosts listed in the whitelist will be loaded.
3196           By default, all native messaging hosts are whitelisted, but if all native messaging hosts have been blacklisted by policy, the whitelist can be used to override that policy.''',
3197           'label': '''Names of the native messaging hosts to exempt from the blacklist''',
3198         },
3199         {
3200           'name': 'NativeMessagingUserLevelHosts',
3201           'type': 'main',
3202           'schema': { 'type': 'boolean' },
3203           'supported_on': ['chrome.*:34-'],
3204           'features': {
3205             'dynamic_refresh': True,
3206             'per_profile': True,
3207           },
3208           'example_value': False,
3209           'id': 253,
3210           'caption': '''Allow user-level Native Messaging hosts (installed without admin permissions).''',
3211           'desc': '''Enables user-level installation of Native Messaging hosts.
3213           If this setting is enabled then <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> allows
3214           usage of Native Messaging hosts installed on user level.
3216           If this setting is disabled then <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will
3217           only use Native Messaging hosts installed on system level.
3219           If this setting is left not set <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>
3220           will allow usage of user-level Native Messaging hosts.''',
3221         },
3222       ],
3223     },
3224     {
3225       'name': 'Disable3DAPIs',
3226       'type': 'main',
3227       'schema': { 'type': 'boolean' },
3228       'supported_on': ['chrome.*:9-', 'chrome_os:11-'],
3229       'features': {
3230         'dynamic_refresh': True,
3231         'per_profile': True,
3232       },
3233       'example_value': False,
3234       'id': 55,
3235       'caption': '''Disable support for 3D graphics APIs''',
3236       'desc': '''Disable support for 3D graphics APIs.
3238       Enabling this setting prevents web pages from accessing the graphics processing unit (GPU). Specifically, web pages can not access the WebGL API and plugins can not use the Pepper 3D API.
3240       Disabling this setting or leaving it not set potentially allows web pages to use the WebGL API and plugins to use the Pepper 3D API. The default settings of the browser may still require command line arguments to be passed in order to use these APIs.''',
3241     },
3242     {
3243       'name': 'PolicyRefreshRate',
3244       'type': 'int',
3245       'schema': { 'type': 'integer' },
3246       'supported_on': ['chrome_os:11-'],
3247       'features': {
3248         'dynamic_refresh': True,
3249         'per_profile': True,
3250       },
3251       'example_value': 3600000,
3252       'id': 56,
3253       'caption': '''Refresh rate for user policy''',
3254       'desc': '''Specifies the period in milliseconds at which the device management service is queried for user policy information.
3256       Setting this policy overrides the default value of 3 hours. Valid values for this policy are in the range from 1800000 (30 minutes) to 86400000 (1 day). Any values not in this range will be clamped to the respective boundary.
3258       Leaving this policy not set will make <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> use the default value of 3 hours.''',
3259     },
3260     {
3261       'name': 'MaxInvalidationFetchDelay',
3262       'type': 'int',
3263       'schema': { 'type': 'integer' },
3264       'supported_on': ['chrome.*:30-', 'chrome_os:30-'],
3265       'features': {
3266         'dynamic_refresh': True,
3267         'per_profile': True,
3268       },
3269       'example_value': 10000,
3270       'id': 228,
3271       'caption': '''Maximum fetch delay after a policy invalidation''',
3272       'desc': '''Specifies the maximum delay in milliseconds between receiving a policy invalidation and fetching the new policy from the device management service.
3274       Setting this policy overrides the default value of 5000 milliseconds. Valid values for this policy are in the range from 1000 (1 second) to 300000 (5 minutes). Any values not in this range will be clamped to the respective boundary.
3276       Leaving this policy not set will make <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> use the default value of 5000 milliseconds.''',
3277     },
3278     {
3279       'name': 'ChromeFrameRendererSettings',
3280       'type': 'group',
3281       'caption': '''Default HTML renderer for <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph>''',
3282       'desc': '''Allows you to configure the default HTML renderer when <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> is installed.
3283       The default setting is to allow the host browser do the rendering, but you
3284       can optionally override this and have <ph name="PRODUCT_FRAME_NAME">$3<ex>
3285       Google Chrome Frame</ex></ph> render HTML pages by default.''',
3286       'policies': [
3287         {
3288           'name': 'ChromeFrameRendererSettings',
3289           'type': 'int-enum',
3290           'schema': {
3291             'type': 'integer',
3292             'enum': [ 0, 1 ],
3293           },
3294           'items': [
3295             {
3296               'name': 'RenderInHost',
3297               'value': 0,
3298               'caption': '''Use the host browser by default''',
3299             },
3300             {
3301               'name': 'RenderInChromeFrame',
3302               'value': 1,
3303               'caption': '''Use <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> by default''',
3304             },
3305           ],
3306           'supported_on': ['chrome_frame:8-32'],
3307           'features': {
3308             'dynamic_refresh': False,
3309           },
3310           'example_value': 1,
3311           'id': 57,
3312           'caption': '''Default HTML renderer for <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph>''',
3313           'desc': '''Allows you to configure the default HTML renderer when <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> is installed.
3314           The default setting used when this policy is left not set is to allow the host browser do the rendering, but you can optionally override this and have <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> render HTML pages by default.''',
3315         },
3316         {
3317           'name': 'RenderInChromeFrameList',
3318           'type': 'list',
3319           'schema': {
3320             'type': 'array',
3321             'items': { 'type': 'string' },
3322           },
3323           'supported_on': ['chrome_frame:8-32'],
3324           'features': {
3325             'dynamic_refresh': False,
3326           },
3327           'example_value': ['http://www.example.com', 'http://www.example.edu'],
3328           'id': 58,
3329           'caption': '''Always render the following URL patterns in <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph>''',
3330           'desc': '''Customize the list of URL patterns that should always be rendered by <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph>.
3332           If this policy is not set the default renderer will be used for all sites as specified by the 'ChromeFrameRendererSettings' policy.
3334           For example patterns see http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.''',
3335         },
3336         {
3337           'name': 'RenderInHostList',
3338           'type': 'list',
3339           'schema': {
3340             'type': 'array',
3341             'items': { 'type': 'string' },
3342           },
3343           'supported_on': ['chrome_frame:8-32'],
3344           'features': {
3345             'dynamic_refresh': False,
3346           },
3347           'example_value': ['http://www.example.com', 'http://www.example.edu'],
3348           'id': 59,
3349           'caption': '''Always render the following URL patterns in the host browser''',
3350           'desc': '''Customize the list of URL patterns that should always be rendered by the host browser.
3352           If this policy is not set the default renderer will be used for all sites as specified by the 'ChromeFrameRendererSettings' policy.
3354           For example patterns see http://www.chromium.org/developers/how-tos/chrome-frame-getting-started.''',
3355         },
3356         {
3357           'name': 'AdditionalLaunchParameters',
3358           'type': 'string',
3359           'schema': { 'type': 'string' },
3360           'supported_on': ['chrome_frame:19-32'],
3361           'features': {
3362             'dynamic_refresh': False,
3363           },
3364           'example_value': '--enable-media-stream --enable-media-source',
3365           'id': 141,
3366           'caption': '''Additional command line parameters for <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>''',
3367           'desc': '''Allows you to specify additional parameters that are used when <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> launches <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
3369           If this policy is not set the default command line will be used.''',
3370         },
3371         {
3372           'name': 'SkipMetadataCheck',
3373           'type': 'main',
3374           'schema': { 'type': 'boolean' },
3375           'supported_on': ['chrome_frame:31-32'],
3376           'features': {
3377             'dynamic_refresh': False,
3378           },
3379           'example_value': False,
3380           'id': 238,
3381           'caption': '''Skip the meta tag check in <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph>''',
3382           'desc': '''Normally pages with X-UA-Compatible set to chrome=1 will be rendered in <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> regardless of the 'ChromeFrameRendererSettings' policy.
3384           If you enable this setting, pages will not be scanned for meta tags.
3386           If you disable this setting, pages will be scanned for meta tags.
3388           If this policy is not set, pages will be scanned for meta tags.'''
3389         },
3390       ],
3391     },
3392     {
3393       'name': 'ChromeFrameContentTypes',
3394       'type': 'group',
3395       'caption': '''Allow <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> to handle the following content types''',
3396       'desc': '''Allow <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> to handle the following content types.''',
3397       'policies': [
3398         {
3399           'name': 'ChromeFrameContentTypes',
3400           'type': 'list',
3401           'schema': {
3402             'type': 'array',
3403             'items': { 'type': 'string' },
3404           },
3405           'supported_on': ['chrome_frame:8-32'],
3406           'features': {
3407             'dynamic_refresh': False,
3408           },
3409           'example_value': ['text/xml', 'application/xml'],
3410           'id': 60,
3411           'caption': '''Allow <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> to handle the listed content types''',
3412           'desc': '''Allow <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> to handle the listed content types.
3414           If this policy is not set the default renderer will be used for all sites as specified by the 'ChromeFrameRendererSettings' policy.''',
3415         },
3416       ],
3417     },
3418     {
3419       'name': 'ChromeOsLockOnIdleSuspend',
3420       'type': 'main',
3421       'schema': { 'type': 'boolean' },
3422       'supported_on': ['chrome_os:9-'],
3423       'features': {
3424         'can_be_recommended': True,
3425         'dynamic_refresh': True,
3426         'per_profile': True,
3427       },
3428       'example_value': True,
3429       'id': 61,
3430       'caption': '''Enable lock when the device become idle or suspended''',
3431       'desc': '''Enable lock when <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> devices become idle or suspended.
3433       If you enable this setting, users will be asked for a password to unlock the device from sleep.
3435       If you disable this setting, users will not be asked for a password to unlock the device from sleep.
3437       If you enable or disable this setting, users cannot change or override it.
3439       If the policy is left not set the user can choose whether he wants to be asked for password to unlock the device or not.''',
3440     },
3441     {
3442       'name': 'ChromeOsMultiProfileUserBehavior',
3443       'type': 'string-enum',
3444       'schema': {
3445         'type': 'string',
3446         'enum': [
3447           'unrestricted',
3448           'primary-only',
3449           'not-allowed',
3450         ],
3451       },
3452       'items': [
3453         {
3454           'name': 'MultiProfileUserBehaviorUnrestricted',
3455           'value': 'unrestricted',
3456           'caption': '''Allow enterprise user to be both primary and secondary  (Default behavior for non-managed users)''',
3457         },
3458         {
3459           'name': 'MultiProfileUserBehaviorMustBePrimary',
3460           'value': 'primary-only',
3461           'caption': '''Allow enterprise user to be primary multiprofile user only (Default behavior for enterprise-managed users)''',
3462         },
3463         {
3464           'name': 'MultiProfileUserBehaviorNotAllowed',
3465           'value': 'not-allowed',
3466           'caption': '''Do not allow enterprise user to be part of multiprofile (primary or secondary)''',
3467         },
3468       ],
3469       'supported_on': ['chrome_os:31-'],
3470       'features': {
3471         'dynamic_refresh': True,
3472         'per_profile': True,
3473       },
3474       'example_value': 'unrestricted',
3475       'default_for_enterprise_users': 'primary-only',
3476       'id': 244,
3477       'caption': '''Control the user behavior in a multiprofile session''',
3478       'desc': '''Control the user behavior in a multiprofile session on <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> devices.
3480       If this policy is set to 'MultiProfileUserBehaviorUnrestricted', the user can be either primary or secondary user in a multiprofile session.
3482       If this policy is set to 'MultiProfileUserBehaviorMustBePrimary', the user can only be the primary user in a multiprofile session.
3484       If this policy is set to 'MultiProfileUserBehaviorNotAllowed', the user cannot be part of a multiprofile session.
3486       If you set this setting, users cannot change or override it.
3488       If the setting is changed while the user is signed into a multiprofile session, all users in the session will be checked against their corresponding settings. The session will be closed if any one of the users is no longer allowed to be in the session.
3490       If the policy is left not set, the default value 'MultiProfileUserBehaviorMustBePrimary' applies for enterprise-managed users and 'MultiProfileUserBehaviorUnrestricted' will be used for non-managed users.''',
3491     },
3492     {
3493       'name': 'InstantEnabled',
3494       'type': 'main',
3495       'schema': { 'type': 'boolean' },
3496       'supported_on': ['chrome.*:11-28', 'chrome_os:11-28'],
3497       'deprecated': True,
3498       'features': {
3499         'can_be_recommended': True,
3500         'dynamic_refresh': True,
3501         'per_profile': True,
3502       },
3503       'example_value': True,
3504       'id': 62,
3505       'caption': '''Enable Instant''',
3506       'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s Instant feature and prevents users from changing this setting.
3508       If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> Instant is enabled.
3510       If you disable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> Instant is disabled.
3512       If you enable or disable this setting, users cannot change or override this setting.
3514       If this setting is left not set the user can decide to use this function or not.
3516       This setting has been removed from <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> 29 and higher versions.''',
3517     },
3518     {
3519       'name': 'TranslateEnabled',
3520       'type': 'main',
3521       'schema': { 'type': 'boolean' },
3522       'supported_on': [
3523         'chrome.*:12-',
3524         'chrome_os:12-',
3525         'android:30-',
3526         'ios:34-',
3527       ],
3528       'features': {
3529         'can_be_recommended': True,
3530         'dynamic_refresh': True,
3531         'per_profile': True,
3532       },
3533       'example_value': True,
3534       'id': 80,
3535       'caption': '''Enable Translate''',
3536       'desc': '''Enables the integrated Google Translate service on <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
3538       If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will show an integrated toolbar offering to translate the page for the user, when appropriate.
3540       If you disable this setting, users will never see the translation bar.
3542       If you enable or disable this setting, users cannot change or override this setting in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
3544       If this setting is left not set the user can decide to use this function or not.''',
3545     },
3546     {
3547       'name': 'AllowOutdatedPlugins',
3548       'type': 'main',
3549       'schema': { 'type': 'boolean' },
3550       'supported_on': ['chrome.*:12-', 'chrome_os:12-'],
3551       'features': {
3552         'dynamic_refresh': True,
3553         'per_profile': True,
3554       },
3555       'example_value': True,
3556       'id': 81,
3557       'caption': '''Allow running plugins that are outdated''',
3558       'desc': '''Allows <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to run plugins that are outdated.
3560       If you enable this setting, outdated plugins are used as normal plugins.
3562       If you disable this setting, outdated plugins will not be used and users will not be asked for permission to run them.
3564       If this setting is not set, users will be asked for permission to run outdated plugins.''',
3565     },
3566     {
3567       'name': 'AlwaysAuthorizePlugins',
3568       'type': 'main',
3569       'schema': { 'type': 'boolean' },
3570       'supported_on': ['chrome.*:13-', 'chrome_os:13-'],
3571       'features': {
3572         'dynamic_refresh': True,
3573         'per_profile': True,
3574       },
3575       'example_value': True,
3576       'id': 86,
3577       'caption': '''Always runs plugins that require authorization''',
3578       'desc': '''Allows <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to run plugins that require authorization.
3580       If you enable this setting, plugins that are not outdated always run.
3582       If this setting is disabled or not set, users will be asked for permission to run plugins that require authorization. These are plugins that can compromise security.''',
3583     },
3584     {
3585       'name': 'BookmarkBarEnabled',
3586       'type': 'main',
3587       'schema': { 'type': 'boolean' },
3588       'supported_on': ['chrome.*:12-', 'chrome_os:12-'],
3589       'features': {
3590         'can_be_recommended': True,
3591         'dynamic_refresh': True,
3592         'per_profile': True,
3593       },
3594       'example_value': True,
3595       'id': 82,
3596       'caption': '''Enable Bookmark Bar''',
3597       'desc': '''Enables the bookmark bar on <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
3599       If you enable this setting, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will show a bookmark bar.
3601       If you disable this setting, users will never see the bookmark bar.
3603       If you enable or disable this setting, users cannot change or override it in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
3605       If this setting is left not set the user can decide to use this function or not.''',
3606     },
3607     {
3608       'name': 'EditBookmarksEnabled',
3609       'type': 'main',
3610       'schema': { 'type': 'boolean' },
3611       'supported_on': ['chrome.*:12-', 'chrome_os:12-', 'android:30-'],
3612       'features': {
3613         'dynamic_refresh': True,
3614         'per_profile': True,
3615       },
3616       'example_value': False,
3617       'id': 83,
3618       'caption': '''Enables or disables bookmark editing''',
3619       'desc': '''Enables or disables editing bookmarks in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
3621       If you enable this setting, bookmarks can be added, removed or modified. This is the default also when this policy is not set.
3623       If you disable this setting, bookmarks can not be added, removed or modified. Existing bookmarks are still available.''',
3624     },
3625     {
3626       'name': 'ShowAppsShortcutInBookmarkBar',
3627       'type': 'main',
3628       'schema': { 'type': 'boolean' },
3629       'supported_on': ['chrome.*:37-'],
3630       'features': {
3631         'dynamic_refresh': True,
3632         'per_profile': True,
3633       },
3634       'example_value': False,
3635       'id': 267,
3636       'caption': '''Show the apps shortcut in the bookmark bar''',
3637       'desc': '''Enables or disables the apps shortcut in the bookmark bar.
3639       If this policy is not set then the user can choose to show or hide the apps shortcut from the bookmark bar context menu.
3641       If this policy is configured then the user can't change it, and the apps shortcut is always shown or never shown.''',
3642     },
3643     {
3644       'name': 'AllowFileSelectionDialogs',
3645       'type': 'main',
3646       'schema': { 'type': 'boolean' },
3647       'supported_on': ['chrome.*:12-'],
3648       'features': {
3649         'dynamic_refresh': True,
3650         'per_profile': False,
3651       },
3652       'example_value': True,
3653       'id': 84,
3654       'caption': '''Allow invocation of file selection dialogs''',
3655       'desc': '''Allows access to local files on the machine by allowing <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to display file selection dialogs.
3657       If you enable this setting, users can open file selection dialogs as normal.
3659       If you disable this setting, whenever the user performs an action which would provoke a file selection dialog (like importing bookmarks, uploading files, saving links, etc.) a message is displayed instead and the user is assumed to have clicked Cancel on the file selection dialog.
3661       If this setting is not set, users can open file selection dialogs as normal.''',
3662     },
3663     {
3664       'name': 'GCFUserDataDir',
3665       'type': 'string',
3666       'schema': { 'type': 'string' },
3667       'supported_on': ['chrome_frame:12-32'],
3668       'features': {
3669         'dynamic_refresh': False,
3670       },
3671       'example_value': '${user_home}/Chrome Frame',
3672       'id': 87,
3673       'caption': '''Set <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> user data directory''',
3674       'desc': '''Configures the directory that <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> will use for storing user data.
3676       If you set this policy, <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> will use the provided directory.
3678       See http://www.chromium.org/administrators/policy-list-3/user-data-directory-variables for a list of variables that can be used.
3680       If this setting is left not set the default profile directory will be used.''',
3681       'label': '''Set user data directory''',
3682     },
3683     {
3684       'name': 'DevicePolicyRefreshRate',
3685       'type': 'int',
3686       'schema': { 'type': 'integer' },
3687       'supported_on': ['chrome_os:11-'],
3688       'device_only': True,
3689       'features': {
3690         'dynamic_refresh': True,
3691       },
3692       'example_value': 3600000,
3693       'id': 90,
3694       'caption': '''Refresh rate for Device Policy''',
3695       'desc': '''Specifies the period in milliseconds at which the device management service is queried for device policy information.
3697       Setting this policy overrides the default value of 3 hours. Valid values for this policy are in the range from 1800000 (30 minutes) to 86400000 (1 day). Any values not in this range will be clamped to the respective boundary.
3699       Leaving this policy not set will make <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> use the default value of 3 hours.''',
3700     },
3701     {
3702       'name': 'ImportBookmarks',
3703       'type': 'main',
3704       'schema': { 'type': 'boolean' },
3705       'supported_on': ['chrome.*:15-'],
3706       'features': {
3707         'can_be_recommended': True,
3708         'dynamic_refresh': True,
3709         'per_profile': True,
3710       },
3711       'example_value': True,
3712       'id': 97,
3713       'caption': '''Import bookmarks from default browser on first run''',
3714       'desc': '''This policy forces bookmarks to be imported from the current default browser if enabled. If enabled, this policy also affects the import dialog.
3716       If disabled, no bookmarks are imported.
3718       If it is not set, the user may be asked whether to import, or importing may happen automatically.''',
3719       'label': '''Import bookmarks from default browser on first run''',
3720     },
3721     {
3722       'name': 'ImportHistory',
3723       'type': 'main',
3724       'schema': { 'type': 'boolean' },
3725       'supported_on': ['chrome.*:15-'],
3726       'features': {
3727         'can_be_recommended': True,
3728         'dynamic_refresh': True,
3729         'per_profile': True,
3730       },
3731       'example_value': True,
3732       'id': 98,
3733       'caption': '''Import browsing history from default browser on first run''',
3734       'desc': '''This policy forces the browsing history to be imported from the current default browser if enabled. If enabled, this policy also affects the import dialog.
3736       If disabled, no browsing history is imported.
3738       If it is not set, the user may be asked whether to import, or importing may happen automatically.''',
3739       'label': '''Import browsing history from default browser on first run''',
3740     },
3741     {
3742       'name': 'ImportHomepage',
3743       'type': 'main',
3744       'schema': { 'type': 'boolean' },
3745       'supported_on': ['chrome.*:15-'],
3746       'features': {
3747         'dynamic_refresh': True,
3748         'per_profile': True,
3749       },
3750       'example_value': True,
3751       'id': 99,
3752       'caption': '''Import of homepage from default browser on first run''',
3753       'desc': '''This policy forces the home page to be imported from the current default browser if enabled.
3755       If disabled, the home page is not imported.
3757       If it is not set, the user may be asked whether to import, or importing may happen automatically.''',
3758       'label': '''Import of homepage from default browser on first run''',
3759     },
3760     {
3761       'name': 'ImportSearchEngine',
3762       'type': 'main',
3763       'schema': { 'type': 'boolean' },
3764       'supported_on': ['chrome.*:15-'],
3765       'features': {
3766         'can_be_recommended': True,
3767         'dynamic_refresh': True,
3768         'per_profile': True,
3769       },
3770       'example_value': True,
3771       'id': 100,
3772       'caption': '''Import search engines from default browser on first run''',
3773       'desc': '''This policy forces search engines to be imported from the current default browser if enabled. If enabled, this policy also affects the import dialog.
3775       If disabled, the default search engine is not imported.
3777       If it is not set, the user may be asked whether to import, or importing may happen automatically.''',
3778       'label': '''Import search engines from default browser on first run''',
3779     },
3780     {
3781       'name': 'ImportSavedPasswords',
3782       'type': 'main',
3783       'schema': { 'type': 'boolean' },
3784       'supported_on': ['chrome.*:15-'],
3785       'features': {
3786         'can_be_recommended': True,
3787         'dynamic_refresh': True,
3788         'per_profile': True,
3789       },
3790       'example_value': True,
3791       'id': 101,
3792       'caption': '''Import saved passwords from default browser on first run''',
3793       'desc': '''This policy forces the saved passwords to be imported from the previous default browser if enabled. If enabled, this policy also affects the import dialog.
3795       If disabled, the saved passwords are not imported.
3797       If it is not set, the user may be asked whether to import, or importing may happen automatically.''',
3798       'label': '''Import saved passwords from default browser on first run''',
3799     },
3800     {
3801       'name': 'ImportAutofillFormData',
3802       'type': 'main',
3803       'schema': { 'type': 'boolean' },
3804       'supported_on': ['chrome.*:39-'],
3805       'features': {
3806         'can_be_recommended': True,
3807         'dynamic_refresh': True,
3808         'per_profile': True,
3809       },
3810       'example_value': True,
3811       'id': 277,
3812       'caption': '''Import autofill form data from default browser on first run''',
3813       'desc': '''This policy forces the autofill form data to be imported from the previous default browser if enabled. If enabled, this policy also affects the import dialog.
3815       If disabled, the autofill form data is not imported.
3817       If it is not set, the user may be asked whether to import, or importing may happen automatically.''',
3818       'label': '''Import autofill form data from default browser on first run''',
3819     },
3820     {
3821       'name': 'MaxConnectionsPerProxy',
3822       'type': 'int',
3823       'schema': { 'type': 'integer' },
3824       'supported_on': ['chrome.*:14-'],
3825       'features': {
3826         'dynamic_refresh': False,
3827         'per_profile': False,
3828       },
3829       'example_value': 32,
3830       'id': 92,
3831       'caption': '''Maximal number of concurrent connections to the proxy server''',
3832       'desc': '''Specifies the maximal number of simultaneous connections to the proxy server.
3834       Some proxy servers can not handle high number of concurrent connections per client and this can be solved by setting this policy to a lower value.
3836       The value of this policy should be lower than 100 and higher than 6 and the default value is 32.
3838       Some web apps are known to consume many connections with hanging GETs, so lowering below 32 may lead to browser networking hangs if too many such web apps are open. Lower below the default at your own risk.
3840       If this policy is left not set the default value will be used which is 32.''',
3841     },
3842     {
3843       'name': 'HideWebStorePromo',
3844       'type': 'main',
3845       'schema': { 'type': 'boolean' },
3846       'supported_on': ['chrome.*:15-21', 'chrome_os:15-21'],
3847       'deprecated': True,
3848       'features': {
3849         'dynamic_refresh': False,
3850       },
3851       'example_value': False,
3852       'id': 96,
3853       'caption': '''Prevent app promotions from appearing on the new tab page''',
3854       'desc': '''When set to True, promotions for Chrome Web Store apps will not appear on the new tab page.
3856       Setting this option to False or leaving it not set will make the promotions for Chrome Web Store apps appear on the new tab page''',
3857     },
3858     {
3859       'name': 'URLBlacklist',
3860       'type': 'list',
3861       'schema': {
3862         'type': 'array',
3863         'items': { 'type': 'string' },
3864       },
3865       'supported_on': [
3866         'chrome.*:15-',
3867         'chrome_os:15-',
3868         'android:30-',
3869         'ios:34-',
3870       ],
3871       'features': {
3872         'dynamic_refresh': True,
3873         'per_profile': True,
3874       },
3875       'example_value': ['example.com', 'https://ssl.server.com', 'hosting.com/bad_path', 'http://server:8080/path', '.exact.hostname.com', 'file://*', '*'],
3876       'id': 103,
3877       'caption': '''Block access to a list of URLs''',
3878       'desc': '''Blocks access to the listed URLs.
3880       This policy prevents the user from loading web pages from blacklisted URLs. The blacklist provides a list of URL patterns that specify which URLs will be blacklisted.
3882       Each URL pattern can either be a pattern for local files or a generic URL pattern. Local file patterns are of the format 'file://path', where path should be an absolute path to block. All file system locations for which that path is a prefix will be blocked.
3884       A generic URL pattern has the format 'scheme://host:port/path'.
3885       If present, only the specified scheme will be blocked. If the scheme:// prefix is not specified, all schemes are blocked.
3886       The host is required and can be a hostname or an IP address. Subdomains of a hostname will also be blocked. To prevent blocking subdomains, include a '.' before the hostname. The special hostname '*' will block all domains.
3887       The optional port is a valid port number from 1 to 65535. If none is specified, all ports are blocked.
3888       If the optional path is specified, only paths with that prefix will be blocked.
3890       Exceptions can be defined in the URL whitelist policy. These policies are limited to 1000 entries; subsequent entries will be ignored.
3892       If this policy is not set no URL will be blacklisted in the browser.''',
3893     },
3894     {
3895       'name': 'URLWhitelist',
3896       'type': 'list',
3897       'schema': {
3898         'type': 'array',
3899         'items': { 'type': 'string' },
3900       },
3901       'supported_on': [
3902         'chrome.*:15-',
3903         'chrome_os:15-',
3904         'android:30-',
3905         'ios:34-',
3906       ],
3907       'features': {
3908         'dynamic_refresh': True,
3909         'per_profile': True,
3910       },
3911       'example_value': ['example.com', 'https://ssl.server.com', 'hosting.com/bad_path', 'http://server:8080/path', '.exact.hostname.com'],
3912       'id': 104,
3913       'caption': '''Allows access to a list of URLs''',
3914       'desc': '''Allows access to the listed URLs, as exceptions to the URL blacklist.
3916       See the description of the URL blacklist policy for the format of entries of this list.
3918       This policy can be used to open exceptions to restrictive blacklists. For example, '*' can be blacklisted to block all requests, and this policy can be used to allow access to a limited list of URLs. It can be used to open exceptions to certain schemes, subdomains of other domains, ports, or specific paths.
3920       The most specific filter will determine if a URL is blocked or allowed. The whitelist takes precedence over the blacklist.
3922       This policy is limited to 1000 entries; subsequent entries will be ignored.
3924       If this policy is not set there will be no exceptions to the blacklist from the 'URLBlacklist' policy.''',
3925     },
3926     {
3927       'name': 'OpenNetworkConfiguration',
3928       'type': 'string',
3929       'schema': { 'type': 'string' },
3930       'supported_on': ['chrome_os:16-'],
3931       'features': {
3932         'dynamic_refresh': True,
3933         'per_profile': True,
3934       },
3935       'example_value': '{ "NetworkConfigurations": [ { "GUID": "{4b224dfd-6849-7a63-5e394343244ae9c9}", "Name": "my WiFi", "Type": "WiFi", "WiFi": { "SSID": "my WiFi", "HiddenSSID": false, "Security": "None", "AutoConnect": true } } ] }',
3936       'id': 107,
3937       'caption': '''User-level network configuration''',
3938       'desc': '''Allows pushing network configuration to be applied per-user to a <ph name="PRODUCT_OS_NAME">$2<ex>Chromium OS</ex></ph> device. The network configuration is a JSON-formatted string as defined by the Open Network Configuration format described at <ph name="ONC_SPEC_URL">https://sites.google.com/a/chromium.org/dev/chromium-os/chromiumos-design-docs/open-network-configuration</ph>''',
3939     },
3940     {
3941       'name': 'DeviceOpenNetworkConfiguration',
3942       'type': 'string',
3943       'schema': { 'type': 'string' },
3944       'supported_on': ['chrome_os:16-'],
3945       'device_only': True,
3946       'features': {
3947         'dynamic_refresh': True,
3948       },
3949       'example_value': '{ "NetworkConfigurations": [ { "GUID": "{4b224dfd-6849-7a63-5e394343244ae9c9}", "Name": "my WiFi", "Type": "WiFi", "WiFi": { "SSID": "my WiFi", "HiddenSSID": false, "Security": "None", "AutoConnect": true } } ] }',
3950       'id': 108,
3951       'caption': '''Device-level network configuration''',
3952       'desc': '''Allows pushing network configuration to be applied for all users of a <ph name="PRODUCT_OS_NAME">$2<ex>Chromium OS</ex></ph> device. The network configuration is a JSON-formatted string as defined by the Open Network Configuration format described at <ph name="ONC_SPEC_URL">https://sites.google.com/a/chromium.org/dev/chromium-os/chromiumos-design-docs/open-network-configuration</ph>''',
3953     },
3954     {
3955       'name': 'CloudPrintSubmitEnabled',
3956       'type': 'main',
3957       'schema': { 'type': 'boolean' },
3958       'supported_on': ['chrome.*:17-'],
3959       'features': {
3960         'dynamic_refresh': True,
3961         'per_profile': True,
3962       },
3963       'example_value': True,
3964       'id': 109,
3965       'caption': '''Enable submission of documents to <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph>''',
3966       'desc': '''Enables <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> to submit documents to <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> for printing.  NOTE: This only affects <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> support in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.  It does not prevent users from submitting print jobs on web sites.
3968       If this setting is enabled or not configured, users can print to <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> from the <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> print dialog.
3970       If this setting is disabled, users cannot print to <ph name="CLOUD_PRINT_NAME">Google Cloud Print</ph> from the <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> print dialog''',
3971     },
3972     {
3973       'name': 'EnterpriseWebStoreURL',
3974       'type': 'string',
3975       'schema': { 'type': 'string' },
3976       'supported_on': ['chrome.*:17-28', 'chrome_os:17-28'],
3977       'features': {
3978         'dynamic_refresh': True,
3979         'per_profile': True,
3980       },
3981       'deprecated': True,
3982       'example_value': 'http://company-intranet/chromeapps',
3983       'id': 112,
3984       'caption': '''Enterprise web store URL (deprecated)''',
3985       'desc': '''This setting has been retired as of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 29. The recommended way to set up organization-hosted extension/app collections is to include the site hosting the CRX packages in ExtensionInstallSources and put direct download links to the packages on a web page. A launcher for that web page can be created using the ExtensionInstallForcelist policy.''',
3986     },
3987     {
3988       'name': 'EnterpriseWebStoreName',
3989       'type': 'string',
3990       'schema': { 'type': 'string' },
3991       'supported_on': ['chrome.*:17-28', 'chrome_os:17-28'],
3992       'features': {
3993         'dynamic_refresh': True,
3994         'per_profile': True,
3995       },
3996       'deprecated': True,
3997       'example_value': 'WidgCo Chrome Apps',
3998       'id': 113,
3999       'caption': '''Enterprise web store name (deprecated)''',
4000       'desc': '''This setting has been retired as of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 29. The recommended way to set up organization-hosted extension/app collections is to include the site hosting the CRX packages in ExtensionInstallSources and put direct download links to the packages on a web page. A launcher for that web page can be created using the ExtensionInstallForcelist policy.''',
4001     },
4002     {
4003       'name': 'EnableOriginBoundCerts',
4004       'type': 'main',
4005       'schema': { 'type': 'boolean' },
4006       'supported_on': ['chrome.*:17-35'],
4007       'features': {
4008         'dynamic_refresh': True,
4009         'per_profile': False,
4010       },
4011       'deprecated': True,
4012       'future': True,
4013       'example_value': True,
4014       'id': 114,
4015       'caption': '''Enable TLS domain-bound certificates extension (deprecated)''',
4016       'desc': '''This policy has been retired as of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 36.
4018       Specifies whether the TLS domain-bound certificates extension should be enabled.
4020       This setting is used to enable the TLS domain-bound certificates extension for testing.  This experimental setting will be removed in the future.''',
4021     },
4022     {
4023       'name': 'EnableMemoryInfo',
4024       'type': 'main',
4025       'schema': { 'type': 'boolean' },
4026       'supported_on': ['chrome.*:17-34', 'chrome_os:18-34'],
4027       'features': {
4028         'dynamic_refresh': True,
4029         'per_profile': True,
4030       },
4031       'deprecated': True,
4032       'future': True,
4033       'example_value': False,
4034       'id': 115,
4035       'caption': '''Enable reporting memory info (JS heap size) to page (deprecated)''',
4036       'desc': '''This policy has been retired as of <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 35.
4038       Memory info is anyway reported to page, regardless of the option value, but the sizes reported are
4039       quantized and the rate of updates is limited for security reasons. To obtain real-time precise data,
4040       please use tools like Telemetry.''',
4041     },
4042     {
4043       'name': 'DisablePrintPreview',
4044       'type': 'main',
4045       'schema': { 'type': 'boolean' },
4046       'supported_on': ['chrome.*:18-'],
4047       'deprecated': True,
4048       'features': {
4049         'dynamic_refresh': False,
4050         'per_profile': True,
4051       },
4052       'example_value': False,
4053       'id': 117,
4054       'caption': '''Disable Print Preview (deprecated)''',
4055       'desc': '''Show the system print dialog instead of print preview.
4057       When this setting is enabled, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will open the system print dialog instead of the built-in print preview when a user requests a page to be printed.
4059       If this policy is not set or is set to false, print commands trigger the print preview screen.''',
4060     },
4061     {
4062       'name': 'DisableSSLRecordSplitting',
4063       'type': 'main',
4064       'schema': { 'type': 'boolean' },
4065       'supported_on': ['chrome.*:18-', 'chrome_os:18-'],
4066       'features': {
4067         'dynamic_refresh': True,
4068         'per_profile': False,
4069       },
4070       'example_value': True,
4071       'id': 118,
4072       'caption': '''Disable SSL record splitting''',
4073       'desc': '''Specifies whether SSL record splitting should be disabled. Record splitting is a workaround for a weakness in SSL 3.0 and TLS 1.0 but can cause compatibility issues with some HTTPS servers and proxies.
4075       If the policy is not set, or is set to false, then record splitting will be used on SSL/TLS connections which use CBC ciphersuites.''',
4076     },
4077     {
4078       'name': 'EnableOnlineRevocationChecks',
4079       'type': 'main',
4080       'schema': { 'type': 'boolean' },
4081       'supported_on': ['chrome.*:19-', 'chrome_os:19-'],
4082       'features': {
4083         'dynamic_refresh': True,
4084         'per_profile': False,
4085       },
4086       'example_value': False,
4087       'id': 129,
4088       'caption': '''Whether online OCSP/CRL checks are performed''',
4089       'desc': '''In light of the fact that soft-fail, online revocation checks provide no effective security benefit, they are disabled by default in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> version 19 and later. By setting this policy to true, the previous behavior is restored and online OCSP/CRL checks will be performed.
4091       If the policy is not set, or is set to false, then <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will not perform online revocation checks in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> 19 and later.''',
4092     },
4093     {
4094       'name': 'RequireOnlineRevocationChecksForLocalAnchors',
4095       'type': 'main',
4096       'schema': { 'type': 'boolean' },
4097       'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-'],
4098       'features': {
4099         'dynamic_refresh': True,
4100         'per_profile': False,
4101       },
4102       'example_value': False,
4103       'id': 235,
4104       'caption': '''Whether online OCSP/CRL checks are required for local trust anchors''',
4105       'desc': '''When this setting is enabled, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will always perform revocation checking for server certificates that successfully validate and are signed by locally-installed CA certificates.
4107       If <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is unable to obtain revocation status information, such certificates will be treated as revoked ('hard-fail').
4109       If this policy is not set, or it is set to false, then <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will use the existing online revocation checking settings.''',
4110     },
4111     {
4112       'name': 'ForceEphemeralProfiles',
4113       'type': 'main',
4114       'schema': { 'type': 'boolean' },
4115       'supported_on': ['chrome.*:32-'],
4116       'features': {
4117         'dynamic_refresh': False,
4118         'per_profile': True,
4119       },
4120       'example_value': True,
4121       'id': 245,
4122       'caption': '''Ephemeral profile''',
4123       'desc': '''If set to enabled this policy forces the profile to be switched to ephemeral mode. If this policy is specified as an OS policy (e.g. GPO on Windows) it will apply to every profile on the system; if the policy is set as a Cloud policy it will apply only to a profile signed in with a managed account.
4125       In this mode the profile data is persisted on disk only for the length of the user session. Features like browser history, extensions and their data, web data like cookies and web databases are not preserved after the browser is closed. However this does not prevent the user from downloading any data to disk manually, save pages or print them.
4127       If the user has enabled sync all this data is preserved in his sync profile just like with regular profiles. Incognito mode is also available if not explicitly disabled by policy.
4129       If the policy is set to disabled or left not set signing in leads to regular profiles.'''
4130     },
4131     {
4132       'name': 'SAMLOfflineSigninTimeLimit',
4133       'type': 'int',
4134       'schema': { 'type': 'integer', 'minimum': -1 },
4135       'supported_on': ['chrome_os:34-'],
4136       'features': {
4137         'dynamic_refresh': True,
4138         'per_profile': True,
4139       },
4140       'example_value': 32,
4141       'id': 254,
4142       'caption': '''Limit the time for which a user authenticated via SAML can log in offline''',
4143       'desc': '''Limit the time for which a user authenticated via SAML can log in offline.
4145       During login, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can authenticate against a server (online) or using a cached password (offline).
4147       When this policy is set to a value of -1, the user can authenticate offline indefinitely. When this policy is set to any other value, it specifies the length of time since the last online authentication after which the user must use online authentication again.
4149       Leaving this policy not set will make <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> use a default time limit of 14 days after which the user must use online authentication again.
4151       This policy affects only users who authenticated using SAML.
4153       The policy value should be specified in seconds.''',
4154     },
4155     {
4156       'name': 'AutoCleanUpStrategy',
4157       'type': 'string-enum',
4158       'schema': {
4159         'type': 'string',
4160         'enum': [ 'remove-lru', 'remove-lru-if-dormant' ],
4161       },
4162       'items': [
4163         {
4164           'name': 'RemoveLRU',
4165           'value': 'remove-lru',
4166           'caption': '''Least recently used users are removed until there is enough free space''',
4167         },
4168         {
4169           'name': 'RemoveLRUIfDormant',
4170           'value': 'remove-lru-if-dormant',
4171           'caption': '''Least recently used users who have not logged in within last 3 months are removed until there is enough free space''',
4172         },
4173       ],
4174       'supported_on': ['chrome_os:32-35'],
4175       'device_only': True,
4176       'features': {
4177         'dynamic_refresh': True,
4178       },
4179       'deprecated': True,
4180       'example_value': 'remove-lru',
4181       'id': 246,
4182       'caption': '''Selects the strategy used to free up disk space during automatic clean-up (deprecated)''',
4183       'desc': '''This policy is deprecated. <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will always use the 'RemoveLRU' clean-up strategy.
4185       Controls the automatic clean-up behavior on <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> devices. Automatic clean-up is triggered when the amount of free disk space reaches a critical level to recover some disk space.
4187       If this policy is set to 'RemoveLRU', the automatic clean-up will keep removing users from the device in least-recently-logged-in order until there is enough free space.
4189       If this policy is set to 'RemoveLRUIfDormant', the automatic clean-up will keep removing users who have not logged in for at least 3 months in least-recently-logged-in order until there is enough free space.
4191       If this policy is not set, automatic clean-up uses the default built-in strategy. Currently, it is the 'RemoveLRUIfDormant' strategy.'''
4192     },
4193     {
4194       'name': 'ReportDeviceVersionInfo',
4195       'type': 'main',
4196       'schema': { 'type': 'boolean' },
4197       'supported_on': ['chrome_os:18-'],
4198       'device_only': True,
4199       'features': {
4200         'dynamic_refresh': True,
4201       },
4202       'example_value': False,
4203       'id': 119,
4204       'caption': '''Report OS and firmware version''',
4205       'desc': '''Report OS and firmware version of enrolled devices.
4207       If this setting is not set or set to True, enrolled devices will report the OS and firmware version periodically. If this setting is set to False, version info will not be reported.''',
4208     },
4209     {
4210       'name': 'ReportDeviceActivityTimes',
4211       'type': 'main',
4212       'schema': { 'type': 'boolean' },
4213       'supported_on': ['chrome_os:18-'],
4214       'device_only': True,
4215       'features': {
4216         'dynamic_refresh': True,
4217       },
4218       'example_value': False,
4219       'id': 120,
4220       'caption': '''Report device activity times''',
4221       'desc': '''Report device activity times.
4223       If this setting is not set or set to True, enrolled devices will report time periods when a user is active on the device. If this setting is set to False, device activity times will not be recorded or reported.''',
4224     },
4225     {
4226       'name': 'ReportDeviceBootMode',
4227       'type': 'main',
4228       'schema': { 'type': 'boolean' },
4229       'supported_on': ['chrome_os:18-'],
4230       'device_only': True,
4231       'features': {
4232         'dynamic_refresh': True,
4233       },
4234       'example_value': False,
4235       'id': 121,
4236       'caption': '''Report device boot mode''',
4237       'desc': '''Report the state of the device's dev switch at boot.
4239       If the policy is set to false, the state of the dev switch will not be reported.''',
4240     },
4241     {
4242       'name': 'ReportDeviceLocation',
4243       'type': 'main',
4244       'schema': { 'type': 'boolean' },
4245       'supported_on': ['chrome_os:20-'],
4246       'device_only': True,
4247       'features': {
4248         'dynamic_refresh': True,
4249       },
4250       'future': True,
4251       'example_value': False,
4252       'id': 143,
4253       'caption': '''Report device location''',
4254       'desc': '''Report the geographic location of the device.
4256       If the policy is not set, or set to false, the location will not be reported.''',
4257     },
4258     {
4259       'name': 'ReportDeviceNetworkInterfaces',
4260       'type': 'main',
4261       'schema': { 'type': 'boolean' },
4262       'supported_on': ['chrome_os:29-'],
4263       'device_only': True,
4264       'features': {
4265         'dynamic_refresh': True,
4266       },
4267       'example_value': False,
4268       'id': 224,
4269       'caption': '''Report device network interfaces''',
4270       'desc': '''Report list of network interfaces with their types and hardware addresses to the server.
4272       If the policy is set to false, the interface list will not be reported.''',
4273     },
4274     {
4275       'name': 'ReportDeviceUsers',
4276       'type': 'main',
4277       'schema': { 'type': 'boolean' },
4278       'supported_on': ['chrome_os:32-'],
4279       'device_only': True,
4280       'features': {
4281         'dynamic_refresh': True,
4282       },
4283       'example_value': False,
4284       'id': 248,
4285       'caption': '''Report device users''',
4286       'desc': '''Report list of device users that have recently logged in.
4288       If the policy is set to false, the users will not be reported.''',
4289     },
4290     {
4291       'name': 'ReportDeviceHardwareStatus',
4292       'type': 'main',
4293       'schema': { 'type': 'boolean' },
4294       'supported_on': ['chrome_os:42-'],
4295       'device_only': True,
4296       'features': {
4297         'dynamic_refresh': True,
4298       },
4299       'example_value': False,
4300       'id': 290,
4301       'caption': '''Report hardware status''',
4302       'desc': '''Report hardware statistics such as CPU/RAM usage.
4304       If the policy is set to false, the statistics will not be reported.
4305       If set to true or left unset, statistics will be reported.''',
4306     },
4307     {
4308       'name': 'ReportDeviceSessionStatus',
4309       'type': 'main',
4310       'schema': { 'type': 'boolean' },
4311       'supported_on': ['chrome_os:42-'],
4312       'device_only': True,
4313       'features': {
4314         'dynamic_refresh': True,
4315       },
4316       'example_value': False,
4317       'id': 291,
4318       'caption': '''Report information about active kiosk sessions''',
4319       'desc': '''Report information about the active kiosk session, such as
4320       application ID and version.
4322       If the policy is set to false, the session information will not be
4323       reported. If set to true or left unset, session information will be
4324       reported.''',
4325     },
4326     {
4327       'name': 'ReportUploadFrequency',
4328       'type': 'int',
4329       'schema': { 'type': 'integer', 'minimum': 60000 },
4330       'supported_on': ['chrome_os:42-'],
4331       'device_only': True,
4332       'features': {
4333         'dynamic_refresh': True,
4334       },
4335       'example_value': 180000,
4336       'id': 292,
4337       'caption': '''Frequency of device status report uploads''',
4338       'desc': '''How frequently device status uploads are sent, in milliseconds.
4340       If this policy is unset, the default frequency is 3 hours. The minimum
4341       allowed frequency is 60 seconds.''',
4342     },
4343     {
4344       'name': 'HeartbeatEnabled',
4345       'type': 'main',
4346       'schema': { 'type': 'boolean' },
4347       'supported_on': ['chrome_os:43-'],
4348       'device_only': True,
4349       'features': {
4350         'dynamic_refresh': True,
4351       },
4352       'example_value': False,
4353       'id': 293,
4354       'caption': '''Send monitoring heartbeats to the management server''',
4355       'desc': '''Send monitoring heartbeats to the management server, to allow
4356       the server to detect if the device is offline.
4358       If this policy is set to true, monitoring heartbeats will be sent. If set
4359       to false or unset, then no heartbeats will be sent.''',
4360     },
4361     {
4362       'name': 'HeartbeatFrequency',
4363       'type': 'int',
4364       'schema': { 'type': 'integer', 'minimum': 30000 },
4365       'supported_on': ['chrome_os:43-'],
4366       'device_only': True,
4367       'features': {
4368         'dynamic_refresh': True,
4369       },
4370       'example_value': 180000,
4371       'id': 294,
4372       'caption': '''Frequency of monitoring heartbeats''',
4373       'desc': '''How frequently monitoring heartbeats are sent, in milliseconds.
4375       If this policy is unset, the default frequency is 3 minutes. The minimum
4376       frequency is 30 seconds and the maximum frequency is 24 hours - values
4377       outside of this range will be clamped to this range.''',
4378     },
4379     {
4380       'name': 'DeviceUserWhitelist',
4381       'type': 'list',
4382       'schema': {
4383         'type': 'array',
4384         'items': { 'type': 'string' },
4385       },
4386       'supported_on': ['chrome_os:12-'],
4387       'device_only': True,
4388       'features': {
4389         'dynamic_refresh': True,
4390       },
4391       'example_value': [ 'madmax@managedchrome.com' ],
4392       'id': 122,
4393       'caption': '''Login user white list''',
4394       'desc': '''Defines the list of users that are allowed to login to the device. Entries are of the form <ph name="USER_WHITELIST_ENTRY_FORMAT">user@domain</ph>, such as <ph name="USER_WHITELIST_ENTRY_EXAMPLE">madmax@managedchrome.com</ph>. To allow arbitrary users on a domain, use entries of the form <ph name="USER_WHITELIST_ENTRY_WILDCARD">*@domain</ph>.
4396       If this policy is not configured, there are no restrictions on which users are allowed to sign in. Note that creating new users still requires the <ph name="DEVICEALLOWNEWUSERS_POLICY_NAME">DeviceAllowNewUsers</ph> policy to be configured appropriately.''',
4397     },
4398     {
4399       'name': 'DeviceAllowNewUsers',
4400       'type': 'main',
4401       'schema': { 'type': 'boolean' },
4402       'supported_on': ['chrome_os:12-'],
4403       'device_only': True,
4404       'features': {
4405         'dynamic_refresh': True,
4406       },
4407       'example_value': True,
4408       'id': 123,
4409       'caption': '''Allow creation of new user accounts''',
4410       'desc': '''Controls whether <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> allows new user accounts to be created. If this policy is set to false, users that do not have an account already will not be able to login.
4412       If this policy is set to true or not configured, new user accounts will be allowed to be created provided that <ph name="DEVICEUSERWHITELISTPROTO_POLICY_NAME">DeviceUserWhitelist</ph> does not prevent the user from logging in.''',
4413     },
4414     {
4415       'name': 'DeviceGuestModeEnabled',
4416       'type': 'main',
4417       'schema': { 'type': 'boolean' },
4418       'supported_on': ['chrome_os:12-'],
4419       'device_only': True,
4420       'features': {
4421         'dynamic_refresh': True,
4422       },
4423       'example_value': True,
4424       'id': 124,
4425       'caption': '''Enable guest mode''',
4426       'desc': '''If this policy is set to true or not configured, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will enable guest logins. Guest logins are anonymous user sessions and do not require a password.
4428       If this policy is set to false, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will not allow guest sessions to be started.''',
4429     },
4430     {
4431       'name': 'DeviceShowUserNamesOnSignin',
4432       'type': 'main',
4433       'schema': { 'type': 'boolean' },
4434       'supported_on': ['chrome_os:12-'],
4435       'device_only': True,
4436       'features': {
4437         'dynamic_refresh': True,
4438       },
4439       'example_value': True,
4440       'id': 125,
4441       'caption': '''Show usernames on login screen''',
4442       'desc': '''If this policy is set to true or not configured, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will show existing users on the login screen and allow to pick one. If this policy is set to false, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will use the username/password prompt for login.''',
4443     },
4444     {
4445       'name': 'DeviceDataRoamingEnabled',
4446       'type': 'main',
4447       'schema': { 'type': 'boolean' },
4448       'supported_on': ['chrome_os:12-'],
4449       'device_only': True,
4450       'features': {
4451         'dynamic_refresh': True,
4452       },
4453       'example_value': True,
4454       'id': 126,
4455       'caption': '''Enable data roaming''',
4456       'desc': '''Determines whether data roaming should be enabled for the device. If set to true, data roaming is allowed. If left unconfigured or set to false, data roaming will be not available.''',
4457     },
4458     {
4459       'name': 'DeviceMetricsReportingEnabled',
4460       'type': 'main',
4461       'schema': { 'type': 'boolean' },
4462       'supported_on': ['chrome_os:14-'],
4463       'device_only': True,
4464       'features': {
4465         'dynamic_refresh': True,
4466       },
4467       'example_value': True,
4468       'id': 127,
4469       'caption': '''Enable metrics reporting''',
4470       'desc': '''Controls whether usage metrics are reported back to Google. If set to true, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will report usage metrics. If not configured or set to false, metrics reporting will be disabled.''',
4471     },
4472     {
4473       'name': 'ChromeOsReleaseChannel',
4474       'type': 'string-enum',
4475       'schema': {
4476         'type': 'string',
4477         'enum': [ 'stable-channel', 'beta-channel', 'dev-channel' ],
4478       },
4479       'items': [
4480         {
4481           'name': 'StableChannel',
4482           'value': 'stable-channel',
4483           'caption': '''Stable channel''',
4484         },
4485         {
4486           'name': 'BetaChannel',
4487           'value': 'beta-channel',
4488           'caption': '''Beta channel''',
4489         },
4490         {
4491           'name': 'DevChannel',
4492           'value': 'dev-channel',
4493           'caption': '''Dev channel (may be unstable)''',
4494         },
4495       ],
4496       'supported_on': ['chrome_os:11-'],
4497       'device_only': True,
4498       'features': {
4499         'dynamic_refresh': True,
4500       },
4501       'example_value': 'stable-channel',
4502       'id': 91,
4503       'caption': '''Release channel''',
4504       'desc': '''Specifies the release channel that this device should be locked to.''',
4505     },
4506     {
4507       'name': 'ChromeOsReleaseChannelDelegated',
4508       'type': 'main',
4509       'schema': { 'type': 'boolean' },
4510       'supported_on': ['chrome_os:19-'],
4511       'device_only': True,
4512       'features': {
4513         'dynamic_refresh': True,
4514       },
4515       'example_value': False,
4516       'id': 134,
4517       'caption': '''Whether the release channel should be configurable by the user''',
4518       'desc': '''If this policy is set to True and the ChromeOsReleaseChannel policy is not specified then users of the enrolling domain will be allowed to change the release channel of the device. If this policy is set to false the device will be locked in whatever channel it was last set.
4520       The user selected channel will be overridden by the ChromeOsReleaseChannel policy, but if the policy channel is more stable than the one that was installed on the device, then the channel will only switch after the version of the more stable channel reaches a higher version number than the one installed on the device.''',
4521     },
4522     {
4523       'name': 'DeviceEphemeralUsersEnabled',
4524       'type': 'main',
4525       'schema': { 'type': 'boolean' },
4526       'supported_on': ['chrome_os:19-'],
4527       'device_only': True,
4528       'features': {
4529         'dynamic_refresh': True,
4530       },
4531       'example_value': True,
4532       'id': 128,
4533       'caption': '''Wipe user data on sign-out''',
4534       'desc': '''Determines whether <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> keeps local account data after logout. If set to true, no persistent accounts are kept by <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> and all data from the user session will be discarded after logout. If this policy is set to false or not configured, the device may keep (encrypted) local user data.''',
4535     },
4536     {
4537       'name': 'DeviceStartUpUrls',
4538       'type': 'list',
4539       'schema': {
4540         'type': 'array',
4541         'items': { 'type': 'string' },
4542       },
4543       'supported_on': ['chrome_os:19-'],
4544       'device_only': True,
4545       'features': {
4546         'dynamic_refresh': True,
4547       },
4548       'example_value': [ 'http://google.com', 'chrome-extension://aaaaaaaaaaaaaaaaaaaaaaaa/' ],
4549       'id': 137,
4550       'caption': '''Load specified urls on demo login''',
4551       'desc': '''This policy is active in retail mode only.
4553       Determines the set of URLs to be loaded when the demo session is started. This policy will override any other mechanisms for setting the initial URL and thus can only be applied to a session not associated with a particular user.''',
4554     },
4555     {
4556       'name': 'DeviceIdleLogoutTimeout',
4557       'type': 'int',
4558       'schema': { 'type': 'integer' },
4559       'supported_on': ['chrome_os:19-'],
4560       'device_only': True,
4561       'features': {
4562         'dynamic_refresh': True,
4563       },
4564       'example_value': 60000,
4565       'id': 130,
4566       'caption': '''Timeout until idle user log-out is executed''',
4567       'desc': '''This policy is active in retail mode only.
4569       When the value of this policy is set and is not 0 then the currently logged in demo user will be logged out automatically after an inactivity time of the specified duration has elapsed.
4571       The policy value should be specified in milliseconds.''',
4572     },
4573     {
4574       'name': 'DeviceIdleLogoutWarningDuration',
4575       'type': 'int',
4576       'schema': { 'type': 'integer' },
4577       'supported_on': ['chrome_os:19-'],
4578       'device_only': True,
4579       'features': {
4580         'dynamic_refresh': True,
4581       },
4582       'example_value': 15000,
4583       'id': 131,
4584       'caption': '''Duration of the idle log-out warning message''',
4585       'desc': '''This policy is active in retail mode only.
4587       When DeviceIdleLogoutTimeout is specified this policy defines the duration of the warning box with a count down timer that is shown to the user before the logout is executed.
4589       The policy value should be specified in milliseconds.''',
4590     },
4591     {
4592       'name': 'DeviceLoginScreenSaverId',
4593       'type': 'string',
4594       'schema': { 'type': 'string' },
4595       'supported_on': ['chrome_os:19-'],
4596       'device_only': True,
4597       'features': {
4598         'dynamic_refresh': True,
4599       },
4600       'example_value': 'fhblcfnmnbehmifidkddcenilbpddlfk',
4601       'id': 132,
4602       'caption': '''Screen saver to be used on the sign-in screen in retail mode''',
4603       'desc': '''This policy is active in retail mode only.
4605       Determines the id of the extension to be used as a screen saver on the sign-in screen. The extension must be part of the AppPack that is configured for this domain through the DeviceAppPack policy.''',
4606     },
4607     {
4608       'name': 'DeviceLoginScreenSaverTimeout',
4609       'type': 'int',
4610       'schema': { 'type': 'integer' },
4611       'supported_on': ['chrome_os:19-'],
4612       'device_only': True,
4613       'features': {
4614         'dynamic_refresh': True,
4615       },
4616       'example_value': 120000,
4617       'id': 133,
4618       'caption': '''Duration of inactivity before the screen saver is shown on the sign-in screen in retail mode''',
4619       'desc': '''This policy is active in retail mode only.
4621       Determines the duration before the screen saver is shown on the sign-in screen for devices in retail mode.
4623       The policy value should be specified in milliseconds.''',
4624     },
4625     {
4626       'name': 'DeviceAppPack',
4627       'type': 'list',
4628       'schema': {
4629         'type': 'array',
4630         'items': { 'type': 'string' },
4631       },
4632       'supported_on': ['chrome_os:19-'],
4633       'device_only': True,
4634       'features': {
4635         'dynamic_refresh': True,
4636       },
4637       'example_value': [ { "extension-id": "khgabmflimjjbclkmljlpmgaleanedem", "update-url": "http://clients2.google.com/service/update2/crx" } ],
4638       'id': 135,
4639       'caption': '''List of AppPack extensions''',
4640       'desc': '''This policy is active in retail mode only.
4642       Lists extensions that are automatically installed for the Demo user, for devices in retail mode. These extensions are saved in the device and can be installed while offline, after the installation.
4644       Each list entry contains a dictionary that must include the extension ID in the 'extension-id' field, and its update URL in the 'update-url' field.''',
4645     },
4646     {
4647       'name': 'DeviceAutoUpdateDisabled',
4648       'type': 'main',
4649       'schema': { 'type': 'boolean' },
4650       'supported_on': ['chrome_os:19-'],
4651       'device_only': True,
4652       'features': {
4653         'dynamic_refresh': True,
4654       },
4655       'example_value': True,
4656       'id': 136,
4657       'caption': '''Disables Auto Update''',
4658       'desc': '''Disables automatic updates when set to True.
4660       <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> devices automatically check for updates when this setting is not configured or set to False.''',
4661     },
4662     {
4663       'name': 'DeviceAutoUpdateP2PEnabled',
4664       'type': 'main',
4665       'schema': { 'type': 'boolean' },
4666       'supported_on': ['chrome_os:31-'],
4667       'device_only': True,
4668       'features': {
4669         'dynamic_refresh': True,
4670       },
4671       'example_value': False,
4672       'id': 242,
4673       'caption': '''Auto update p2p enabled''',
4674       'desc': '''Specifies whether p2p is to be used for OS update payloads. If set to True, devices will share and attempt to consume update payloads on the LAN, potentially reducing Internet bandwidth usage and congestion. If the update payload is not available on the LAN, the device will fall back to downloading from an update server. If set to False or not configured, p2p will not be used.''',
4675     },
4676     {
4677       'name': 'DeviceTargetVersionPrefix',
4678       'type': 'string',
4679       'schema': { 'type': 'string' },
4680       'supported_on': ['chrome_os:19-'],
4681       'device_only': True,
4682       'features': {
4683         'dynamic_refresh': True,
4684       },
4685       'example_value': '1412.',
4686       'id': 142,
4687       'caption': '''Target Auto Update Version''',
4688       'desc': '''Sets a target version for Auto Updates.
4690       Specifies the prefix of a target version <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> should update to. If the device is running a version that's before the specified prefix, it will update to the latest version with the given prefix. If the device is already on a later version, there is no effect (i.e. no downgrades are performed) and the device will remain on the current version. The prefix format works component-wise as is demonstrated in the following example:
4692       "" (or not configured): update to latest version available.
4693       "1412.": update to any minor version of 1412 (e.g. 1412.24.34 or 1412.60.2)
4694       "1412.2.": update to any minor version of 1412.2 (e.g. 1412.2.34 or 1412.2.2)
4695       "1412.24.34": update to this specific version only''',
4696     },
4697     {
4698       'name': 'DeviceUpdateScatterFactor',
4699       'type': 'int',
4700       'schema': { 'type': 'integer' },
4701       'supported_on': ['chrome_os:20-'],
4702       'device_only': True,
4703       'features': {
4704         'dynamic_refresh': True,
4705       },
4706       'example_value': 7200,
4707       'id': 145,
4708       'caption': '''Auto update scatter factor''',
4709       'desc': '''Specifies the number of seconds up to which a device may randomly delay its download of an update from the time the update was first pushed out to the server. The device may wait a portion of this time in terms of wall-clock-time and the remaining portion in terms of the number of update checks. In any case, the scatter is upper bounded to a constant amount of time so that a device does not ever get stuck waiting to download an update forever.''',
4710     },
4711     {
4712       'name': 'DeviceUpdateAllowedConnectionTypes',
4713       'type': 'list',
4714       'schema': {
4715         'type': 'array',
4716         'items': { 'type': 'string' },
4717       },
4718       'supported_on': ['chrome_os:21-'],
4719       'device_only': True,
4720       'features': {
4721         'dynamic_refresh': True,
4722       },
4723       'example_value': [ 'ethernet' ],
4724       'id': 146,
4725       'caption': '''Connection types allowed for updates''',
4726       'desc': ''' The types of connections that are allowed to use for OS updates. OS updates potentially put heavy strain on the connection due to their size and may incur additional cost. Therefore, they are by default not enabled for connection types that are considered expensive, which include WiMax, Bluetooth and Cellular at the moment.
4728       The recognized connection type identifiers are "ethernet", "wifi", "wimax", "bluetooth" and "cellular".''',
4729     },
4730     {
4731       'name': 'DeviceUpdateHttpDownloadsEnabled',
4732       'type': 'main',
4733       'schema': {
4734         'type': 'boolean',
4735       },
4736       'supported_on': ['chrome_os:29-'],
4737       'device_only': True,
4738       'features': {
4739         'dynamic_refresh': True,
4740       },
4741       'example_value': True,
4742       'id': 243,
4743       'caption': '''Allow autoupdate downloads via HTTP''',
4744       'desc': '''Auto-update payloads on <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can be downloaded via HTTP instead of HTTPS. This allows transparent HTTP caching of HTTP downloads.
4746       If this policy is set to true, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will attempt to download auto-update payloads via HTTP. If the policy is set to false or not set, HTTPS will be used for downloading auto-update payloads.''',
4747     },
4748     {
4749       'name': 'DeviceLocalAccounts',
4750       'type': 'list',
4751       'schema': {
4752         'type': 'array',
4753         'items': { 'type': 'string' },
4754       },
4755       'supported_on': ['chrome_os:25-'],
4756       'device_only': True,
4757       'features': {
4758         'dynamic_refresh': True,
4759       },
4760       'example_value': [ "demo@example.com" ],
4761       'id': 163,
4762       'caption': '''Device-local accounts''',
4763       'desc': '''Specifies the list of device-local accounts to be shown on the login screen.
4765       Every list entry specifies an identifier, which is used internally to tell the different device-local accounts apart.''',
4766     },
4767     {
4768       'name': 'DeviceLocalAccountAutoLoginId',
4769       'type': 'string',
4770       'schema': { 'type': 'string' },
4771       'supported_on': ['chrome_os:26-'],
4772       'device_only': True,
4773       'features': {
4774         'dynamic_refresh': True,
4775       },
4776       'example_value': "public@example.com",
4777       'id': 194,
4778       'caption': '''Public session for auto-login''',
4779       'desc': '''A public session to auto-login after a delay.
4781       If this policy is set, the specified session will be automatically logged in after a period of time has elapsed at the login screen without user interaction. The public session must already be configured (see |DeviceLocalAccounts|).
4783       If this policy is unset, there will be no auto-login.''',
4784     },
4785     {
4786       'name': 'DeviceLocalAccountAutoLoginDelay',
4787       'type': 'int',
4788       'schema': { 'type': 'integer' },
4789       'supported_on': ['chrome_os:26-'],
4790       'device_only': True,
4791       'features': {
4792         'dynamic_refresh': True,
4793       },
4794       'example_value': 180000,
4795       'id': 195,
4796       'caption': '''Public session auto-login timer''',
4797       'desc': '''The public session auto-login delay.
4799       If the |DeviceLocalAccountAutoLoginId| policy is unset, this policy has no effect. Otherwise:
4801       If this policy is set, it determines the amount of time without user activity that should elapse before automatically logging into the public session specified by the |DeviceLocalAccountAutoLoginId| policy.
4803       If this policy is unset, 0 milliseconds will be used as the timeout.
4805       This policy is specified in milliseconds.'''
4806     },
4807     {
4808       'name': 'DeviceLocalAccountAutoLoginBailoutEnabled',
4809       'type': 'main',
4810       'schema': { 'type': 'boolean' },
4811       'supported_on': ['chrome_os:28-'],
4812       'device_only': True,
4813       'features': {
4814         'dynamic_refresh': True,
4815       },
4816       'example_value': True,
4817       'id': 202,
4818       'caption': '''Enable bailout keyboard shortcut for auto-login''',
4819       'desc': '''Enable bailout keyboard shortcut for auto-login.
4821       If this policy is unset or set to True and a device-local account is configured for zero-delay auto-login, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will honor the keyboard shortcut Ctrl+Alt+S for bypassing auto-login and showing the login screen.
4823       If this policy is set to False, zero-delay auto-login (if configured) cannot be bypassed.'''
4824     },
4825     {
4826       'name': 'DeviceLocalAccountPromptForNetworkWhenOffline',
4827       'type': 'main',
4828       'schema': { 'type': 'boolean' },
4829       'supported_on': ['chrome_os:33-'],
4830       'device_only': True,
4831       'features': {
4832         'dynamic_refresh': True,
4833       },
4834       'example_value': True,
4835       'id': 250,
4836       'caption': '''Enable network configuration prompt when offline''',
4837       'desc': '''Enable network configuration prompt when offline.
4839       If this policy is unset or set to True and a device-local account is configured for zero-delay auto-login and the device does not have access to the Internet, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will show a network configuration prompt.
4841       If this policy is set to False, an error message will be displayed instead of the network configuration prompt.'''
4842     },
4843     {
4844       'name': 'DeviceBlockDevmode',
4845       'type': 'main',
4846       'schema': { 'type': 'boolean' },
4847       'supported_on': ['chrome_os:37-'],
4848       'device_only': True,
4849       'features': {
4850         'dynamic_refresh': True,
4851       },
4852       'example_value': True,
4853       'id': 266,
4854       'caption': '''Block developer mode''',
4855       'desc': '''Block developer mode.
4857       If this policy is set to True, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will prevent the device from booting into developer mode. The system will refuse to boot and show an error screen when the developer switch is turned on.
4859       If this policy is unset or set to False, developer mode will remain available for the device.'''
4860     },
4861     {
4862       'name': 'BackgroundModeEnabled',
4863       'type': 'main',
4864       'schema': { 'type': 'boolean' },
4865       'supported_on': ['chrome.win:19-', 'chrome.linux:19-'],
4866       'features': {
4867         'can_be_recommended': True,
4868         'dynamic_refresh': True,
4869         'per_profile': False,
4870       },
4871       'example_value': True,
4872       'id': 138,
4873       'caption': '''Continue running background apps when <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is closed''',
4874       'desc': '''Determines whether a <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> process is started on OS login and keeps running when the last browser window is closed, allowing background apps and the current browsing session to remain active, including any session cookies. The background process displays an icon in the system tray and can always be closed from there.
4876       If this policy is set to True, background mode is enabled and cannot be controlled by the user in the browser settings.
4878       If this policy is set to False, background mode is disabled and cannot be controlled by the user in the browser settings.
4880       If this policy is left unset, background mode is initially disabled and can be controlled by the user in the browser settings.''',
4881     },
4882     {
4883       'name': 'Drive',
4884       'type': 'group',
4885       'caption': '''Configure Google Drive options''',
4886       'desc': '''Configure Google Drive in <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph>.''',
4887       'policies': [
4888         {
4889           'name': 'DriveDisabled',
4890           'type': 'main',
4891           'schema': { 'type': 'boolean' },
4892           'supported_on': ['chrome_os:19-'],
4893           'features': {
4894             'dynamic_refresh': True,
4895             'per_profile': True,
4896           },
4897           'example_value': True,
4898           'id': 139,
4899           'caption': '''Disables Drive in the <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> Files app''',
4900           'desc': '''Disables Google Drive syncing in the <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> Files app when set to True. In that case, no data is uploaded to Google Drive.
4902           If not set or set to False, then users will be able to transfer files to Google Drive.''',
4903         },
4904         {
4905           'name': 'DriveDisabledOverCellular',
4906           'type': 'main',
4907           'schema': { 'type': 'boolean' },
4908           'supported_on': ['chrome_os:19-'],
4909           'features': {
4910             'dynamic_refresh': True,
4911             'per_profile': True,
4912           },
4913           'example_value': True,
4914           'id': 140,
4915           'caption': '''Disables Google Drive over cellular connections in the <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> Files app''',
4916           'desc': '''Disables Google Drive syncing in the <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> Files app when using a cellular connection when set to True. In that case, data is only synced to Google Drive when connected via WiFi or Ethernet.
4918           If not set or set to False, then users will be able to transfer files to Google Drive via cellular connections.''',
4919         },
4920       ],
4921     },
4922     {
4923       'name': 'PinnedLauncherApps',
4924       'type': 'list',
4925       'schema': {
4926         'type': 'array',
4927         'items': { 'type': 'string' },
4928       },
4929       'supported_on': ['chrome_os:20-' ],
4930       'features': {
4931         'can_be_recommended': True,
4932         'dynamic_refresh': True,
4933         'per_profile': True,
4934       },
4935       'example_value': ['pjkljhegncpnkpknbcohdijeoejaedia'],
4936       'id': 144,
4937       'caption': '''List of pinned apps to show in the launcher''',
4938       'desc': '''Lists the application identifiers <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> shows as pinned apps in the launcher bar.
4940       If this policy is configured, the set of applications is fixed and can't be changed by the user.
4942       If this policy is left unset, the user may change the list of pinned apps in the launcher.''',
4943     },
4944     {
4945       'name': 'RestrictSigninToPattern',
4946       'type': 'string',
4947       'schema': { 'type': 'string' },
4948       'supported_on': ['chrome.*:21-'],
4949       'features': {
4950         'dynamic_refresh': True,
4951         'per_profile': False,
4952       },
4953       'example_value': '*@domain.com',
4954       'id': 147,
4955       'caption': '''Restrict which users are allowed to sign in to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>''',
4956       'desc': '''Contains a regular expression which is used to determine which users can sign in to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
4958       An appropriate error is displayed if a user tries to log in with a username that does not match this pattern.
4960       If this policy is left not set or blank, then any user can sign in to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.''',
4961     },
4962     {
4963       'name': 'DisableSafeBrowsingProceedAnyway',
4964       'type': 'main',
4965       'schema': { 'type': 'boolean' },
4966       'supported_on': ['chrome.*:22-', 'chrome_os:22-', 'android:30-'],
4967       'features': {
4968         'dynamic_refresh': True,
4969         'per_profile': True,
4970       },
4971       'example_value': True,
4972       'id': 150,
4973       'caption': '''Disable proceeding from the Safe Browsing warning page''',
4974       'desc': '''The Safe Browsing service shows a warning page when users navigate to sites that are flagged as potentially malicious. Enabling this setting prevents users from proceeding anyway from the warning page to the malicious site.
4976       If this setting is disabled or not configured then users can choose to proceed to the flagged site after being shown the warning.''',
4977     },
4978     {
4979       'name': 'SafeBrowsingExtendedReportingOptInAllowed',
4980       'type': 'main',
4981       'schema': { 'type': 'boolean' },
4982       'supported_on': ['chrome.*:44-', 'chrome_os:44-'],
4983       'features': {
4984         'dynamic_refresh': True,
4985         'per_profile': True,
4986       },
4987       'example_value': True,
4988       'id': 299,
4989       'caption': '''Allow users to opt in to Safe Browsing extended reporting''',
4990       'desc': '''Setting this policy to false stops users from choosing to send information about security errors they encounter to Google servers. If this setting is true or not configured, then users will be allowed to send information when they encounter an SSL error or Safe Browsing warning.''',
4991     },
4992     {
4993       'name': 'SpellCheckServiceEnabled',
4994       'type': 'main',
4995       'schema': { 'type': 'boolean' },
4996       'supported_on': ['chrome.*:22-', 'chrome_os:22-'],
4997       'features': {
4998         'can_be_recommended': True,
4999         'dynamic_refresh': True,
5000         'per_profile': True,
5001       },
5002       'example_value': False,
5003       'id': 151,
5004       'caption': '''Enable or disable spell checking web service''',
5005       'desc': '''<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> can use a Google web service to help resolve spelling errors. If this setting is enabled, then this service is always used. If this setting is disabled, then this service is never used.
5007       Spell checking can still be performed using a downloaded dictionary; this policy only controls the usage of the online service.
5009       If this setting is not configured then users can choose whether the spell checking service should be used or not.''',
5010     },
5011     {
5012       'name': 'ExternalStorageDisabled',
5013       'type': 'main',
5014       'schema': { 'type': 'boolean' },
5015       'supported_on': ['chrome_os:22-'],
5016       'features': {
5017         'dynamic_refresh': True,
5018         'per_profile': True,
5019       },
5020       'example_value': True,
5021       'id': 152,
5022       'caption': '''Disable mounting of external storage''',
5023       'desc': '''Disable mounting of external storage.
5025       When this policy is set to true, external storage will not be available in the file browser.
5027       This policy affects all types of storage media. For example: USB flash drives, external hard drives, SD and other memory cards, optical storage etc. Internal storage is not affected, therefore files saved in the Download folder can still be accessed. Google Drive is also not affected by this policy.
5029       If this setting is disabled or not configured then users can use all supported types of external storage on their device.''',
5030     },
5031     {
5032       'name': 'AudioOutputAllowed',
5033       'type': 'main',
5034       'schema': { 'type': 'boolean' },
5035       'supported_on': ['chrome_os:23-'],
5036       'features': {
5037         'dynamic_refresh': True,
5038         'per_profile': False,
5039       },
5040       'example_value': False,
5041       'id': 159,
5042       'caption': '''Allow playing audio''',
5043       'desc': '''Allow playing audio.
5045       When this policy is set to false, audio output will not be available on the device while the user is logged in.
5047       This policy affects all types of audio output and not only the built-in speakers. Audio accessibility features are also inhibited by this policy. Do not enable this policy if a screen reader is required for the user.
5049       If this setting is set to true or not configured then users can use all supported audio outputs on their device.''',
5050     },
5051     {
5052       'name': 'AudioCaptureAllowed',
5053       'type': 'main',
5054       'schema': { 'type': 'boolean' },
5055       'supported_on': ['chrome.*:25-', 'chrome_os:23-'],
5056       'features': {
5057         'dynamic_refresh': True,
5058         'per_profile': False,
5059       },
5060       'example_value': False,
5061       'id': 160,
5062       'caption': '''Allow or deny audio capture''',
5063       'desc': '''Allow or deny audio capture.
5065       If enabled or not configured (default), the user will be prompted for
5066       audio capture access except for URLs configured in the
5067       AudioCaptureAllowedUrls list which will be granted access without prompting.
5069       When this policy is disabled, the user will never be prompted and audio
5070       capture only be available to URLs configured in AudioCaptureAllowedUrls.
5072       This policy affects all types of audio inputs and not only the built-in microphone.''',
5073     },
5074     {
5075       'name': 'AudioCaptureAllowedUrls',
5076       'type': 'list',
5077       'schema': {
5078         'type': 'array',
5079         'items': { 'type': 'string' },
5080       },
5081       'supported_on': ['chrome.*:29-', 'chrome_os:29-'],
5082       'features': {
5083         'dynamic_refresh': True,
5084         'per_profile': True,
5085       },
5086       'example_value': ['http://www.example.com/', 'http://[*.]example.edu/'],
5087       'id': 208,
5088       'caption': '''URLs that will be granted access to audio capture devices without prompt''',
5089       'desc': '''Patterns in this list will be matched against the security
5090       origin of the requesting URL.  If a match is found, access to audio
5091       capture devices will be granted without prompt.
5093       NOTE: This policy is currently only supported when running in Kiosk mode.''',
5094     },
5095     {
5096       'name': 'VideoCaptureAllowed',
5097       'type': 'main',
5098       'schema': { 'type': 'boolean' },
5099       'supported_on': ['chrome.*:25-', 'chrome_os:25-'],
5100       'features': {
5101         'dynamic_refresh': True,
5102         'per_profile': True,
5103       },
5104       'example_value': False,
5105       'id': 167,
5106       'caption': '''Allow or deny video capture''',
5107       'desc': '''Allow or deny video capture.
5109       If enabled or not configured (default), the user will be prompted for
5110       video capture access except for URLs configured in the
5111       VideoCaptureAllowedUrls list which will be granted access without prompting.
5113       When this policy is disabled, the user will never be prompted and video
5114       capture only be available to URLs configured in VideoCaptureAllowedUrls.
5116       This policy affects all types of video inputs and not only the built-in camera.''',
5117     },
5118     {
5119       'name': 'VideoCaptureAllowedUrls',
5120       'type': 'list',
5121       'schema': {
5122         'type': 'array',
5123         'items': { 'type': 'string' },
5124       },
5125       'supported_on': ['chrome.*:29-', 'chrome_os:29-'],
5126       'features': {
5127         'dynamic_refresh': True,
5128         'per_profile': True,
5129       },
5130       'example_value': ['http://www.example.com/', 'http://[*.]example.edu/'],
5131       'id': 209,
5132       'caption': '''URLs that will be granted access to video capture devices without prompt''',
5133       'desc': '''Patterns in this list will be matched against the security
5134       origin of the requesting URL.  If a match is found, access to audio
5135       capture devices will be granted without prompt.
5137       NOTE: This policy is currently only supported when running in Kiosk mode.''',
5138     },
5139     {
5140       'name': 'DisableScreenshots',
5141       'type': 'main',
5142       'schema': { 'type': 'boolean' },
5143       'supported_on': ['chrome_os:22-', 'chrome.*:22-'],
5144       'features': {
5145         'dynamic_refresh': True,
5146         'per_profile': False,
5147       },
5148       'example_value': True,
5149       'id': 153,
5150       'caption': '''Disable taking screenshots''',
5151       'desc': '''Disables taking screenshots.
5153       If enabled screenshots cannot be taken using keyboard shortcuts or extension APIs.
5155       If disabled or not specified, taking screenshots is allowed.'''
5156     },
5157     {
5158       'name': 'SystemTimezone',
5159       'type': 'string',
5160       'schema': { 'type': 'string' },
5161       'supported_on': ['chrome_os:22-'],
5162       'device_only': True,
5163       'features': {
5164         'dynamic_refresh': True,
5165       },
5166       'example_value': 'America/Los_Angeles',
5167       'id': 158,
5168       'caption': '''Timezone''',
5169       'desc': '''Specifies the timezone to be used for the device. Users can override the specified timezone for the current session. However, on logout it is set back to the specified timezone. If an invalid value is provided, the policy is still activated using "GMT" instead. If an empty string is provided, the policy is ignored.
5171       If this policy is not used, the currently active timezone will remain in use however users can change the timezone and the change is persistent. Thus a change by one user affects the login-screen and all other users.
5173       New devices start out with the timezone set to "US/Pacific".
5175       The format of the value follows the names of timezones in the "IANA Time Zone Database" (see "http://en.wikipedia.org/wiki/List_of_tz_database_time"). In particular, most timezones can be referred to by "continent/large_city" or "ocean/large_city".''',
5176     },
5177     {
5178       'name': 'SystemUse24HourClock',
5179       'type': 'main',
5180       'schema': { 'type': 'boolean' },
5181       'supported_on': ['chrome_os:30-'],
5182       'device_only': True,
5183       'features': {
5184         'dynamic_refresh': True,
5185       },
5186       'example_value': True,
5187       'id': 236,
5188       'caption': '''Use 24 hour clock by default''',
5189       'desc': '''Specifies the clock format be used for the device.
5191       This policy configures the clock format to use on the login screen and as a default for user sessions. Users can still override the clock format for their account.
5193       If the policy is set to true, the device will use a 24 hour clock format. If the policy is set to false, the device will use 12 hour clock format.
5195       If this policy is not set, the device will default to a 24 hour clock format.''',
5196     },
5197     {
5198       'name': 'TouchVirtualKeyboardEnabled',
5199       'type': 'main',
5200       'schema': { 'type': 'boolean' },
5201       'supported_on': ['chrome_os:37-' ],
5202       'features': {
5203         'dynamic_refresh': True,
5204         'per_profile': True
5205       },
5206       'example_value': False,
5207       'id': 269,
5208       'caption': '''Enable virtual keyboard''',
5209       'desc': '''This policy configures enabling the virtual keyboard as an input device on ChromeOS. Users cannot override this policy.
5211       If the policy is set to true, the on-screen virtual keyboard will always be enabled.
5213       If set to false, the on-screen virtual keyboard will always be disabled.
5215       If you set this policy, users cannot change or override it. However, users will still be able to enable/disable an accessibility on-screen keyboard which takes precedence over the virtual keyboard controlled by this policy. See the |VirtualKeyboardEnabled| policy for controlling the accessibility on-screen keyboard.
5217       If this policy is left unset, the on-screen keyboard is disabled initially but can be enabled by the user anytime. Heuristic rules may also be used to decide when to display the keyboard.''',
5218     },
5219     {
5220       'name': 'ShowLogoutButtonInTray',
5221       'type': 'main',
5222       'schema': { 'type': 'boolean' },
5223       'supported_on': ['chrome_os:25-'],
5224       'features': {
5225         'dynamic_refresh': True,
5226         'per_profile': True,
5227       },
5228       'example_value': True,
5229       'id': 164,
5230       'caption': '''Add a logout button to the system tray''',
5231       'desc': '''Adds a logout button to the system tray.
5233       If enabled, a big, red logout button is shown in the system tray while a session is active and the screen is not locked.
5235       If disabled or not specified, no big, red logout button is shown in the system tray.''',
5236     },
5237     {
5238       'name': 'BuiltInDnsClientEnabled',
5239       'type': 'main',
5240       'schema': { 'type': 'boolean' },
5241       'supported_on': ['chrome.*:25-'],
5242       'features': {
5243         'dynamic_refresh': True,
5244         'per_profile': False,
5245       },
5246       'example_value': True,
5247       'id': 165,
5248       'caption': '''Use built-in DNS client''',
5249       'desc': '''Controls whether the built-in DNS client is used in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
5251       If this policy is set to true, the built-in DNS client will be used, if available.
5253       If this policy is set to false, the built-in DNS client will never be used.
5255       If this policy is left not set, the users will be able to change whether the built-in DNS client is used by editing chrome://flags or specifying a command-line flag.''',
5256     },
5257     {
5258       'name': 'ShelfAutoHideBehavior',
5259       'type': 'string-enum',
5260       'schema': {
5261         'type': 'string',
5262         'enum': [
5263           'Always',
5264           'Never'
5265         ],
5266       },
5267       'items': [
5268         {
5269           'name': 'AlwaysAutoHideShelf',
5270           'value': 'Always',
5271           'caption': '''Always auto-hide the shelf''',
5272         },
5273         {
5274           'name': 'NeverAutoHideShelf',
5275           'value': 'Never',
5276           'caption': '''Never auto-hide the shelf''',
5277         },
5278       ],
5279       'supported_on': ['chrome_os:25-'],
5280       'features': {
5281         'can_be_recommended': True,
5282         'dynamic_refresh': True,
5283         'per_profile': False,
5284       },
5285       'example_value': 'Always',
5286       'id': 166,
5287       'caption': '''Control shelf auto-hiding''',
5288       'desc': '''Control auto-hiding of the <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> shelf.
5290       If this policy is set to 'AlwaysAutoHideShelf', the shelf will always auto-hide.
5292       If this policy is set to 'NeverAutoHideShelf', the shelf never auto-hide.
5294       If you set this policy, users cannot change or override it.
5296       If the policy is left not set, users can choose whether the shelf should auto-hide.''',
5297     },
5298     {
5299       'name': 'UserDisplayName',
5300       'type': 'string',
5301       'schema': { 'type': 'string' },
5302       'supported_on': ['chrome_os:25-'],
5303       'features': {
5304         'dynamic_refresh': True,
5305         'per_profile': False,
5306       },
5307       'example_value': 'Policy User',
5308       'id': 169,
5309       'caption': '''Set the display name for device-local accounts''',
5310       'desc': '''Controls the account name <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> shows on the login screen for the corresponding device-local account.
5312       If this policy is set, the login screen will use the specified string in the picture-based login chooser for the corresponding device-local account.
5314       If the policy is left not set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will use the device-local account's email account ID as the display name on the login screen.
5316       This policy is ignored for regular user accounts.''',
5317     },
5318     {
5319       'name': 'SessionLengthLimit',
5320       'type': 'int',
5321       'schema': { 'type': 'integer' },
5322       'supported_on': ['chrome_os:25-'],
5323       'features': {
5324         'dynamic_refresh': True,
5325         'per_profile': False,
5326       },
5327       'example_value': 3600000,
5328       'id': 170,
5329       'caption': '''Limit the session length''',
5330       'desc': '''Limit the maximum length of a user session.
5332       When this policy is set, it specifies the length of time after which a user is automatically logged out, terminating the session. The user is informed about the remaining time by a countdown timer shown in the system tray.
5334       When this policy is not set, the session length is not limited.
5336       If you set this policy, users cannot change or override it.
5338       The policy value should be specified in milliseconds. Values are clamped to a range of 30 seconds to 24 hours.''',
5339     },
5340     {
5341       'name': 'FullscreenAllowed',
5342       'type': 'main',
5343       'schema': { 'type': 'boolean' },
5344       'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-'],
5345       'features': {
5346         'dynamic_refresh': True,
5347         'per_profile': True,
5348       },
5349       'example_value': True,
5350       'id': 240,
5351       'caption': '''Allow fullscreen mode''',
5352       'desc': '''Allow fullscreen mode.
5354       This policy controls the availability of fullscreen mode in which all <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> UI is hidden and only web content is visible.
5356       If this policy is set to true or not not configured, the user, apps and extensions with appropriate permissions can enter fullscreen mode.
5358       If this policy is set to false, neither the user nor any apps or extensions can enter fullscreen mode.
5360       On all platforms except <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph>, kiosk mode is unavailable when fullscreen mode is disabled.''',
5361     },
5362     {
5363       'name': 'PowerManagement',
5364       'type': 'group',
5365       'caption': '''Power management''',
5366       'desc': '''Configure power management in <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph>.
5368       These policies let you configure how <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> behaves when the user remains idle for some amount of time.''',
5369       'policies': [
5370         {
5371           'name': 'ScreenDimDelayAC',
5372           'type': 'int',
5373           'schema': {
5374             'type': 'integer',
5375             'minimum': 0
5376           },
5377           'supported_on': ['chrome_os:26-'],
5378           'features': {
5379             'dynamic_refresh': True,
5380             'per_profile': False,
5381           },
5382           'deprecated': True,
5383           'example_value': 420000,
5384           'id': 172,
5385           'caption': '''Screen dim delay when running on AC power''',
5386           'desc': '''Specifies the length of time without user input after which the screen is dimmed when running on AC power.
5388           When this policy is set to a value greater than zero, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> dims the screen.
5390           When this policy is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> does not dim the screen when the user becomes idle.
5392           When this policy is unset, a default length of time is used.
5394           The policy value should be specified in milliseconds. Values are clamped to be less than or equal the screen off delay (if set) and the idle delay.''',
5395         },
5396         {
5397           'name': 'ScreenOffDelayAC',
5398           'type': 'int',
5399           'schema': {
5400             'type': 'integer',
5401             'minimum': 0
5402           },
5403           'supported_on': ['chrome_os:26-'],
5404           'features': {
5405             'dynamic_refresh': True,
5406             'per_profile': False,
5407           },
5408           'deprecated': True,
5409           'example_value': 480000,
5410           'id': 173,
5411           'caption': '''Screen off delay when running on AC power''',
5412           'desc': '''Specifies the length of time without user input after which the screen is turned off when running on AC power.
5414           When this policy is set to a value greater than zero, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> turns off the screen.
5416           When this policy is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> does not turn off the screen when the user becomes idle.
5418           When this policy is unset, a default length of time is used.
5420           The policy value should be specified in milliseconds. Values are clamped to be less than or equal the idle delay.''',
5421         },
5422         {
5423           'name': 'ScreenLockDelayAC',
5424           'type': 'int',
5425           'schema': {
5426             'type': 'integer',
5427             'minimum': 0
5428           },
5429           'supported_on': ['chrome_os:26-'],
5430           'features': {
5431             'dynamic_refresh': True,
5432             'per_profile': False,
5433           },
5434           'deprecated': True,
5435           'example_value': 600000,
5436           'id': 174,
5437           'caption': '''Screen lock delay when running on AC power''',
5438           'desc': '''Specifies the length of time without user input after which the screen is locked when running on AC power.
5440           When this policy is set to a value greater than zero, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> locks the screen.
5442           When this policy is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> does not lock the screen when the user becomes idle.
5444           When this policy is unset, a default length of time is used.
5446           The recommended way to lock the screen on idle is to enable screen locking on suspend and have <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> suspend after the idle delay. This policy should only be used when screen locking should occur a significant amount of time sooner than suspend or when suspend on idle is not desired at all.
5448           The policy value should be specified in milliseconds. Values are clamped to be less than the idle delay.''',
5449         },
5450         {
5451           'name': 'IdleWarningDelayAC',
5452           'type': 'int',
5453           'schema': {
5454             'type': 'integer',
5455             'minimum': 0
5456           },
5457           'supported_on': ['chrome_os:27-'],
5458           'features': {
5459             'dynamic_refresh': True,
5460             'per_profile': False,
5461           },
5462           'deprecated': True,
5463           'example_value': 545000,
5464           'id': 197,
5465           'caption': '''Idle warning delay when running on AC power''',
5466           'desc': '''Specifies the length of time without user input after which a warning dialog is shown when running on AC power.
5468           When this policy is set, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> shows a warning dialog telling the user that the idle action is about to be taken.
5470           When this policy is unset, no warning dialog is shown.
5472           The policy value should be specified in milliseconds. Values are clamped to be less than or equal the idle delay.''',
5473         },
5474         {
5475           'name': 'IdleDelayAC',
5476           'type': 'int',
5477           'schema': {
5478             'type': 'integer',
5479             'minimum': 0
5480           },
5481           'supported_on': ['chrome_os:26-'],
5482           'features': {
5483             'dynamic_refresh': True,
5484             'per_profile': False,
5485           },
5486           'deprecated': True,
5487           'example_value': 1800000,
5488           'id': 175,
5489           'caption': '''Idle delay when running on AC power''',
5490           'desc': '''Specifies the length of time without user input after which the idle action is taken when running on AC power.
5492           When this policy is set, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> takes the idle action, which can be configured separately.
5494           When this policy is unset, a default length of time is used.
5496           The policy value should be specified in milliseconds.''',
5497         },
5498         {
5499           'name': 'ScreenDimDelayBattery',
5500           'type': 'int',
5501           'schema': {
5502             'type': 'integer',
5503             'minimum': 0
5504           },
5505           'supported_on': ['chrome_os:26-'],
5506           'features': {
5507             'dynamic_refresh': True,
5508             'per_profile': False,
5509           },
5510           'deprecated': True,
5511           'example_value': 300000,
5512           'id': 176,
5513           'caption': '''Screen dim delay when running on battery power''',
5514           'desc': '''Specifies the length of time without user input after which the screen is dimmed when running on battery power.
5516           When this policy is set to a value greater than zero, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> dims the screen.
5518           When this policy is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> does not dim the screen when the user becomes idle.
5520           When this policy is unset, a default length of time is used.
5522           The policy value should be specified in milliseconds. Values are clamped to be less than or equal the screen off delay (if set) and the idle delay.''',
5523         },
5524         {
5525           'name': 'ScreenOffDelayBattery',
5526           'type': 'int',
5527           'schema': {
5528             'type': 'integer',
5529             'minimum': 0
5530           },
5531           'supported_on': ['chrome_os:26-'],
5532           'features': {
5533             'dynamic_refresh': True,
5534             'per_profile': False,
5535           },
5536           'deprecated': True,
5537           'example_value': 360000,
5538           'id': 177,
5539           'caption': '''Screen off delay when running on battery power''',
5540           'desc': '''Specifies the length of time without user input after which the screen is turned off when running on battery power.
5542           When this policy is set to a value greater than zero, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> turns off the screen.
5544           When this policy is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> does not turn off the screen when the user becomes idle.
5546           When this policy is unset, a default length of time is used.
5548           The policy value should be specified in milliseconds. Values are clamped to be less than or equal the idle delay.''',
5549         },
5550         {
5551           'name': 'ScreenLockDelayBattery',
5552           'type': 'int',
5553           'schema': {
5554             'type': 'integer',
5555             'minimum': 0
5556           },
5557           'supported_on': ['chrome_os:26-'],
5558           'features': {
5559             'dynamic_refresh': True,
5560             'per_profile': False,
5561           },
5562           'deprecated': True,
5563           'example_value': 600000,
5564           'id': 178,
5565           'caption': '''Screen lock delay when running on battery power''',
5566           'desc': '''Specifies the length of time without user input after which the screen is locked when running on battery power.
5568           When this policy is set to a value greater than zero, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> locks the screen.
5570           When this policy is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> does not lock the screen when the user becomes idle.
5572           When this policy is unset, a default length of time is used.
5574           The recommended way to lock the screen on idle is to enable screen locking on suspend and have <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> suspend after the idle delay. This policy should only be used when screen locking should occur a significant amount of time sooner than suspend or when suspend on idle is not desired at all.
5576           The policy value should be specified in milliseconds. Values are clamped to be less than the idle delay.''',
5577         },
5578         {
5579           'name': 'IdleWarningDelayBattery',
5580           'type': 'int',
5581           'schema': {
5582             'type': 'integer',
5583             'minimum': 0
5584           },
5585           'supported_on': ['chrome_os:27-'],
5586           'features': {
5587             'dynamic_refresh': True,
5588             'per_profile': False,
5589           },
5590           'deprecated': True,
5591           'example_value': 545000,
5592           'id': 198,
5593           'caption': '''Idle warning delay when running on battery power''',
5594           'desc': '''Specifies the length of time without user input after which a warning dialog is shown when running on battery power.
5596           When this policy is set, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> shows a warning dialog telling the user that the idle action is about to be taken.
5598           When this policy is unset, no warning dialog is shown.
5600           The policy value should be specified in milliseconds. Values are clamped to be less than or equal the idle delay.''',
5601         },
5602         {
5603           'name': 'IdleDelayBattery',
5604           'type': 'int',
5605           'schema': {
5606             'type': 'integer',
5607             'minimum': 0
5608           },
5609           'supported_on': ['chrome_os:26-'],
5610           'features': {
5611             'dynamic_refresh': True,
5612             'per_profile': False,
5613           },
5614           'deprecated': True,
5615           'example_value': 600000,
5616           'id': 179,
5617           'caption': '''Idle delay when running on battery power''',
5618           'desc': '''Specifies the length of time without user input after which the idle action is taken when running on battery power.
5620           When this policy is set, it specifies the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> takes the idle action, which can be configured separately.
5622           When this policy is unset, a default length of time is used.
5624           The policy value should be specified in milliseconds.''',
5625         },
5626         {
5627           'name': 'IdleAction',
5628           'type': 'int-enum',
5629           'schema': {
5630             'type': 'integer',
5631             'enum': [ 0, 1, 2, 3 ],
5632           },
5633           'items': [
5634             {
5635               'name': 'IdleActionSuspend',
5636               'value': 0,
5637               'caption': '''Suspend''',
5638             },
5639             {
5640               'name': 'IdleActionLogout',
5641               'value': 1,
5642               'caption': '''Log the user out''',
5643             },
5644             {
5645               'name': 'IdleActionShutdown',
5646               'value': 2,
5647               'caption': '''Shut down''',
5648             },
5649             {
5650               'name': 'IdleActionDoNothing',
5651               'value': 3,
5652               'caption': '''Do nothing''',
5653             },
5654           ],
5655           'supported_on': ['chrome_os:26-'],
5656           'features': {
5657             'dynamic_refresh': True,
5658             'per_profile': False,
5659           },
5660           'deprecated': True,
5661           'example_value': 0,
5662           'id': 180,
5663           'caption': '''Action to take when the idle delay is reached''',
5664           'desc': '''Specify the action to take when the idle delay is reached.
5666           Note that this policy is deprecated and will be removed in the future.
5668           This policy provides a fallback value for the more-specific <ph name="IDLEACTIONAC_POLICY_NAME">IdleActionAC</ph> and <ph name="IDLEACTIONBATTERY_POLICY_NAME">IdleActionBattery</ph> policies. If this policy is set, its value gets used if the respective more-specific policy is not set.
5670           When this policy is unset, behavior of the more-specific policies remains unaffected.''',
5671         },
5672         {
5673           'name': 'IdleActionAC',
5674           'type': 'int-enum',
5675           'schema': {
5676             'type': 'integer',
5677             'enum': [ 0, 1, 2, 3 ],
5678           },
5679           'items': [
5680             {
5681               'name': 'IdleActionSuspend',
5682               'value': 0,
5683               'caption': '''Suspend''',
5684             },
5685             {
5686               'name': 'IdleActionLogout',
5687               'value': 1,
5688               'caption': '''Log the user out''',
5689             },
5690             {
5691               'name': 'IdleActionShutdown',
5692               'value': 2,
5693               'caption': '''Shut down''',
5694             },
5695             {
5696               'name': 'IdleActionDoNothing',
5697               'value': 3,
5698               'caption': '''Do nothing''',
5699             },
5700           ],
5701           'supported_on': ['chrome_os:30-'],
5702           'features': {
5703             'dynamic_refresh': True,
5704             'per_profile': False,
5705           },
5706           'deprecated': True,
5707           'example_value': 0,
5708           'id': 226,
5709           'caption': '''Action to take when the idle delay is reached while running on AC power''',
5710           'desc': '''Specify the action to take when the idle delay is reached while running on AC power.
5712           When this policy is set, it specifies the action that <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> takes when the user remains idle for the length of time given by the idle delay, which can be configured separately.
5714           When this policy is unset, the default action is taken, which is suspend.
5716           If the action is suspend, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can separately be configured to either lock or not lock the screen before suspending.''',
5717         },
5718         {
5719           'name': 'IdleActionBattery',
5720           'type': 'int-enum',
5721           'schema': {
5722             'type': 'integer',
5723             'enum': [ 0, 1, 2, 3 ],
5724           },
5725           'items': [
5726             {
5727               'name': 'IdleActionSuspend',
5728               'value': 0,
5729               'caption': '''Suspend''',
5730             },
5731             {
5732               'name': 'IdleActionLogout',
5733               'value': 1,
5734               'caption': '''Log the user out''',
5735             },
5736             {
5737               'name': 'IdleActionShutdown',
5738               'value': 2,
5739               'caption': '''Shut down''',
5740             },
5741             {
5742               'name': 'IdleActionDoNothing',
5743               'value': 3,
5744               'caption': '''Do nothing''',
5745             },
5746           ],
5747           'supported_on': ['chrome_os:30-'],
5748           'features': {
5749             'dynamic_refresh': True,
5750             'per_profile': False,
5751           },
5752           'deprecated': True,
5753           'example_value': 0,
5754           'id': 222,
5755           'caption': '''Action to take when the idle delay is reached while running on battery power''',
5756           'desc': '''Specify the action to take when the idle delay is reached while running on battery power.
5758           When this policy is set, it specifies the action that <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> takes when the user remains idle for the length of time given by the idle delay, which can be configured separately.
5760           When this policy is unset, the default action is taken, which is suspend.
5762           If the action is suspend, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can separately be configured to either lock or not lock the screen before suspending.''',
5763         },
5764         {
5765           'name': 'LidCloseAction',
5766           'type': 'int-enum',
5767           'schema': {
5768             'type': 'integer',
5769             'enum': [ 0, 1, 2, 3 ],
5770           },
5771           'items': [
5772             {
5773               'name': 'LidCloseActionSuspend',
5774               'value': 0,
5775               'caption': '''Suspend''',
5776             },
5777             {
5778               'name': 'LidCloseActionLogout',
5779               'value': 1,
5780               'caption': '''Log the user out''',
5781             },
5782             {
5783               'name': 'LidCloseActionShutdown',
5784               'value': 2,
5785               'caption': '''Shut down''',
5786             },
5787             {
5788               'name': 'LidCloseActionDoNothing',
5789               'value': 3,
5790               'caption': '''Do nothing''',
5791             },
5792           ],
5793           'supported_on': ['chrome_os:26-'],
5794           'features': {
5795             'dynamic_refresh': True,
5796             'per_profile': False,
5797           },
5798           'example_value': 0,
5799           'id': 181,
5800           'caption': '''Action to take when the user closes the lid''',
5801           'desc': '''Specify the action to take when the user closes the lid.
5803           When this policy is set, it specifies the action that <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> takes when the user closes the device's lid.
5805           When this policy is unset, the default action is taken, which is suspend.
5807           If the action is suspend, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can separately be configured to either lock or not lock the screen before suspending.''',
5808         },
5809         {
5810           'name': 'PowerManagementUsesAudioActivity',
5811           'type': 'main',
5812           'schema': { 'type': 'boolean' },
5813           'supported_on': ['chrome_os:26-'],
5814           'features': {
5815             'dynamic_refresh': True,
5816             'per_profile': False,
5817           },
5818           'example_value': True,
5819           'id': 182,
5820           'caption': '''Specify whether audio activity affects power management''',
5821           'desc': '''Specifies whether audio activity affects power management.
5823           If this policy is set to True or is unset, the user is not considered to be idle while audio is playing. This prevents the idle timeout from being reached and the idle action from being taken. However, screen dimming, screen off and screen lock will be performed after the configured timeouts, irrespective of audio activity.
5825           If this policy is set to False, audio activity does not prevent the user from being considered idle.''',
5826         },
5827         {
5828           'name': 'PowerManagementUsesVideoActivity',
5829           'type': 'main',
5830           'schema': { 'type': 'boolean' },
5831           'supported_on': ['chrome_os:26-'],
5832           'features': {
5833             'dynamic_refresh': True,
5834             'per_profile': False,
5835           },
5836           'example_value': True,
5837           'id': 183,
5838           'caption': '''Specify whether video activity affects power management''',
5839           'desc': '''Specifies whether video activity affects power management.
5841           If this policy is set to True or is unset, the user is not considered to be idle while video is playing. This prevents the idle delay, screen dim delay, screen off delay and screen lock delay from being reached and the corresponding actions from being taken.
5843           If this policy is set to False, video activity does not prevent the user from being considered idle.''',
5844         },
5845         {
5846           'name': 'PresentationIdleDelayScale',
5847           'type': 'int',
5848           'schema': { 'type': 'integer' },
5849           'supported_on': ['chrome_os:26-28'],
5850           'features': {
5851             'dynamic_refresh': True,
5852             'per_profile': False,
5853           },
5854           'deprecated': True,
5855           'example_value': 200,
5856           'id': 184,
5857           'caption': '''Percentage by which to scale the idle delay in presentation mode (deprecated)''',
5858           'desc': '''This policy has been retired as of <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> version 29. Please use the PresentationScreenDimDelayScale policy instead.''',
5859         },
5860         {
5861           'name': 'PresentationScreenDimDelayScale',
5862           'type': 'int',
5863           'schema': { 'type': 'integer' },
5864           'supported_on': ['chrome_os:29-'],
5865           'features': {
5866             'dynamic_refresh': True,
5867             'per_profile': False,
5868           },
5869           'example_value': 200,
5870           'id': 220,
5871           'caption': '''Percentage by which to scale the screen dim delay in presentation mode''',
5872           'desc': '''Specifies the percentage by which the screen dim delay is scaled when the device is in presentation mode.
5874           If this policy is set, it specifies the percentage by which the screen dim delay is scaled when the device is in presentation mode. When the screen dim delay is scaled, the screen off, screen lock and idle delays get adjusted to maintain the same distances from the screen dim delay as originally configured.
5876           If this policy is unset, a default scale factor is used.
5878           The scale factor must be 100% or more. Values that would make the screen dim delay in presentation mode shorter than the regular screen dim delay are not allowed.''',
5879         },
5880         {
5881           'name': 'AllowScreenWakeLocks',
5882           'type': 'main',
5883           'schema': { 'type': 'boolean' },
5884           'supported_on': ['chrome_os:28-'],
5885           'features': {
5886             'dynamic_refresh': True,
5887             'per_profile': False,
5888           },
5889           'example_value': False,
5890           'id': 203,
5891           'caption': '''Allow screen wake locks''',
5892           'desc': '''Specifies whether screen wake locks are allowed. Screen wake locks can be requested by extensions via the power management extension API.
5894           If this policy is set to true or left not set, screen wake locks will be honored for power management.
5896           If this policy is set to false, screen wake lock requests will get ignored.''',
5897         },
5898         {
5899           'name': 'UserActivityScreenDimDelayScale',
5900           'type': 'int',
5901           'schema': { 'type': 'integer' },
5902           'supported_on': ['chrome_os:29-'],
5903           'features': {
5904             'dynamic_refresh': True,
5905             'per_profile': False,
5906           },
5907           'example_value': 200,
5908           'id': 210,
5909           'caption': '''Percentage by which to scale the screen dim delay if the user becomes active after dimming''',
5910           'desc': '''Specifies the percentage by which the screen dim delay is scaled when user activity is observed while the screen is dimmed or soon after the screen has been turned off.
5912           If this policy is set, it specifies the percentage by which the screen dim delay is scaled when user activity is observed while the screen is dimmed or soon after the screen has been turned off. When the dim delay is scaled, the screen off, screen lock and idle delays get adjusted to maintain the same distances from the screen dim delay as originally configured.
5914           If this policy is unset, a default scale factor is used.
5916           The scale factor must be 100% or more.''',
5917         },
5918         {
5919           'name': 'WaitForInitialUserActivity',
5920           'type': 'main',
5921           'schema': { 'type': 'boolean' },
5922           'supported_on': ['chrome_os:32-'],
5923           'features': {
5924             'dynamic_refresh': True,
5925             'per_profile': False,
5926           },
5927           'example_value': True,
5928           'id': 247,
5929           'caption': '''Wait for initial user activity''',
5930           'desc': '''Specifies whether power management delays and the session length limit should only start running after the first user activity has been observed in a session.
5932           If this policy is set to True, power management delays and the session length limit do not start running until after the first user activity has been observed in a session.
5934           If this policy is set to False or left unset, power management delays and the session length limit start running immediately on session start.''',
5935         },
5936         {
5937           'name': 'PowerManagementIdleSettings',
5938           'type': 'dict',
5939           'schema': {
5940             'type': 'object',
5941             'properties': {
5942               'AC': {
5943                 'description': 'Delays and actions to take when the device is idle and running on AC power',
5944                 'type': 'object',
5945                 'id': 'PowerManagementDelays',
5946                 'properties': {
5947                   'Delays': {
5948                     'type': 'object',
5949                     'properties': {
5950                       'ScreenDim': {
5951                         'description': 'The length of time without user input after which the screen is dimmed, in milliseconds',
5952                         'type': 'integer',
5953                         'minimum': 0
5954                       },
5955                       'ScreenOff': {
5956                         'description': 'The length of time without user input after which the screen is turned off, in milliseconds',
5957                         'type': 'integer',
5958                         'minimum': 0
5959                       },
5960                       'IdleWarning': {
5961                         'description': 'The length of time without user input after which a warning dialog is shown, in milliseconds',
5962                         'type': 'integer',
5963                         'minimum': 0
5964                       },
5965                       'Idle': {
5966                         'description': 'The length of time without user input after which the idle action is taken, in milliseconds',
5967                         'type': 'integer',
5968                         'minimum': 0
5969                       }
5970                     }
5971                   },
5972                   'IdleAction': {
5973                     'description': 'Action to take when the idle delay is reached',
5974                     'type': 'string',
5975                     'enum': [ 'Suspend', 'Logout', 'Shutdown', 'DoNothing' ]
5976                   }
5977                 }
5978               },
5979               'Battery': {
5980                 'description': 'Delays and actions to take when the device is idle and running on battery',
5981                 '$ref': 'PowerManagementDelays'
5982               }
5983             }
5984           },
5985           'supported_on': ['chrome_os:35-'],
5986           'features': {
5987             'dynamic_refresh': True,
5988             'per_profile': False,
5989           },
5990           'example_value': {
5991             'AC': {
5992               'IdleAction': 'DoNothing'
5993             },
5994             'Battery': {
5995               'IdleAction': 'DoNothing'
5996             }
5997           },
5998           'id': 258,
5999           'caption': '''Power management settings when the user becomes idle''',
6000           'desc': '''Configure power management settings when the user becomes idle.
6002           This policy controls multiple settings for the power management strategy when the user becomes idle.
6004           There are four types of action:
6005           * The screen will be dimmed if the user remains idle for the time specified by |ScreenDim|.
6006           * The screen will be turned off if the user remains idle for the time specified by |ScreenOff|.
6007           * A warning dialog will be shown if the user remains idle for the time specified by |IdleWarning|, telling the user that the idle action is about to be taken.
6008           * The action specified by |IdleAction| will be taken if the user remains idle for the time specified by |Idle|.
6010           For each of above actions, the delay should be specified in milliseconds, and needs to be set to a value greater than zero to trigger the corresponding action. In case the delay is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will not take the corresponding action.
6012           For each of the above delays, when the length of time is unset, a default value will be used.
6014           Note that |ScreenDim| values will be clamped to be less than or equal to |ScreenOff|, |ScreenOff| and |IdleWarning| will be clamped to be less than or equal to |Idle|.
6016           |IdleAction| can be one of four possible actions:
6017           * |Suspend|
6018           * |Logout|
6019           * |Shutdown|
6020           * |DoNothing|
6022           When the |IdleAction| is unset, the default action is taken, which is suspend.
6024           There are also separate settings for AC power and battery.
6025           '''
6026         },
6027         {
6028           'name': 'ScreenLockDelays',
6029           'type': 'dict',
6030           'schema': {
6031             'type': 'object',
6032             'properties': {
6033               'AC': {
6034                 'description': 'The length of time without user input after which the screen is locked when running on AC power, in milliseconds',
6035                 'type': 'integer',
6036                 'minimum': 0
6037               },
6038               'Battery': {
6039                 'description': 'The length of time without user input after which the screen is locked when running on battery, in milliseconds',
6040                 'type': 'integer',
6041                 'minimum': 0
6042               }
6043             }
6044           },
6045           'supported_on': ['chrome_os:35-'],
6046           'features': {
6047             'dynamic_refresh': True,
6048             'per_profile': False,
6049           },
6050           'example_value': {
6051             'AC': 600000,
6052             'Battery': 300000
6053           },
6054           'id': 259,
6055           'caption': '''Screen lock delays''',
6056           'desc': '''Specifies the length of time without user input after which the screen is locked when running on AC power or battery.
6058           When the length of time is set to a value greater than zero, it represents the length of time that the user must remain idle before <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> locks the screen.
6060           When the length of time is set to zero, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> does not lock the screen when the user becomes idle.
6062           When the length of time is unset, a default length of time is used.
6064           The recommended way to lock the screen on idle is to enable screen locking on suspend and have <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> suspend after the idle delay. This policy should only be used when screen locking should occur a significant amount of time sooner than suspend or when suspend on idle is not desired at all.
6066           The policy value should be specified in milliseconds. Values are clamped to be less than the idle delay.''',
6067         },
6068       ],
6069     },
6070     {
6071       'name': 'DeviceLoginScreenPowerManagement',
6072       'type': 'dict',
6073       'schema': {
6074         'type': 'object',
6075         'properties': {
6076           'AC': {
6077             'description': 'Power management settings applicable only when running on AC power',
6078             'type': 'object',
6079             'id': 'DeviceLoginScreenPowerSettings',
6080             'properties': {
6081               'Delays': {
6082                 'type': 'object',
6083                 'properties': {
6084                   'ScreenDim': {
6085                     'description': 'The length of time without user input after which the screen is dimmed, in milliseconds',
6086                     'type': 'integer',
6087                     'minimum': 0
6088                   },
6089                   'ScreenOff': {
6090                     'description': 'The length of time without user input after which the screen is turned off, in milliseconds',
6091                     'type': 'integer',
6092                     'minimum': 0
6093                   },
6094                   'Idle': {
6095                     'description': 'The length of time without user input after which the idle action is taken, in milliseconds',
6096                     'type': 'integer',
6097                     'minimum': 0
6098                   }
6099                 }
6100               },
6101               'IdleAction': {
6102                 'description': 'Action to take when the idle delay is reached',
6103                 'type': 'string',
6104                 'enum': [ 'Suspend', 'Shutdown', 'DoNothing' ]
6105               }
6106             }
6107           },
6108           'Battery': {
6109             'description': 'Power management settings applicable only when running on battery power',
6110             '$ref': 'DeviceLoginScreenPowerSettings'
6111           },
6112           'LidCloseAction': {
6113             'description': 'Action to take when the lid is closed',
6114             'type': 'string',
6115             'enum': [ 'Suspend', 'Shutdown', 'DoNothing' ]
6116           },
6117           'UserActivityScreenDimDelayScale': {
6118             'description': 'Percentage by which the screen dim delay is scaled when user activity is observed while the screen is dimmed or soon after the screen has been turned off',
6119             'type': 'integer',
6120             'minimum': 100
6121           }
6122         }
6123       },
6124       'supported_on': ['chrome_os:30-'],
6125       'device_only': True,
6126       'features': {
6127         'dynamic_refresh': True,
6128       },
6129       'example_value': {
6130         'AC': {
6131           'IdleAction': 'DoNothing'
6132         },
6133         'Battery': {
6134           'IdleAction': 'DoNothing'
6135         }
6136       },
6137       'id': 225,
6138       'caption': '''Power management on the login screen''',
6139       'desc': '''Configure power management on the login screen in <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph>.
6141       This policy lets you configure how <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> behaves when there is no user activity for some amount of time while the login screen is being shown. The policy controls multiple settings. For their individual semantics and value ranges, see the corresponding policies that control power management within a session. The only deviations from these policies are:
6142       * The actions to take on idle or lid close cannot be to end the session.
6143       * The default action taken on idle when running on AC power is to shut down.
6145       If a setting is left unspecified, a default value is used.
6147       If this policy is unset, defaults are used for all settings.''',
6148     },
6149     {
6150       'name': 'DeviceAllowRedeemChromeOsRegistrationOffers',
6151       'type': 'main',
6152       'schema': { 'type': 'boolean' },
6153       'supported_on': ['chrome_os:26-'],
6154       'device_only': True,
6155       'features': {
6156         'dynamic_refresh': True,
6157       },
6158       'example_value': True,
6159       'id': 185,
6160       'caption': '''Allow users to redeem offers through Chrome OS Registration''',
6161       'desc': '''IT admins for enterprise devices can use this flag to control whether to allow users to redeem offers through Chrome OS Registration.
6163       If this policy is set to true or left not set, users will be able to redeem offers through Chrome OS Registration.
6165       If this policy is set to false, user will not be able to redeem offers.''',
6166     },
6167     {
6168       'name': 'TermsOfServiceURL',
6169       'type': 'string',
6170       'schema': { 'type': 'string' },
6171       'supported_on': ['chrome_os:26-'],
6172       'features': {
6173         'dynamic_refresh': True,
6174         'per_profile': False,
6175       },
6176       'example_value': 'http://www.example.com/terms_of_service.txt',
6177       'id': 186,
6178       'caption': '''Set the Terms of Service for a device-local account''',
6179       'desc': '''Sets the Terms of Service that the user must accept before starting a device-local account session.
6181       If this policy is set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will download the Terms of Service and present them to the user whenever a device-local account session is starting. The user will only be allowed into the session after accepting the Terms of Service.
6183       If this policy is not set, no Terms of Service are shown.
6185       The policy should be set to a URL from which <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can download the Terms of Service. The Terms of Service must be plain text, served as MIME type text/plain. No markup is allowed.''',
6186     },
6187     {
6188       'name': 'Accessibility',
6189       'type': 'group',
6190       'caption': '''Accessibility settings''',
6191       'desc': '''Configure <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> accessibility features.''',
6192       'policies': [
6193         {
6194           'name': 'ShowAccessibilityOptionsInSystemTrayMenu',
6195           'type': 'main',
6196           'schema': { 'type': 'boolean' },
6197           'supported_on': ['chrome_os:27-'],
6198           'features': {
6199             'can_be_recommended': True,
6200             'dynamic_refresh': True,
6201             'per_profile': True,
6202           },
6203           'example_value': True,
6204           'id': 188,
6205           'caption': '''Show accessibility options in system tray menu''',
6206           'desc': '''Show <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> accessibility options in the system menu.
6208           If this policy is set to true, Accessibility options always appear in system tray menu.
6210           If this policy is set to false, Accessibility options never appear in system tray menu.
6212           If you set this policy, users cannot change or override it.
6214           If this policy is left unset, Accessibility options will not appear in the system tray menu, but the user can cause the Accessibility options to appear via the Settings page.'''
6215         },
6216         {
6217           'name': 'LargeCursorEnabled',
6218           'type': 'main',
6219           'schema': { 'type': 'boolean' },
6220           'supported_on': ['chrome_os:29-'],
6221           'features': {
6222             'can_be_recommended': True,
6223             'dynamic_refresh': True,
6224             'per_profile': True,
6225           },
6226           'example_value': True,
6227           'id': 211,
6228           'caption': '''Enable large cursor''',
6229           'desc': '''Enable the large cursor accessibility feature.
6231           If this policy is set to true, the large cursor will always be enabled.
6233           If this policy is set to false, the large cursor will always be disabled.
6235           If you set this policy, users cannot change or override it.
6237           If this policy is left unset, the large cursor is disabled initially but can be enabled by the user anytime.'''
6238         },
6239         {
6240           'name': 'SpokenFeedbackEnabled',
6241           'type': 'main',
6242           'schema': { 'type': 'boolean' },
6243           'supported_on': ['chrome_os:29-'],
6244           'features': {
6245             'can_be_recommended': True,
6246             'dynamic_refresh': True,
6247             'per_profile': True,
6248           },
6249           'example_value': True,
6250           'id': 212,
6251           'caption': '''Enable spoken feedback''',
6252           'desc': '''Enable the spoken feedback accessibility feature.
6254           If this policy is set to true, spoken feedback will always be enabled.
6256           If this policy is set to false, spoken feedback will always be disabled.
6258           If you set this policy, users cannot change or override it.
6260           If this policy is left unset, spoken feedback is disabled initially but can be enabled by the user anytime.'''
6261         },
6262         {
6263           'name': 'HighContrastEnabled',
6264           'type': 'main',
6265           'schema': { 'type': 'boolean' },
6266           'supported_on': ['chrome_os:29-'],
6267           'features': {
6268             'can_be_recommended': True,
6269             'dynamic_refresh': True,
6270             'per_profile': True,
6271           },
6272           'example_value': True,
6273           'id': 213,
6274           'caption': '''Enable high contrast mode''',
6275           'desc': '''Enable the high contrast mode accessibility feature.
6277           If this policy is set to true, high contrast mode will always be enabled.
6279           If this policy is set to false, high contrast mode will always be disabled.
6281           If you set this policy, users cannot change or override it.
6283           If this policy is left unset, high contrast mode is disabled initially but can be enabled by the user anytime.'''
6284         },
6285         {
6286           'name': 'VirtualKeyboardEnabled',
6287           'type': 'main',
6288           'schema': { 'type': 'boolean' },
6289           'supported_on': ['chrome_os:34-'],
6290           'features': {
6291             'can_be_recommended': True,
6292             'dynamic_refresh': True,
6293             'per_profile': True,
6294           },
6295           'example_value': True,
6296           'id': 255,
6297           'caption': '''Enable on-screen keyboard''',
6298           'desc': '''Enable the on-screen keyboard accessibility feature.
6300           If this policy is set to true, the on-screen keyboard will always be enabled.
6302           If this policy is set to false, the on-screen keyboard will always be disabled.
6304           If you set this policy, users cannot change or override it.
6306           If this policy is left unset, the on-screen keyboard is disabled initially but can be enabled by the user anytime.'''
6307         },
6308         {
6309           'name': 'KeyboardDefaultToFunctionKeys',
6310           'type': 'main',
6311           'schema': { 'type': 'boolean' },
6312           'supported_on': ['chrome_os:35-'],
6313           'features': {
6314             'can_be_recommended': True,
6315             'dynamic_refresh': True,
6316             'per_profile': True,
6317           },
6318           'example_value': True,
6319           'id': 260,
6320           'caption': '''Media keys default to function keys''',
6321           'desc': '''Changes the default behaviour of the top row keys to function keys.
6323           If this policy is set to true, the keyboard's top row of keys will produce function key commands per default. The search key has to be pressed to revert their behavior back to media keys.
6325           If this policy is set to false or left unset, the keyboard will produce media key commands per default and function key commands when the search key is held.'''
6326         },
6327         {
6328           'name': 'ScreenMagnifierType',
6329           'type': 'int-enum',
6330           'schema': {
6331             'type': 'integer',
6332             'enum': [ 0, 1 ],
6333           },
6334           'items': [
6335             {
6336               'name': 'None',
6337               'value': 0,
6338               'caption': '''Screen magnifier disabled''',
6339             },
6340             {
6341               'name': 'Full-screen',
6342               'value': 1,
6343               'caption': '''Full-screen magnifier enabled''',
6344             },
6345           ],
6346           'supported_on': ['chrome_os:29-'],
6347           'features': {
6348             'can_be_recommended': True,
6349             'dynamic_refresh': True,
6350             'per_profile': True,
6351           },
6352           'example_value': 1,
6353           'id': 214,
6354           'caption': '''Set screen magnifier type''',
6355           'desc': '''Set the type of screen magnifier that is enabled.
6357           If this policy is set, it controls the type of screen magnifier that is enabled. Setting the policy to "None" disables the screen magnifier.
6359           If you set this policy, users cannot change or override it.
6361           If this policy is left unset, the screen magnifier is disabled initially but can be enabled by the user anytime.''',
6362         },
6363         {
6364           'name': 'DeviceLoginScreenDefaultLargeCursorEnabled',
6365           'type': 'main',
6366           'schema': { 'type': 'boolean' },
6367           'supported_on': ['chrome_os:29-'],
6368           'device_only': True,
6369           'features': {
6370             'dynamic_refresh': True,
6371           },
6372           'example_value': True,
6373           'id': 215,
6374           'caption': '''Set default state of the large cursor on the login screen''',
6375           'desc': '''Set the default state of the large cursor accessibility feature on the login screen.
6377           If this policy is set to true, the large cursor will be enabled when the login screen is shown.
6379           If this policy is set to false, the large cursor will be disabled when the login screen is shown.
6381           If you set this policy, users can temporarily override it by enabling or disabling the large cursor. However, the user's choice is not persistent and the default is restored whenever the login screen is shown anew or the user remains idle on the login screen for a minute.
6383           If this policy is left unset, the large cursor is disabled when the login screen is first shown. Users can enable or disable the large cursor anytime and its status on the login screen is persisted between users.''',
6384         },
6385         {
6386           'name': 'DeviceLoginScreenDefaultSpokenFeedbackEnabled',
6387           'type': 'main',
6388           'schema': { 'type': 'boolean' },
6389           'supported_on': ['chrome_os:29-'],
6390           'device_only': True,
6391           'features': {
6392             'dynamic_refresh': True,
6393           },
6394           'example_value': True,
6395           'id': 216,
6396           'caption': '''Set the default state of spoken feedback on the login screen''',
6397           'desc': '''Set the default state of the spoken feedback accessibility feature on the login screen.
6399           If this policy is set to true, spoken feedback will be enabled when the login screen is shown.
6401           If this policy is set to false, spoken feedback will be disabled when the login screen is shown.
6403           If you set this policy, users can temporarily override it by enabling or disabling spoken feedback. However, the user's choice is not persistent and the default is restored whenever the login screen is shown anew or the user remains idle on the login screen for a minute.
6405           If this policy is left unset, spoken feedback is disabled when the login screen is first shown. Users can enable or disable spoken feedback anytime and its status on the login screen is persisted between users.''',
6406         },
6407         {
6408           'name': 'DeviceLoginScreenDefaultHighContrastEnabled',
6409           'type': 'main',
6410           'schema': { 'type': 'boolean' },
6411           'supported_on': ['chrome_os:29-'],
6412           'device_only': True,
6413           'features': {
6414             'dynamic_refresh': True,
6415           },
6416           'example_value': True,
6417           'id': 217,
6418           'caption': '''Set the default state of high contrast mode on the login screen''',
6419           'desc': '''Set the default state of the high contrast mode accessibility feature on the login screen.
6421           If this policy is set to true, high contrast mode will be enabled when the login screen is shown.
6423           If this policy is set to false, high contrast mode will be disabled when the login screen is shown.
6425           If you set this policy, users can temporarily override it by enabling or disabling high contrast mode. However, the user's choice is not persistent and the default is restored whenever the login screen is shown anew or the user remains idle on the login screen for a minute.
6427           If this policy is left unset, high contrast mode is disabled when the login screen is first shown. Users can enable or disable high contrast mode anytime and its status on the login screen is persisted between users.''',
6428         },
6429         {
6430           'name': 'DeviceLoginScreenDefaultVirtualKeyboardEnabled',
6431           'type': 'main',
6432           'schema': { 'type': 'boolean' },
6433           'supported_on': ['chrome_os:34-'],
6434           'device_only': True,
6435           'features': {
6436             'dynamic_refresh': True,
6437           },
6438           'example_value': True,
6439           'id': 256,
6440           'caption': '''Set default state of the on-screen keyboard on the login screen''',
6441           'desc': '''Set the default state of the on-screen keyboard accessibility feature on the login screen.
6443           If this policy is set to true, the on-screen keyboard will be enabled when the login screen is shown.
6445           If this policy is set to false, the on-screen keyboard will be disabled when the login screen is shown.
6447           If you set this policy, users can temporarily override it by enabling or disabling the on-screen keyboard. However, the user's choice is not persistent and the default is restored whenever the login screen is shown anew or the user remains idle on the login screen for a minute.
6449           If this policy is left unset, the on-screen keyboard is disabled when the login screen is first shown. Users can enable or disable the on-screen keyboard anytime and its status on the login screen is persisted between users.''',
6450         },
6451         {
6452           'name': 'DeviceLoginScreenDefaultScreenMagnifierType',
6453           'type': 'int-enum',
6454           'schema': {
6455             'type': 'integer',
6456             'enum': [ 0, 1 ],
6457           },
6458           'items': [
6459             {
6460               'name': 'None',
6461               'value': 0,
6462               'caption': '''Screen magnifier disabled''',
6463             },
6464             {
6465               'name': 'Full-screen',
6466               'value': 1,
6467               'caption': '''Full-screen magnifier enabled''',
6468             },
6469           ],
6470           'supported_on': ['chrome_os:29-'],
6471           'device_only': True,
6472           'features': {
6473             'dynamic_refresh': True,
6474           },
6475           'example_value': 1,
6476           'id': 218,
6477           'caption': '''Set the default screen magnifier type enabled on the login screen''',
6478           'desc': '''Set the default type of screen magnifier that is enabled on the login screen.
6480           If this policy is set, it controls the type of screen magnifier that is enabled when the login screen is shown. Setting the policy to "None" disables the screen magnifier.
6482           If you set this policy, users can temporarily override it by enabling or disabling the screen magnifier. However, the user's choice is not persistent and the default is restored whenever the login screen is shown anew or the user remains idle on the login screen for a minute.
6484           If this policy is left unset, the screen magnifier is disabled when the login screen is first shown. Users can enable or disable the screen magnifier anytime and its status on the login screen is persisted between users.''',
6485         },
6486       ],
6487     },
6488     {
6489       'name': 'HideWebStoreIcon',
6490       'type': 'main',
6491       'schema': { 'type': 'boolean' },
6492       'supported_on': ['chrome.*:26-'],
6493       'features': {
6494         'dynamic_refresh': True,
6495         'per_profile': True,
6496       },
6497       'example_value': True,
6498       'id': 189,
6499       'caption': '''Hide the web store from the New Tab Page and app launcher''',
6500       'desc': '''Hide the Chrome Web Store app and footer link from the New Tab Page and <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> app launcher.
6502       When this policy is set to true, the icons are hidden.
6504       When this policy is set to false or is not configured, the icons are visible.''',
6505     },
6506     {
6507       'name': 'DeviceStartUpFlags',
6508       'type': 'list',
6509       'schema': {
6510         'type': 'array',
6511         'items': { 'type': 'string' },
6512       },
6513       'supported_on': ['chrome_os:27-'],
6514       'device_only': True,
6515       'features': {
6516         'dynamic_refresh': False,
6517       },
6518       'example_value': [ "enable-managed-mode", "my-cool-flag" ],
6519       'id': 191,
6520       'caption': '''System wide flags to be applied on <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> start-up''',
6521       'desc': '''Specifies the flags that should be applied to <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> when it starts. The specified flags are applied before <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> is started even for the sign-in screen.''',
6522     },
6523     {
6524       'name': 'UptimeLimit',
6525       'type': 'int',
6526       'schema': { 'type': 'integer' },
6527       'supported_on': ['chrome_os:29-'],
6528       'device_only': True,
6529       'features': {
6530         'dynamic_refresh': True,
6531       },
6532       'example_value': 86400,
6533       'id': 192,
6534       'caption': '''Limit device uptime by automatically rebooting''',
6535       'desc': '''Limit the device uptime by scheduling automatic reboots.
6537       When this policy is set, it specifies the length of device uptime after which an automatic reboot is scheduled.
6539       When this policy is not set, the device uptime is not limited.
6541       If you set this policy, users cannot change or override it.
6543       An automatic reboot is scheduled at the selected time but may be delayed on the device by up to 24 hours if a user is currently using the device.
6545       Note: Currently, automatic reboots are only enabled while the login screen is being shown or a kiosk app session is in progress. This will change in the future and the policy will always apply, regardless of whether a session of any particular type is in progress or not.
6547       The policy value should be specified in seconds. Values are clamped to be at least 3600 (one hour).''',
6548     },
6549     {
6550       'name': 'RebootAfterUpdate',
6551       'type': 'main',
6552       'schema': { 'type': 'boolean' },
6553       'supported_on': ['chrome_os:29-'],
6554       'device_only': True,
6555       'features': {
6556         'dynamic_refresh': True,
6557       },
6558       'example_value': True,
6559       'id': 193,
6560       'caption': '''Automatically reboot after update''',
6561       'desc': '''Schedule an automatic reboot after a <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> update has been applied.
6563       When this policy is set to true, an automatic reboot is scheduled when a <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> update has been applied and a reboot is required to complete the update process. The reboot is scheduled immediately but may be delayed on the device by up to 24 hours if a user is currently using the device.
6565       When this policy is set to false, no automatic reboot is scheduled after applying a <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> update. The update process is completed when the user next reboots the device.
6567       If you set this policy, users cannot change or override it.
6569       Note: Currently, automatic reboots are only enabled while the login screen is being shown or a kiosk app session is in progress. This will change in the future and the policy will always apply, regardless of whether a session of any particular type is in progress or not.''',
6570     },
6571     {
6572       'name': 'VariationsRestrictParameter',
6573       'type': 'string',
6574       'schema': { 'type': 'string' },
6575       'supported_on': ['chrome.*:27-', 'android:34-', 'ios:35-'],
6576       'features': {
6577         'dynamic_refresh': False,
6578         'per_profile': False,
6579       },
6580       'example_value': 'restricted',
6581       'id': 196,
6582       'future': True,
6583       'caption': '''Set the restriction on the fetching of the Variations seed''',
6584       'desc': '''Add a parameter to the fetching of the Variations seed in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>.
6586       If specified, will add a query parameter called 'restrict' to the URL used to fetch the Variations seed. The value of the parameter will be the value specified in this policy.
6588       If not specified, will not modify the Variations seed URL.''',
6589     },
6590     {
6591       'name': 'DeviceVariationsRestrictParameter',
6592       'type': 'string',
6593       'schema': { 'type': 'string' },
6594       'supported_on': ['chrome_os:28-'],
6595       'features': {
6596         'dynamic_refresh': False,
6597       },
6598       'device_only': True,
6599       'example_value': 'restricted',
6600       'id': 199,
6601       'future': True,
6602       'caption': '''Set the restriction on the fetching of the Variations seed''',
6603       'desc': '''Add a parameter to the fetching of the Variations seed in <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph>.
6605       If specified, will add a query parameter called 'restrict' to the URL used to fetch the Variations seed. The value of the parameter will be the value specified in this policy.
6607       If not specified, will not modify the Variations seed URL.''',
6608     },
6609     {
6610       'name': 'Attestation',
6611       'type': 'group',
6612       'caption': 'Remote Attestation',
6613       'desc': 'Configure the remote attestation with TPM mechanism.',
6614       'policies': [
6615         {
6616           'name': 'AttestationEnabledForDevice',
6617           'type': 'main',
6618           'schema': { 'type': 'boolean' },
6619           'supported_on': ['chrome_os:28-'],
6620           'features': {
6621             'dynamic_refresh': True,
6622           },
6623           'device_only': True,
6624           'example_value': True,
6625           'id': 207,
6626           'caption': '''Enable remote attestation for the device''',
6627           'desc': '''If true, remote attestation is allowed for the device and a certificate will automatically be generated and uploaded to the Device Management Server.
6629           If it is set to false, or if it is not set, no certificate will be generated and calls to the enterprise.platformKeysPrivate extension API will fail.''',
6630         },
6631         {
6632           'name': 'AttestationEnabledForUser',
6633           'type': 'main',
6634           'schema': { 'type': 'boolean' },
6635           'supported_on': ['chrome_os:28-'],
6636           'features': {
6637             'dynamic_refresh': True,
6638             'per_profile': True,
6639           },
6640           'example_value': True,
6641           'id': 200,
6642           'caption': '''Enable remote attestation for the user''',
6643           'desc': '''If true, the user can use the hardware on Chrome devices to remote attest its identity to the privacy CA via the Enterprise Platform Keys API chrome.enterprise.platformKeysPrivate.challengeUserKey().
6645           If it is set to false, or if it is not set, calls to the API will fail with an error code.''',
6646         },
6647         {
6648           'name': 'AttestationExtensionWhitelist',
6649           'type': 'list',
6650           'schema': {
6651             'type': 'array',
6652             'items': { 'type': 'string' },
6653           },
6654           'supported_on': ['chrome_os:28-'],
6655           'features': {
6656             'dynamic_refresh': True,
6657             'per_profile': True,
6658           },
6659           'example_value': ['ghdilpkmfbfdnomkmaiogjhjnggaggoi'],
6660           'id': 201,
6661           'caption': '''Extensions allowed to to use the remote attestation API''',
6662           'desc': '''This policy specifies the allowed extensions to use Enterprise Platform Keys API chrome.enterprise.platformKeysPrivate.challengeUserKey() for remote attestation. Extensions must be added to this list to use the API.
6664           If an extension is not in the list, or the list is not set, the call to the API will fail with an error code.''',
6665         },
6666         {
6667           'name': 'AttestationForContentProtectionEnabled',
6668           'type': 'main',
6669           'schema': { 'type': 'boolean' },
6670           'supported_on': ['chrome_os:31-'],
6671           'features': {
6672             'dynamic_refresh': True,
6673           },
6674           'device_only': True,
6675           'example_value': True,
6676           'id': 239,
6677           'caption': '''Enable the use of remote attestation for content protection for the device''',
6678           'desc': '''Chrome OS devices can use remote attestation (Verified Access) to get a certificate issued by the Chrome OS CA that asserts the device is eligible to play protected content.  This process involves sending hardware endorsement information to the Chrome OS CA which uniquely identifies the device.
6680           If this setting is false, the device will not use remote attestation for content protection and the device may be unable to play protected content.
6682           If this setting is true, or if it is not set, remote attestation may be used for content protection.''',
6683         },
6684       ],
6685     },
6686     {
6687       'name': 'SuppressChromeFrameTurndownPrompt',
6688       'caption': '''Suppress the <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph> turndown prompt''',
6689       'desc': '''Suppresses the turndown prompt that appears when a site is rendered by <ph name="PRODUCT_FRAME_NAME">$3<ex>Google Chrome Frame</ex></ph>.''',
6690       'type': 'main',
6691       'schema': { 'type': 'boolean' },
6692       'supported_on': ['chrome_frame:29-32'],
6693       'features': {
6694         'dynamic_refresh': False,
6695       },
6696       'example_value': True,
6697       'id': 221,
6698     },
6699     {
6700       'name': 'LocallyManagedUsers',
6701       'type': 'group',
6702       'caption': '''Locally managed users settings''',
6703       'desc': '''Configure settings for managed users.''',
6704       'policies': [
6705         {
6706           'name': 'ContentPackDefaultFilteringBehavior',
6707           'future': True,
6708           'deprecated': True,
6709           'type': 'int-enum',
6710           'schema': {
6711             'type': 'integer',
6712             'enum': [ 0, 1, 2 ],
6713           },
6714           'items': [
6715             {
6716               'name': 'Allow',
6717               'value': 0,
6718               'caption': '''Allow access to sites outside of content packs''',
6719             },
6720             {
6721               'name': 'Warn',
6722               'value': 1,
6723               'caption': '''Warn when visiting sites outside of content packs''',
6724             },
6725             {
6726               'name': 'Block',
6727               'value': 2,
6728               'caption': '''Block access to sites outside of content packs''',
6729             },
6730           ],
6731           'supported_on': ['chrome.*:28-', 'chrome_os:28-'],
6732           'features': {
6733             'dynamic_refresh': True,
6734             'per_profile': True
6735           },
6736           'example_value': 2,
6737           'id': 204,
6738           'caption': '''Default behavior for sites not in any content pack''',
6739           'desc': '''The default behavior for sites not in any content pack.
6741           This policy is for internal use by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> itself.''',
6742         },
6743         {
6744           'name': 'ContentPackManualBehaviorHosts',
6745           'future': True,
6746           'deprecated': True,
6747           'type': 'dict',
6748           'schema': {
6749             'type': 'object',
6750             'additionalProperties': {
6751               'type': 'boolean'
6752             }
6753           },
6754           'supported_on': ['chrome.*:28-', 'chrome_os:28-'],
6755           'features': {
6756             'dynamic_refresh': True,
6757             'per_profile': True
6758           },
6759           'example_value': {
6760             'www.example.com': True,
6761             'moose.org': False
6762           },
6763           'id': 205,
6764           'caption': '''Managed user manual exception hosts''',
6765           'desc': '''A dictionary mapping hostnames to a boolean flag specifying whether access to the host should be allowed (true) or blocked (false).
6767           This policy is for internal use by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> itself.''',
6768         },
6769         {
6770           'name': 'ContentPackManualBehaviorURLs',
6771           'future': True,
6772           'deprecated': True,
6773           'type': 'dict',
6774           'schema': {
6775             'type': 'object',
6776             'additionalProperties': {
6777               'type': 'boolean'
6778             }
6779           },
6780           'supported_on': ['chrome.*:28-', 'chrome_os:28-'],
6781           'features': {
6782             'dynamic_refresh': True,
6783             'per_profile': True
6784           },
6785           'example_value': {
6786             'https://www.example.com': True,
6787             'http://moose.org': False
6788           },
6789           'id': 206,
6790           'caption': '''Managed user manual exception URLs''',
6791           'desc': '''A dictionary mapping URLs to a boolean flag specifying whether access to the host should be allowed (true) or blocked (false).
6793           This policy is for internal use by <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> itself.''',
6794         },
6795         {
6796           'name': 'SupervisedUsersEnabled',
6797           'type': 'main',
6798           'schema': { 'type': 'boolean' },
6799           'supported_on': ['chrome_os:29-'],
6800           'device_only': True,
6801           'features': {
6802             'dynamic_refresh': False,
6803           },
6804           'example_value': True,
6805           'id': 219,
6806           'caption': '''Enable supervised users''',
6807           'desc': '''If set to true, supervised users can be created and used.
6809           If set to false or not configured, supervised-user creation and login will be disabled. All existing supervised users will be hidden.
6811           NOTE: The default behavior for consumer and enterprise devices differs: on consumer devices supervised users are enabled by default, but on enterprise devices they are disabled by default.'''
6812         },
6813         {
6814           'name': 'SupervisedUserCreationEnabled',
6815           'type': 'main',
6816           'schema': { 'type': 'boolean' },
6817           'supported_on': ['chrome.*:29-'],
6818           'features': {
6819             'dynamic_refresh': True,
6820             'per_profile': True,
6821           },
6822           'example_value': True,
6823           'id': 223,
6824           'caption': '''Enable creation of supervised users''',
6825           'desc': '''If set to false, supervised-user creation by this user will be disabled. Any existing supervised users will still be available.
6827           If set to true or not configured, supervised users can be created and managed by this user.'''
6828         },
6829       ],
6830     },
6831     {
6832       'name': 'ManagedBookmarks',
6833       'type': 'dict',
6834       'schema': {
6835         'type': 'array',
6836         'items': {
6837           'type': 'object',
6838           'id': 'BookmarkType',
6839           'properties': {
6840             'name': { 'type': 'string' },
6841             'url': { 'type': 'string' },
6842             'children': {
6843               'type': 'array',
6844               'items': { '$ref': 'BookmarkType' },
6845             },
6846           },
6847         },
6848       },
6849       'supported_on': [
6850         'android:30-',
6851         'ios:35-',
6852         'chrome.*:37-',
6853         'chrome_os:37-',
6854       ],
6855       'features': {
6856         'dynamic_refresh': True,
6857         'per_profile': True,
6858       },
6859       'example_value': [
6860         {
6861           "name": "Google",
6862           "url": "google.com"
6863         }, {
6864           "name": "Youtube",
6865           "url": "youtube.com"
6866         }, {
6867           "name": "Chrome links",
6868           "children": [
6869             {
6870               "name": "Chromium",
6871               "url": "chromium.org"
6872             },
6873             {
6874               "name": "Chromium Developers",
6875               "url": "dev.chromium.org"
6876             }
6877           ]
6878         }
6879       ],
6880       'id': 227,
6881       'caption': '''Managed Bookmarks''',
6882       'desc': '''Configures a list of managed bookmarks.
6884       The policy is a list of bookmarks, and each bookmark is a dictionary containing the bookmark "name" and the target "url". A bookmark can also be configured as a folder. In that case, define the folder "name" but don't define an "url"; instead, define the folder contents as another list of bookmarks under the "children" key. Chrome will amend incomplete URLs as if they were submitted via the Omnibox. For example, "google.com" becomes "http://google.com/".
6886       These bookmarks are placed in a Managed bookmarks folder that can't be modified by the user, but the user can choose to hide it from the bookmark bar. Managed bookmarks are not synced to the user account and can't be modified by extensions.''',
6887     },
6888     {
6889       'name': 'DataCompressionProxyEnabled',
6890       'type': 'main',
6891       'schema': { 'type': 'boolean' },
6892       'supported_on': ['android:31-'],
6893       'features': {
6894         'dynamic_refresh': True,
6895         'per_profile': True,
6896       },
6897       'example_value': True,
6898       'id': 241,
6899       'caption': '''Enable the data compression proxy feature''',
6900       'desc': '''Enable or disable the data compression proxy and prevents users from changing this setting.
6902       If you enable or disable this setting, users cannot change or override this setting.
6904       If this policy is left not set, the data compression proxy feature will be available for the user to choose whether to use it or not.''',
6905     },
6906     {
6907       'name': 'UserAvatarImage',
6908       'type': 'external',
6909       'schema': {
6910         'type': 'object',
6911         'properties': {
6912           'url': { "type": "string" },
6913           'hash': { "type": "string" }
6914         },
6915       },
6916       'supported_on': ['chrome_os:34-'],
6917       'features': {
6918         'dynamic_refresh': True,
6919         'per_profile': True,
6920       },
6921       'example_value': { "url": "http://example.com/avatar.jpg", "hash": "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef" },
6922       'max_size': 524288,
6923       'id': 249,
6924       'caption': '''User avatar image''',
6925       'desc': '''Configure user avatar image.
6927       This policy allows you to configure the avatar image representing the user on the login screen. The policy is set by specifying the URL from which <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can download the avatar image and a cryptographic hash used to verify the integrity of the download. The image must be in JPEG format, its size must not exceed 512kB. The URL must be accessible without any authentication.
6929       The avatar image is downloaded and cached. It will be re-downloaded whenever the URL or the hash changes.
6931       The policy should be specified as a string that expresses the URL and hash in JSON format, conforming to the following schema:
6932       {
6933         "type": "object",
6934         "properties": {
6935           "url": {
6936             "description": "The URL from which the avatar image can be downloaded.",
6937             "type": "string"
6938           },
6939           "hash": {
6940             "description": "The SHA-256 hash of the avatar image.",
6941             "type": "string"
6942           }
6943         }
6944       }
6946       If this policy is set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will download and use the avatar image.
6948       If you set this policy, users cannot change or override it.
6950       If the policy is left not set, the user can choose the avatar image representing him/her on the login screen.''',
6951     },
6952     {
6953       'name': 'WallpaperImage',
6954       'type': 'external',
6955       'schema': {
6956         'type': 'object',
6957         'properties': {
6958           'url': { "type": "string" },
6959           'hash': { "type": "string" }
6960         },
6961       },
6962       'supported_on': ['chrome_os:35-'],
6963       'features': {
6964         'dynamic_refresh': True,
6965         'per_profile': True,
6966       },
6967       'example_value': { "url": "http://example.com/wallpaper.jpg", "hash": "baddecafbaddecafbaddecafbaddecafbaddecafbaddecafbaddecafbaddecaf" },
6968       'max_size': 16777216,
6969       'id': 262,
6970       'caption': '''Wallpaper image''',
6971       'desc': '''Configure wallpaper image.
6973       This policy allows you to configure the wallpaper image that is shown on the desktop and on the login screen background for the user. The policy is set by specifying the URL from which <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> can download the wallpaper image and a cryptographic hash used to verify the integrity of the download. The image must be in JPEG format, its file size must not exceed 16MB. The URL must be accessible without any authentication.
6975       The wallpaper image is downloaded and cached. It will be re-downloaded whenever the URL or the hash changes.
6977       The policy should be specified as a string that expresses the URL and hash in JSON format, conforming to the following schema:
6978       {
6979         "type": "object",
6980         "properties": {
6981           "url": {
6982             "description": "The URL from which the wallpaper image can be downloaded.",
6983             "type": "string"
6984           },
6985           "hash": {
6986             "description": "The SHA-256 hash of the wallpaper image.",
6987             "type": "string"
6988           }
6989         }
6990       }
6992       If this policy is set, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will download and use the wallpaper image.
6994       If you set this policy, users cannot change or override it.
6996       If the policy is left not set, the user can choose an image to be shown on the desktop and on the login screen background.''',
6997     },
6998     {
6999       'name': 'EnableDeprecatedWebPlatformFeatures',
7000       'type': 'string-enum-list',
7001       'schema': {
7002         'type': 'array',
7003         'items': {
7004           'type': 'string',
7005           'enum': [
7006             'ShowModalDialog_EffectiveUntil20150430'
7007           ],
7008         },
7009       },
7010       'items': [
7011         {
7012           'name': 'ShowModalDialog',
7013           'value': 'ShowModalDialog_EffectiveUntil20150430',
7014           'caption': '''Enable ShowModalDialog API through 2015.04.30''',
7015         }
7016       ],
7017       'supported_on': ['chrome.*:37-', 'chrome_os:37-', 'android:37-'],
7018       'features': {
7019         'dynamic_refresh': True,
7020         'per_profile': True,
7021       },
7022       'example_value': ['ShowModalDialog_EffectiveUntil20150430'],
7023       'id': 270,
7024       'caption': '''Enable deprecated web platform features for a limited time''',
7025       'desc': '''Specify a list of deprecated web platform features to re-enable temporarily.
7027       This policy gives administrators the ability to re-enable deprecated web platform features for a limited time. Features are identified by a string tag and the features corresponding to the tags included in the list specified by this policy will get re-enabled.
7029       If this policy is left not set, or the list is empty or does not match one of the supported string tags, all deprecated web platform features will remain disabled.
7031       While the policy itself is supported on the above platforms, the feature it is enabling may be available on fewer platforms. Not all deprecated Web Platform features can be re-enabled. Only the ones explicitly listed below can be for a limited period of time, which is different per feature. The general format of the string tag will be [DeprecatedFeatureName]_EffectiveUntil[yyyymmdd]. As reference, you can find the intent behind the Web Platform feature changes at http://bit.ly/blinkintents.
7032       ''',
7033     },
7034     {
7035       'name': 'DeviceTransferSAMLCookies',
7036       'type': 'main',
7037       'schema': { 'type': 'boolean' },
7038       'supported_on': ['chrome_os:38-'],
7039       'device_only': True,
7040       'features': {
7041         'dynamic_refresh': True,
7042       },
7043       'example_value': True,
7044       'id': 271,
7045       'caption': '''Transfer SAML IdP cookies during login''',
7046       'desc': '''Specifies whether authentication cookies set by a SAML IdP during login should be transferred to the user's profile.
7048       When a user authenticates via a SAML IdP during login, cookies set by the IdP are written to a temporary profile at first. These cookies can be transferred to the user's profile to carry forward the authentication state.
7050       When this policy is set to true, cookies set by the IdP are transferred to the user's profile every time he/she authenticates against the SAML IdP during login.
7052       When this policy is set to false or unset, cookies set by the IdP are transferred to the user's profile during his/her first login on a device only.
7054       This policy affects users whose domain matches the device's enrollment domain only. For all other users, cookies set by the IdP are transferred to the user's profile during his/her first login on the device only.''',
7055     },
7056     {
7057       'name': 'EasyUnlockAllowed',
7058       'type': 'main',
7059       'schema': { 'type': 'boolean' },
7060       'supported_on': ['chrome_os:38-'],
7061       'features': {
7062         'dynamic_refresh': True,
7063         'per_profile': True,
7064       },
7065       'example_value': True,
7066       'default_for_enterprise_users': False,
7067       'id': 272,
7068       'caption': '''Allows Smart Lock to be used''',
7069       'desc': '''Allows Smart Lock to be used on <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> devices.
7071       If you enable this setting, users will be allowed to use Smart Lock if the requirements for the feature are satisfied.
7073       If you disable this setting, users will not be allowed to use Smart Lock.
7075       If this policy is left not set, the default is not allowed for enterprise-managed users and allowed for non-managed users.''',
7076     },
7077     {
7078       'name': 'SessionLocales',
7079       'type': 'list',
7080       'schema': {
7081         'type': 'array',
7082         'items': { 'type': 'string' },
7083       },
7084       'supported_on': ['chrome_os:38-'],
7085       'features': {
7086         'can_be_recommended': True,
7087         'dynamic_refresh': True,
7088         'per_profile': True,
7089       },
7090       'example_value': ['de', 'fr'],
7091       'id': 274,
7092       'caption': '''Set the recommended locales for a public session''',
7093       'desc': '''Sets one or more recommended locales for a public sessions, allowing users to easily choose one of these locales.
7095       The user can choose a locale and a keyboard layout before starting a public session. By default, all locales supported by <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> are listed in alphabetic order. You can use this policy to move a set of recommended locales to the top of the list.
7097       If this policy is not set, the current UI locale will be pre-selected.
7099       If this policy is set, the recommended locales will be moved to the top of the list and will be visually separated from all other locales. The recommended locales will be listed in the order in which they appear in the policy. The first recommended locale will be pre-selected.
7101       If there is more than one recommended locale, it is assumed that users will want to select among these locales. Locale and keyboard layout selection will be prominently offered when starting a public session. Otherwise, it is assumed that most users will want to use the pre-selected locale. Locale and keyboard layout selection will be less prominently offered when starting a public session.
7103       When this policy is set and automatic login is enabled (see the |DeviceLocalAccountAutoLoginId| and |DeviceLocalAccountAutoLoginDelay| policies), the automatically started public session will use the first recommended locale and the most popular keyboard layout matching this locale.
7105       The pre-selected keyboard layout will always be the most popular layout matching the pre-selected locale.
7107       This policy can only be set as recommended. You can use this policy to move a set of recommended locales to the top but users are always allowed to choose any locale supported by <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> for their session.
7108       ''',
7109     },
7110     {
7111       'name': 'BrowserGuestModeEnabled',
7112       'type': 'main',
7113       'schema': { 'type': 'boolean' },
7114       'supported_on': ['chrome.*:38-'],
7115       'features': {
7116         'dynamic_refresh': True,
7117         'per_profile': False,
7118       },
7119       'example_value': True,
7120       'id': 275,
7121       'caption': '''Enable guest mode in browser''',
7122       'desc': '''If this policy is set to true or not configured, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will enable guest logins. Guest logins are <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> profiles where all windows are in incognito mode.
7124       If this policy is set to false, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will not allow guest profiles to be started.''',
7125     },
7126     {
7127       'name': 'BrowserAddPersonEnabled',
7128       'type': 'main',
7129       'schema': { 'type': 'boolean' },
7130       'supported_on': ['chrome.*:39-'],
7131       'features': {
7132         'dynamic_refresh': True,
7133         'per_profile': False,
7134       },
7135       'example_value': True,
7136       'id': 276,
7137       'caption': '''Enable add person in profile manager''',
7138       'desc': '''If this policy is set to true or not configured, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will allow Add Person from the user manager.
7140       If this policy is set to false, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will not allow creation of new profiles from the profile manager.''',
7141     },
7142     {
7143       'name': 'SSLVersionMin',
7144       'type': 'string-enum',
7145       'schema': {
7146         'type': 'string',
7147         'enum': [
7148           'ssl3',
7149           'tls1',
7150           'tls1.1',
7151           'tls1.2',
7152         ],
7153       },
7154       'items': [
7155         {
7156           'name': 'SSLv3',
7157           'value': 'ssl3',
7158           'caption': 'SSL 3.0',
7159         },
7160         {
7161           'name': 'TLSv1',
7162           'value': 'tls1',
7163           'caption': 'TLS 1.0',
7164         },
7165         {
7166           'name': 'TLSv1.1',
7167           'value': 'tls1.1',
7168           'caption': 'TLS 1.1',
7169         },
7170         {
7171           'name': 'TLSv1.2',
7172           'value': 'tls1.2',
7173           'caption': 'TLS 1.2',
7174         },
7175       ],
7176       'supported_on': [
7177         'chrome.*:39-43',
7178         'chrome_os:39-43',
7179         'android:39-43',
7180         'ios:39-43',
7181       ],
7182       'features': {
7183         'dynamic_refresh': True,
7184         'per_profile': False,
7185       },
7186       'example_value': 'ssl3',
7187       'id': 279,
7188       'caption': '''Minimum SSL version enabled''',
7189       'desc': '''Warning: SSLv3 support will be entirely removed from <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> after version 43 (around July 2015) and this policy will be removed at the same time.
7191       If this policy is not configured then <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> uses a default minimum version which is SSLv3 in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> 39 and TLS 1.0 in later versions.
7193       Otherwise it may be set to one of the following values: "sslv3", "tls1", "tls1.1" or "tls1.2". When set, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will not use SSL/TLS versions less than the specified version. An unrecognized value will be ignored.
7195       Note that, despite the number, "sslv3" is an earlier version than "tls1".''',
7196     },
7197     {
7198       'name': 'SSLVersionFallbackMin',
7199       'type': 'string-enum',
7200       'schema': {
7201         'type': 'string',
7202         'enum': [
7203           'ssl3',
7204           'tls1',
7205           'tls1.1',
7206           'tls1.2',
7207         ],
7208       },
7209       'items': [
7210         {
7211           'name': 'SSLv3',
7212           'value': 'ssl3',
7213           'caption': 'SSL 3.0',
7214         },
7215         {
7216           'name': 'TLSv1',
7217           'value': 'tls1',
7218           'caption': 'TLS 1.0',
7219         },
7220         {
7221           'name': 'TLSv1.1',
7222           'value': 'tls1.1',
7223           'caption': 'TLS 1.1',
7224         },
7225         {
7226           'name': 'TLSv1.2',
7227           'value': 'tls1.2',
7228           'caption': 'TLS 1.2',
7229         },
7230       ],
7231       'supported_on': [
7232         'chrome.*:39-43',
7233         'chrome_os:39-43',
7234         'android:39-43',
7235         'ios:39-43',
7236       ],
7237       'features': {
7238         'dynamic_refresh': True,
7239         'per_profile': False,
7240       },
7241       'example_value': 'tls1',
7242       'id': 280,
7243       'caption': '''Minimum SSL version to fallback to''',
7244       'desc': '''Warning: SSLv3 support will be entirely removed from <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> after version 43 (around July 2015) and this policy will be removed at the same time.
7246       When an SSL/TLS handshake fails, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will retry the connection with a lesser version of SSL/TLS in order to work around bugs in HTTPS servers. This setting configures the version at which this fallback process will stop. If a server performs version negotiation correctly (i.e. without breaking the connection) then this setting doesn't apply. Regardless, the resulting connection must still comply with SSLVersionMin.
7248       If this policy is not configured then <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> uses a default minimum version which is SSLv3 in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> 38 and TLS 1.0 in later versions.
7250       Otherwise it may be set to one of the following values: "sslv3", "tls1", "tls1.1" or "tls1.2". A setting of "tls1" protects against attacks on SSLv3 but is already the default. A more likely situation is that compatibility with a buggy server must be maintained and thus this needs to be set to "sslv3". That potentially opens up all connections to SSLv3 attacks since a network attacker can induce fallbacks. Thus this is a stopgap measure and the server should be rapidly fixed.
7252       A setting of "tls1.2" disables all fallback but this may have a significant compatibility impact.
7254       Note that, despite the number, "sslv3" is an earlier version than "tls1".''',
7255     },
7256     {
7257       'name': 'ContextualSearchEnabled',
7258       'type': 'main',
7259       'schema': { 'type': 'boolean' },
7260       'supported_on': [
7261         'android:40-',
7262       ],
7263       'features': {
7264         'dynamic_refresh': True,
7265         'per_profile': True,
7266       },
7267       'example_value': True,
7268       'id': 281,
7269       'caption': '''Enable Touch to Search''',
7270       'desc': '''Enables the availability of Touch to Search in <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph>'s content view.
7272       If you enable this setting, Touch to Search will be available to the user and they can choose to turn the feature on or off.
7274       If you disable this setting, Touch to Search will be disabled completely.
7276       If this policy is left not set, it is equivalent to being enabled, see description above.''',
7277     },
7278     {
7279       'name': 'DeviceRebootOnShutdown',
7280       'type': 'main',
7281       'schema': { 'type': 'boolean' },
7282       'supported_on': ['chrome_os:41-'],
7283       'device_only': True,
7284       'features': {
7285         'dynamic_refresh': True,
7286       },
7287       'example_value': True,
7288       'id': 284,
7289       'caption': '''Automatic reboot on device shutdown''',
7290       'desc': '''If this policy is set to false or not configured, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will allow the user to shut down the device.
7291       If this policy is set to true, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will trigger a reboot when the user shuts down the device. <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> replaces all occurrences of shutdown buttons in the UI by reboot buttons. If the user shuts down the device using the power button, it will not automatically reboot, even if the policy is enabled.''',
7292     },
7293     {
7294       'name': 'ExtensionCacheSize',
7295       'type': 'int',
7296       'schema': { 'type': 'integer' },
7297       'supported_on': ['chrome_os:43-'],
7298       'device_only': True,
7299       'features': {
7300         'dynamic_refresh': False,
7301       },
7302       'example_value': 104857600,
7303       'id': 296,
7304       'caption': '''Set Apps and Extensions cache size (in bytes)''',
7305       'desc': '''<ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> caches Apps and Extensions for installation by multiple users of a single device to avoid re-downloading them for each user.
7306       If this policy is not configured or the value is lower than 1 MB, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will use the default cache size.''',
7307     },
7308     {
7309       'name': 'DeviceLoginScreenDomainAutoComplete',
7310       'type': 'string',
7311       'schema': { 'type': 'string' },
7312       'supported_on': [ 'chrome_os:44-'],
7313       'device_only': True,
7314       'features': {
7315         'dynamic_refresh': True,
7316       },
7317       'example_value': 'students.school.edu',
7318       'id': 297,
7319       'caption': '''Enable domain name autocomplete during user sign in''',
7320       'desc': '''If this policy is set to a blank string or not configured, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will not show an autocomplete option during user sign-in flow.
7321       If this policy is set to a string representing a domain name, <ph name="PRODUCT_OS_NAME">$2<ex>Google Chrome OS</ex></ph> will show an autocomplete option during user sign-in allowing the user to type in only his user name without the domain name extension.  The user will be able to overwrite this domain name extension.''',
7322     },
7323     {
7324       'name': 'ForceMaximizeOnFirstRun',
7325       'type': 'main',
7326       'schema': { 'type': 'boolean' },
7327       'supported_on': ['chrome_os:43-'],
7328       'features': {
7329         'dynamic_refresh': False,
7330         'per_profile': True,
7331       },
7332       'example_value': True,
7333       'id': 298,
7334       'caption': '''Maximize the first browser window on first run''',
7335       'desc': '''If this policy is set to true, <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> will unconditionally maximize the the first window shown on first run.
7336       If this policy is set to false or not configured, a heuristic will decide whether to maximize the first window shown, based on the screen size.''',
7337     },
7338     {
7339       'name': 'SSLErrorOverrideAllowed',
7340       'type': 'main',
7341       'schema': { 'type': 'boolean' },
7342       'supported_on': ['chrome.*:44-', 'chrome_os:44-', 'android:44-'],
7343       'features': {
7344         'dynamic_refresh': True,
7345         'per_profile': True,
7346       },
7347       'example_value': True,
7348       'id': 300,
7349       'caption': '''Allow proceeding from the SSL warning page''',
7350       'desc': '''Chrome shows a warning page when users navigate to sites that have SSL errors. By default or when this policy is set to true, users are allowed to click through these warning pages.
7351       Setting this policy to false disallows users to click through any warning page.''',
7352     },
7353   ],
7354   'messages': {
7355     # Messages that are not associated to any policies.
7356     'win_supported_winxpsp2': {
7357       'desc': '''A label specifying the oldest possible compatible version of Windows. This text will appear right next to a label containing the text 'Supported on:'.''',
7358       'text': '''Microsoft Windows XP SP2 or later'''
7359     },
7360     'mac_chrome_preferences': {
7361       'desc': '''A text indicating in Mac OS X Workgroup Manager, that currently the preferences of Chromium are being edited''',
7362       'text': '''<ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> preferences'''
7363     },
7364     'doc_data_type': {
7365       'desc': '''Caption text of the field 'data type' in the summary chart of a policy in the generated documentation''',
7366       'text': '''Data type:'''
7367     },
7368     'doc_win_reg_loc': {
7369       'desc': '''Caption text of the field 'windows registry location' in the summary chart of a policy in the generated documentation''',
7370       'text': '''Windows registry location:'''
7371     },
7372     'doc_mac_linux_pref_name': {
7373       'desc': '''Caption text of the field 'mac/linux preference name' in the summary chart of a policy in the generated documentation''',
7374       'text': '''Mac/Linux preference name:'''
7375     },
7376     'doc_android_restriction_name': {
7377       'desc': '''Caption text of the field 'android restriction name' in the summary chart of a policy in the generated documentation''',
7378       'text': '''Android restriction name:'''
7379     },
7380     'doc_supported_on': {
7381       'desc': '''Caption text of the list of 'products, platforms and versions where this policy is supported' in the summary chart of a policy in the generated documentation''',
7382       'text': '''Supported on:'''
7383     },
7384     'doc_since_version': {
7385       'desc': '''Text in the summary chart of a policy that specifies the version number in which the policy was introduced.''',
7386       'text': '''since version <ph name="SINCE_VERSION">$6<ex>8</ex></ph>'''
7387     },
7388     'doc_until_version': {
7389       'desc': '''Text in the summary chart of a policy that specifies the version number after which the policy was dropped.''',
7390       'text': '''until version <ph name="UNTIL_VERSION">$6<ex>10</ex></ph>'''
7391     },
7392     'doc_supported_features': {
7393       'desc': '''Caption text of the list of 'policy features that this policy supports' in the summary chart of a policy in the generated documentation''',
7394       'text': '''Supported features:'''
7395     },
7396     'doc_description': {
7397       'desc': '''Caption text of the 'description text' in the summary chart of a policy in the generated documentation''',
7398       'text': '''Description:'''
7399     },
7400     'doc_example_value': {
7401       'desc': '''Caption text of the field 'example value' in the summary chart of a policy in the generated documentation''',
7402       'text': '''Example value:'''
7403     },
7404     'doc_intro': {
7405       'desc': '''Introduction text for the generated policy documentation''',
7406       'text': '''Both Chromium and Google Chrome support the same set of
7407       policies. Please note that this document may include policies that are
7408       targeted for unreleased software versions (i.e. their 'supported on' entry
7409       refers to an unreleased version) and that such policies are subject to
7410       change or removal without prior notice.
7412       These policies are strictly intended to be used to configure instances of
7413       <ph name="PRODUCT_NAME">$1<ex>Google Chrome</ex></ph> internal to your
7414       organization. Use of these policies outside of your organization (for
7415       example, in a publicly distributed program) is considered malware and will
7416       likely be labeled as malware by Google and anti-virus vendors.
7418       These settings don't need to be configured manually!  Easy-to-use
7419       templates for Windows, Mac and Linux are available for download from <ph
7420       name="POLICY_TEMPLATE_DOWNLOAD_URL">http://www.chromium.org/administrators/policy-templates<ex>
7421       http://www.chromium.org/administrators/policy-templates</ex></ph>.
7423       The recommended way to configure policy on Windows is via GPO, although
7424       provisioning policy via registry is still supported for Windows instances
7425       that are joined to an Active Directory domain.'''
7426     },
7427     'doc_back_to_top': {
7428       'desc': '''Text of a link in the generated policy documentation, that takes the user to the top of the page''',
7429       'text': '''Back to top'''
7430     },
7431     'doc_supported': {
7432       'desc': '''Appears next to the name of each supported feature in the 'list of supported policy features' in the generated policy documentation''',
7433       'text': '''Yes'''
7434     },
7435     'doc_not_supported': {
7436       'desc': '''Appears next to the name of each unsupported feature in the 'list of supported policy features' in the generated policy documentation''',
7437       'text': '''No'''
7438     },
7439     'doc_name_column_title': {
7440       'desc': '''Appears at the top of the policy summary table, over the column of policy names, in the generated policy documentation''',
7441       'text': '''Policy Name'''
7442     },
7443     'doc_description_column_title': {
7444       'desc': '''Appears at the top of the policy summary table, over the column of short policy descriptions, in the generated policy documentation''',
7445       'text': '''Description'''
7446     },
7447     'doc_feature_dynamic_refresh': {
7448       'desc': '''The name of the feature that indicates for a given policy that changes to it are respected by Chromium without a browser restart''',
7449       'text': '''Dynamic Policy Refresh'''
7450     },
7451     'doc_feature_can_be_recommended': {
7452       'desc': '''The name of the feature that indicates for a given policy that it can be recommended, instead of mandatory''',
7453       'text': '''Can Be Recommended'''
7454     },
7455     'doc_feature_can_be_mandatory': {
7456       'desc': '''The name of the feature that indicates for a given policy that it can be mandatory, instead of recommended''',
7457       'text': '''Can Be Mandatory'''
7458     },
7459     'doc_feature_per_profile': {
7460       'desc': '''The name of the feature that indicates whether a policy is applicable to browser Profiles individually or whether it affects the entire browser.''',
7461       'text': '''Per Profile'''
7462     },
7463     'doc_deprecated': {
7464       'desc': '''Text appended in parentheses to the policy name to indicate that it has been deprecated''',
7465       'text': 'deprecated',
7466     },
7467     'doc_recommended': {
7468       'desc': '''Text appended in parentheses next to the policies top-level container to indicate that those policies are of the Recommended level''',
7469       'text': 'Default Settings (users can override)',
7470     },
7471     'doc_complex_policies_on_windows': {
7472       'desc': '''Text pointing the user to a help article for complex policies on Windows''',
7473       'text': '''encoded as a JSON string, for details see <ph name="COMPLEX_POLICIES_URL">http://www.chromium.org/administrators/complex-policies-on-windows<ex>http://www.chromium.org/administrators/complex-policies-on-windows</ex></ph>''',
7474     },
7475   },
7476   'placeholders': [],