| Index: third_party/chrome/idl/types.json
|
| diff --git a/third_party/chrome/idl/types.json b/third_party/chrome/idl/types.json
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..0463ebdd382c9f111efef8dd0310876c80672623
|
| --- /dev/null
|
| +++ b/third_party/chrome/idl/types.json
|
| @@ -0,0 +1,151 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +[
|
| + {
|
| + "namespace": "types",
|
| + "types": [
|
| + {
|
| + "id": "ChromeSetting",
|
| + "type": "object",
|
| + "customBindings": "ChromeSetting",
|
| + "description": "An interface which allows access to a Chrome browser setting.",
|
| + "functions": [
|
| + {
|
| + "name": "get",
|
| + "type": "function",
|
| + "description": "Gets the value of a setting.",
|
| + "parameters": [
|
| + {
|
| + "name": "details",
|
| + "type": "object",
|
| + "description": "What setting to consider.",
|
| + "properties": {
|
| + "incognito": {
|
| + "type": "boolean",
|
| + "optional": true,
|
| + "description": "Whether to return the setting that applies to the incognito session (default false)."
|
| + }
|
| + }
|
| + },
|
| + {
|
| + "name": "callback",
|
| + "type": "function",
|
| + "parameters": [
|
| + {
|
| + "name": "details",
|
| + "type": "object",
|
| + "description": "Details of the currently effective value.",
|
| + "properties": {
|
| + "value": {
|
| + "description": "The value of the setting.",
|
| + "type": "any"
|
| + },
|
| + "levelOfControl": {
|
| + "description": "One of<br><var>not_controllable</var>: cannot be controlled by any extension<br><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence<br><var>controllable_by_this_extension</var>: can be controlled by this extension<br><var>controlled_by_this_extension</var>: controlled by this extension",
|
| + "type": "string",
|
| + "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"]
|
| + },
|
| + "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.",
|
| + "type": "boolean",
|
| + "optional": true
|
| + }
|
| + }
|
| + }
|
| + ]
|
| + }
|
| + ]
|
| + },
|
| + {
|
| + "name": "set",
|
| + "type": "function",
|
| + "description": "Sets the value of a setting.",
|
| + "parameters": [
|
| + {
|
| + "name": "details",
|
| + "type": "object",
|
| + "description": "What setting to change.",
|
| + "properties": {
|
| + "value": {
|
| + "description": "The value of the setting. <br>Note that every setting has a specific value type, which is described together with the setting. An extension should <em>not</em> set a value of a different type.",
|
| + "type": "any"
|
| + },
|
| + "scope": {
|
| + "type": "string",
|
| + "enum": ["regular", "regular_only", "incognito_persistent", "incognito_session_only"],
|
| + "optional": true,
|
| + "description": "Where to set the setting (default: regular). One of<br><var>regular</var>: setting for the regular profile (which is inherited by the incognito profile if not overridden elsewhere),<br><var>regular_only</var>: setting for the regular profile only (not inherited by the incognito profile),<br><var>incognito_persistent</var>: setting for the incognito profile that survives browser restarts (overrides regular preferences),<br><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)."
|
| + }
|
| + }
|
| + },
|
| + {
|
| + "name": "callback",
|
| + "type": "function",
|
| + "description": "Called after the setting has been set.",
|
| + "optional": true,
|
| + "parameters": []
|
| + }
|
| + ]
|
| + },
|
| + {
|
| + "name": "clear",
|
| + "type": "function",
|
| + "description": "Clears the setting. This way default settings can become effective again.",
|
| + "parameters": [
|
| + {
|
| + "name": "details",
|
| + "type": "object",
|
| + "description": "What setting to clear.",
|
| + "properties": {
|
| + "scope": {
|
| + "type": "string",
|
| + "enum": ["regular", "regular_only", "incognito_persistent", "incognito_session_only"],
|
| + "optional": true,
|
| + "description": "Where to clear the setting (default: regular). One of<br><var>regular</var>: setting for the regular profile (which is inherited by the incognito profile if not overridden elsewhere),<br><var>regular_only</var>: setting for the regular profile only (not inherited by the incognito profile),<br><var>incognito_persistent</var>: setting for the incognito profile that survives browser restarts (overrides regular preferences),<br><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)."
|
| + }
|
| + }
|
| + },
|
| + {
|
| + "name": "callback",
|
| + "type": "function",
|
| + "description": "Called after the setting has been cleared.",
|
| + "optional": true,
|
| + "parameters": []
|
| + }
|
| + ]
|
| + }
|
| + ],
|
| + "events": [
|
| + {
|
| + "name": "onChange",
|
| + "description": "Fired when the value of the setting changes.",
|
| + "parameters": [
|
| + {
|
| + "type": "object",
|
| + "name": "details",
|
| + "properties": {
|
| + "value": {
|
| + "description": "The value of the setting.",
|
| + "type": "any"
|
| + },
|
| + "levelOfControl": {
|
| + "description": "One of<br><var>not_controllable</var>: cannot be controlled by any extension<br><var>controlled_by_other_extensions</var>: controlled by extensions with higher precedence<br><var>controllable_by_this_extension</var>: can be controlled by this extension<br><var>controlled_by_this_extension</var>: controlled by this extension",
|
| + "type": "string",
|
| + "enum": ["not_controllable", "controlled_by_other_extensions", "controllable_by_this_extension", "controlled_by_this_extension"]
|
| + },
|
| + "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.",
|
| + "type": "boolean",
|
| + "optional": true
|
| + }
|
| + }
|
| + }
|
| + ]
|
| + }
|
| + ]
|
| + }
|
| + ]
|
| + }
|
| +]
|
|
|