| Index: grit/format/policy_templates/writers/doc_writer.py
|
| diff --git a/grit/format/policy_templates/writers/doc_writer.py b/grit/format/policy_templates/writers/doc_writer.py
|
| index 6edf29083b2e5c107339c04852f76f84d338c8bb..ed6d06073be34c1f20a6ce0acc70fc337228dae7 100644
|
| --- a/grit/format/policy_templates/writers/doc_writer.py
|
| +++ b/grit/format/policy_templates/writers/doc_writer.py
|
| @@ -207,21 +207,21 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| cnt = cnt + 1
|
| self.AddText(win, '\n'.join(win_text))
|
|
|
| - def _AddListExampleLinux(self, parent, policy):
|
| - '''Adds an example value for Linux of a 'list' policy to a DOM node.
|
| + def _AddListExampleAndroidLinux(self, parent, policy):
|
| + '''Adds an example value for Android/Linux of a 'list' policy to a DOM node.
|
|
|
| Args:
|
| parent: The DOM node for which the example will be added.
|
| - policy: A policy of type 'list', for which the Linux example value
|
| + policy: A policy of type 'list', for which the Android/Linux example value
|
| is generated.
|
| '''
|
| example_value = policy['example_value']
|
| - self.AddElement(parent, 'dt', {}, 'Linux:')
|
| - linux = self._AddStyledElement(parent, 'dd', ['.monospace'])
|
| - linux_text = []
|
| + self.AddElement(parent, 'dt', {}, 'Android/Linux:')
|
| + element = self._AddStyledElement(parent, 'dd', ['.monospace'])
|
| + text = []
|
| for item in example_value:
|
| - linux_text.append('"%s"' % item)
|
| - self.AddText(linux, '[%s]' % ', '.join(linux_text))
|
| + text.append('"%s"' % item)
|
| + self.AddText(element, '[%s]' % ', '.join(text))
|
|
|
| def _AddListExample(self, parent, policy):
|
| '''Adds the example value of a 'list' policy to a DOM node. Example output:
|
| @@ -231,7 +231,7 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| Software\Policies\Chromium\DisabledPlugins\0 = "Java"
|
| Software\Policies\Chromium\DisabledPlugins\1 = "Shockwave Flash"
|
| </dd>
|
| - <dt>Linux:</dt>
|
| + <dt>Android/Linux:</dt>
|
| <dd>["Java", "Shockwave Flash"]</dd>
|
| <dt>Mac:</dt>
|
| <dd>
|
| @@ -249,8 +249,9 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| examples = self._AddStyledElement(parent, 'dl', ['dd dl'])
|
| if self.IsPolicySupportedOnPlatform(policy, 'win'):
|
| self._AddListExampleWindows(examples, policy)
|
| - if self.IsPolicySupportedOnPlatform(policy, 'linux'):
|
| - self._AddListExampleLinux(examples, policy)
|
| + if (self.IsPolicySupportedOnPlatform(policy, 'android') or
|
| + self.IsPolicySupportedOnPlatform(policy, 'linux')):
|
| + self._AddListExampleAndroidLinux(examples, policy)
|
| if self.IsPolicySupportedOnPlatform(policy, 'mac'):
|
| self._AddListExampleMac(examples, policy)
|
|
|
| @@ -313,18 +314,18 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| example = json.dumps(policy['example_value'])
|
| self.AddText(win, '%s\\%s = %s' % (key_name, policy['name'], example))
|
|
|
| - def _AddDictionaryExampleLinux(self, parent, policy):
|
| - '''Adds an example value for Linux of a 'dict' policy to a DOM node.
|
| + def _AddDictionaryExampleAndroidLinux(self, parent, policy):
|
| + '''Adds an example value for Android/Linux of a 'dict' policy to a DOM node.
|
|
|
| Args:
|
| parent: The DOM node for which the example will be added.
|
| - policy: A policy of type 'dict', for which the Linux example value
|
| + policy: A policy of type 'dict', for which the Android/Linux example value
|
| is generated.
|
| '''
|
| - self.AddElement(parent, 'dt', {}, 'Linux:')
|
| - linux = self._AddStyledElement(parent, 'dd', ['.monospace'])
|
| + self.AddElement(parent, 'dt', {}, 'Android/Linux:')
|
| + element = self._AddStyledElement(parent, 'dd', ['.monospace'])
|
| example = json.dumps(policy['example_value'])
|
| - self.AddText(linux, '%s: %s' % (policy['name'], example))
|
| + self.AddText(element, '%s: %s' % (policy['name'], example))
|
|
|
| def _AddDictionaryExample(self, parent, policy):
|
| '''Adds the example value of a 'dict' policy to a DOM node. Example output:
|
| @@ -333,7 +334,7 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| <dd>
|
| Software\Policies\Chromium\ProxySettings = "{ 'ProxyMode': 'direct' }"
|
| </dd>
|
| - <dt>Linux:</dt>
|
| + <dt>Android/Linux:</dt>
|
| <dd>"ProxySettings": {
|
| "ProxyMode": "direct"
|
| }
|
| @@ -355,17 +356,18 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| examples = self._AddStyledElement(parent, 'dl', ['dd dl'])
|
| if self.IsPolicySupportedOnPlatform(policy, 'win'):
|
| self._AddDictionaryExampleWindows(examples, policy)
|
| - if self.IsPolicySupportedOnPlatform(policy, 'linux'):
|
| - self._AddDictionaryExampleLinux(examples, policy)
|
| + if (self.IsPolicySupportedOnPlatform(policy, 'android') or
|
| + self.IsPolicySupportedOnPlatform(policy, 'linux')):
|
| + self._AddDictionaryExampleAndroidLinux(examples, policy)
|
| if self.IsPolicySupportedOnPlatform(policy, 'mac'):
|
| self._AddDictionaryExampleMac(examples, policy)
|
|
|
| def _AddExample(self, parent, policy):
|
| '''Adds the HTML DOM representation of the example value of a policy to
|
| a DOM node. It is simple text for boolean policies, like
|
| - '0x00000001 (Windows), true (Linux), <true /> (Mac)' in case of boolean
|
| - policies, but it may also contain other HTML elements. (See method
|
| - _AddListExample.)
|
| + '0x00000001 (Windows), true (Linux), true (Android), <true /> (Mac)'
|
| + in case of boolean policies, but it may also contain other HTML elements.
|
| + (See method _AddListExample.)
|
|
|
| Args:
|
| parent: The DOM node for which the example will be added.
|
| @@ -385,6 +387,9 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| if self.IsPolicySupportedOnPlatform(policy, 'linux'):
|
| value = 'true' if example_value else 'false'
|
| pieces.append(value + ' (Linux)')
|
| + if self.IsPolicySupportedOnPlatform(policy, 'android'):
|
| + value = 'true' if example_value else 'false'
|
| + pieces.append(value + ' (Android)')
|
| if self.IsPolicySupportedOnPlatform(policy, 'mac'):
|
| value = '<true />' if example_value else '<false />'
|
| pieces.append(value + ' (Mac)')
|
| @@ -397,6 +402,8 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| pieces.append('0x%08x (Windows)' % example_value)
|
| if self.IsPolicySupportedOnPlatform(policy, 'linux'):
|
| pieces.append('%d (Linux)' % example_value)
|
| + if self.IsPolicySupportedOnPlatform(policy, 'android'):
|
| + pieces.append('%d (Android)' % example_value)
|
| if self.IsPolicySupportedOnPlatform(policy, 'mac'):
|
| pieces.append('%d (Mac)' % example_value)
|
| self.AddText(parent, ', '.join(pieces))
|
| @@ -473,11 +480,26 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| '''
|
|
|
| dl = self.AddElement(parent, 'dl')
|
| - data_type = self._TYPE_MAP[policy['type']]
|
| + data_type = [self._TYPE_MAP[policy['type']]]
|
| + qualified_types = []
|
| + is_complex_policy = False
|
| + if (self.IsPolicySupportedOnPlatform(policy, 'android') and
|
| + self._RESTRICTION_TYPE_MAP.get(policy['type'], None)):
|
| + qualified_types.append('Android:%s' %
|
| + self._RESTRICTION_TYPE_MAP[policy['type']])
|
| + if policy['type'] in ('dict', 'list'):
|
| + is_complex_policy = True
|
| if (self.IsPolicySupportedOnPlatform(policy, 'win') and
|
| self._REG_TYPE_MAP.get(policy['type'], None)):
|
| - data_type += ' (%s)' % self._REG_TYPE_MAP[policy['type']]
|
| - self._AddPolicyAttribute(dl, 'data_type', data_type)
|
| + qualified_types.append('Windows:%s' % self._REG_TYPE_MAP[policy['type']])
|
| + if policy['type'] == 'dict':
|
| + is_complex_policy = True
|
| + if qualified_types:
|
| + data_type.append('[%s]' % ', '.join(qualified_types))
|
| + if is_complex_policy:
|
| + data_type.append('(%s)' %
|
| + self._GetLocalizedMessage('complex_policies_on_windows'))
|
| + self._AddPolicyAttribute(dl, 'data_type', ' '.join(data_type))
|
| if policy['type'] != 'external':
|
| # All types except 'external' can be set through platform policy.
|
| if self.IsPolicySupportedOnPlatform(policy, 'win'):
|
| @@ -497,6 +519,12 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| 'mac_linux_pref_name',
|
| policy['name'],
|
| ['.monospace'])
|
| + if self.IsPolicySupportedOnPlatform(policy, 'android'):
|
| + self._AddPolicyAttribute(
|
| + dl,
|
| + 'android_restriction_name',
|
| + policy['name'],
|
| + ['.monospace'])
|
| dd = self._AddPolicyAttribute(dl, 'supported_on')
|
| self._AddSupportedOnList(dd, policy['supported_on'])
|
| dd = self._AddPolicyAttribute(dl, 'supported_features')
|
| @@ -505,6 +533,7 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| self._AddDescription(dd, policy)
|
| if (self.IsPolicySupportedOnPlatform(policy, 'win') or
|
| self.IsPolicySupportedOnPlatform(policy, 'linux') or
|
| + self.IsPolicySupportedOnPlatform(policy, 'android') or
|
| self.IsPolicySupportedOnPlatform(policy, 'mac')):
|
| # Don't add an example for ChromeOS-only policies.
|
| if policy['type'] != 'external':
|
| @@ -675,15 +704,20 @@ class DocWriter(xml_formatted_writer.XMLFormattedWriter):
|
| 'dict': 'Dictionary',
|
| 'external': 'External data reference',
|
| }
|
| - reg_dict = 'REG_SZ; %s' % self._GetLocalizedMessage(
|
| - 'complex_policies_on_windows')
|
| self._REG_TYPE_MAP = {
|
| 'string': 'REG_SZ',
|
| 'int': 'REG_DWORD',
|
| 'main': 'REG_DWORD',
|
| 'int-enum': 'REG_DWORD',
|
| 'string-enum': 'REG_SZ',
|
| - 'dict': reg_dict,
|
| + 'dict': 'REG_SZ',
|
| + }
|
| + self._RESTRICTION_TYPE_MAP = {
|
| + 'int-enum': 'choice',
|
| + 'string-enum': 'choice',
|
| + 'list': 'string',
|
| + 'string-enum-list': 'multi-select',
|
| + 'dict': 'string',
|
| }
|
| # The CSS style-sheet used for the document. It will be used in Google
|
| # Sites, which strips class attributes from HTML tags. To work around this,
|
|
|