| Index: chrome/common/extensions/api/types.json
|
| diff --git a/chrome/common/extensions/api/types.json b/chrome/common/extensions/api/types.json
|
| index 1a7c3063dbb9b5304ccb991c12e77a32c698ad59..cc59b8ef4c2405077a016c54d8467d6e8642173b 100644
|
| --- a/chrome/common/extensions/api/types.json
|
| +++ b/chrome/common/extensions/api/types.json
|
| @@ -8,6 +8,18 @@
|
| "description": "The <code>chrome.types</code> API contains type declarations for Chrome.",
|
| "types": [
|
| {
|
| + "id": "ChromeSettingScope",
|
| + "type": "string",
|
| + "enum": ["regular", "regular_only", "incognito_persistent", "incognito_session_only"],
|
| + "description": "The scope of the ChromeSetting. One of<ul><li><var>regular</var>: setting for the regular profile (which is inherited by the incognito profile if not overridden elsewhere),</li><li><var>regular_only</var>: setting for the regular profile only (not inherited by the incognito profile),</li><li><var>incognito_persistent</var>: setting for the incognito profile that survives browser restarts (overrides regular preferences),</li><li><var>incognito_session_only</var>: setting for the incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular and incognito_persistent preferences).</li></ul>"
|
| + },
|
| + {
|
| + "id": "LevelOfControl",
|
| + "type": "string",
|
| + "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"],
|
| + "description": "One of<ul><li><var>not_controllable</var>: cannot be controlled by any extension</li><li><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence</li><li><var>controllable_by_this_extension</var>: can be controlled by this extension</li><li><var>controlled_by_this_extension</var>: controlled by this extension</li></ul>"
|
| + },
|
| + {
|
| "id": "ChromeSetting",
|
| "type": "object",
|
| "js_module": "ChromeSetting",
|
| @@ -46,9 +58,8 @@
|
| "type": "any"
|
| },
|
| "levelOfControl": {
|
| - "description": "One of<ul><li><var>not_controllable</var>: cannot be controlled by any extension</li><li><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence</li><li><var>controllable_by_this_extension</var>: can be controlled by this extension</li><li><var>controlled_by_this_extension</var>: controlled by this extension</li></ul>",
|
| - "type": "string",
|
| - "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"]
|
| + "$ref": "LevelOfControl",
|
| + "description": "The level of control of the setting."
|
| },
|
| "incognitoSpecific": {
|
| "description": "Whether the effective value is specific to the incognito session.<br/>This property will <em>only</em> be present if the <var>incognito</var> property in the <var>details</var> parameter of <code>get()</code> was true.",
|
| @@ -77,10 +88,9 @@
|
| "type": "any"
|
| },
|
| "scope": {
|
| - "type": "string",
|
| - "enum": ["regular", "regular_only", "incognito_persistent", "incognito_session_only"],
|
| + "$ref": "ChromeSettingScope",
|
| "optional": true,
|
| - "description": "Where to set the setting (default: regular). One of<ul><li><var>regular</var>: setting for the regular profile (which is inherited by the incognito profile if not overridden elsewhere),</li><li><var>regular_only</var>: setting for the regular profile only (not inherited by the incognito profile),</li><li><var>incognito_persistent</var>: setting for the incognito profile that survives browser restarts (overrides regular preferences),</li><li><var>incognito_session_only</var>: setting for the incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular and incognito_persistent preferences).</li></ul>"
|
| + "description": "Where to set the setting (default: regular)."
|
| }
|
| }
|
| },
|
| @@ -105,10 +115,9 @@
|
| "description": "Which setting to clear.",
|
| "properties": {
|
| "scope": {
|
| - "type": "string",
|
| - "enum": ["regular", "regular_only", "incognito_persistent", "incognito_session_only"],
|
| + "$ref": "ChromeSettingScope",
|
| "optional": true,
|
| - "description": "Where to clear the setting (default: regular). One of<ul><li><var>regular</var>: setting for the regular profile (which is inherited by the incognito profile if not overridden elsewhere),</li><li><var>regular_only</var>: setting for the regular profile only (not inherited by the incognito profile),</li><li><var>incognito_persistent</var>: setting for the incognito profile that survives browser restarts (overrides regular preferences),</li><li><var>incognito_session_only</var>: setting for the incognito profile that can only be set during an incognito session and is deleted when the incognito session ends (overrides regular and incognito_persistent preferences).</li></ul>"
|
| + "description": "Where to clear the setting (default: regular)."
|
| }
|
| }
|
| },
|
| @@ -136,9 +145,8 @@
|
| "type": "any"
|
| },
|
| "levelOfControl": {
|
| - "description": "One of<ul><li><var>not_controllable</var>: cannot be controlled by any extension</li><li><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence</li><li><var>controllable_by_this_extension</var>: can be controlled by this extension</li><li><var>controlled_by_this_extension</var>: controlled by this extension</li></ul>",
|
| - "type": "string",
|
| - "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"]
|
| + "$ref": "LevelOfControl",
|
| + "description": "The level of control of the setting."
|
| },
|
| "incognitoSpecific": {
|
| "description": "Whether the value that has changed is specific to the incognito session.<br/>This property will <em>only</em> be present if the user has enabled the extension in incognito mode.",
|
|
|