| OLD | NEW |
| (Empty) | |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 [ |
| 6 { |
| 7 "namespace": "types", |
| 8 "types": [ |
| 9 { |
| 10 "id": "ChromeSetting", |
| 11 "type": "object", |
| 12 "customBindings": "ChromeSetting", |
| 13 "description": "An interface which allows access to a Chrome browser set
ting.", |
| 14 "functions": [ |
| 15 { |
| 16 "name": "get", |
| 17 "type": "function", |
| 18 "description": "Gets the value of a setting.", |
| 19 "parameters": [ |
| 20 { |
| 21 "name": "details", |
| 22 "type": "object", |
| 23 "description": "What setting to consider.", |
| 24 "properties": { |
| 25 "incognito": { |
| 26 "type": "boolean", |
| 27 "optional": true, |
| 28 "description": "Whether to return the setting that applies t
o the incognito session (default false)." |
| 29 } |
| 30 } |
| 31 }, |
| 32 { |
| 33 "name": "callback", |
| 34 "type": "function", |
| 35 "parameters": [ |
| 36 { |
| 37 "name": "details", |
| 38 "type": "object", |
| 39 "description": "Details of the currently effective value.", |
| 40 "properties": { |
| 41 "value": { |
| 42 "description": "The value of the setting.", |
| 43 "type": "any" |
| 44 }, |
| 45 "levelOfControl": { |
| 46 "description": "One of<br><var>not_controllable</var>: c
annot 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", |
| 47 "type": "string", |
| 48 "enum": ["not_controllable", "controlled_by_other_extens
ions", "controllable_by_this_extension", "controlled_by_this_extension"] |
| 49 }, |
| 50 "incognitoSpecific": { |
| 51 "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.", |
| 52 "type": "boolean", |
| 53 "optional": true |
| 54 } |
| 55 } |
| 56 } |
| 57 ] |
| 58 } |
| 59 ] |
| 60 }, |
| 61 { |
| 62 "name": "set", |
| 63 "type": "function", |
| 64 "description": "Sets the value of a setting.", |
| 65 "parameters": [ |
| 66 { |
| 67 "name": "details", |
| 68 "type": "object", |
| 69 "description": "What setting to change.", |
| 70 "properties": { |
| 71 "value": { |
| 72 "description": "The value of the setting. <br>Note that ever
y setting has a specific value type, which is described together with the settin
g. An extension should <em>not</em> set a value of a different type.", |
| 73 "type": "any" |
| 74 }, |
| 75 "scope": { |
| 76 "type": "string", |
| 77 "enum": ["regular", "regular_only", "incognito_persistent",
"incognito_session_only"], |
| 78 "optional": true, |
| 79 "description": "Where to set the setting (default: regular).
One of<br><var>regular</var>: setting for the regular profile (which is inherit
ed by the incognito profile if not overridden elsewhere),<br><var>regular_only</
var>: setting for the regular profile only (not inherited by the incognito profi
le),<br><var>incognito_persistent</var>: setting for the incognito profile that
survives browser restarts (overrides regular preferences),<br><var>incognito_ses
sion_only</var>: setting for the incognito profile that can only be set during a
n incognito session and is deleted when the incognito session ends (overrides re
gular and incognito_persistent preferences)." |
| 80 } |
| 81 } |
| 82 }, |
| 83 { |
| 84 "name": "callback", |
| 85 "type": "function", |
| 86 "description": "Called after the setting has been set.", |
| 87 "optional": true, |
| 88 "parameters": [] |
| 89 } |
| 90 ] |
| 91 }, |
| 92 { |
| 93 "name": "clear", |
| 94 "type": "function", |
| 95 "description": "Clears the setting. This way default settings can be
come effective again.", |
| 96 "parameters": [ |
| 97 { |
| 98 "name": "details", |
| 99 "type": "object", |
| 100 "description": "What setting to clear.", |
| 101 "properties": { |
| 102 "scope": { |
| 103 "type": "string", |
| 104 "enum": ["regular", "regular_only", "incognito_persistent",
"incognito_session_only"], |
| 105 "optional": true, |
| 106 "description": "Where to clear the setting (default: regular
). One of<br><var>regular</var>: setting for the regular profile (which is inher
ited by the incognito profile if not overridden elsewhere),<br><var>regular_only
</var>: setting for the regular profile only (not inherited by the incognito pro
file),<br><var>incognito_persistent</var>: setting for the incognito profile tha
t survives browser restarts (overrides regular preferences),<br><var>incognito_s
ession_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)." |
| 107 } |
| 108 } |
| 109 }, |
| 110 { |
| 111 "name": "callback", |
| 112 "type": "function", |
| 113 "description": "Called after the setting has been cleared.", |
| 114 "optional": true, |
| 115 "parameters": [] |
| 116 } |
| 117 ] |
| 118 } |
| 119 ], |
| 120 "events": [ |
| 121 { |
| 122 "name": "onChange", |
| 123 "description": "Fired when the value of the setting changes.", |
| 124 "parameters": [ |
| 125 { |
| 126 "type": "object", |
| 127 "name": "details", |
| 128 "properties": { |
| 129 "value": { |
| 130 "description": "The value of the setting.", |
| 131 "type": "any" |
| 132 }, |
| 133 "levelOfControl": { |
| 134 "description": "One of<br><var>not_controllable</var>: canno
t be controlled by any extension<br><var>controlled_by_other_extensions</var>: c
ontrolled by extensions with higher precedence<br><var>controllable_by_this_exte
nsion</var>: can be controlled by this extension<br><var>controlled_by_this_exte
nsion</var>: controlled by this extension", |
| 135 "type": "string", |
| 136 "enum": ["not_controllable", "controlled_by_other_extensions
", "controllable_by_this_extension", "controlled_by_this_extension"] |
| 137 }, |
| 138 "incognitoSpecific": { |
| 139 "description": "Whether the value that has changed is specif
ic to the incognito session.<br>This property will <em>only</em> be present if t
he user has enabled the extension in incognito mode.", |
| 140 "type": "boolean", |
| 141 "optional": true |
| 142 } |
| 143 } |
| 144 } |
| 145 ] |
| 146 } |
| 147 ] |
| 148 } |
| 149 ] |
| 150 } |
| 151 ] |
| OLD | NEW |