| Index: chrome/common/extensions/docs/templates/intros/privacy.html
|
| ===================================================================
|
| --- chrome/common/extensions/docs/templates/intros/privacy.html (revision 181647)
|
| +++ chrome/common/extensions/docs/templates/intros/privacy.html (working copy)
|
| @@ -102,108 +102,3 @@
|
| <a href="samples.html#privacy">Privacy API samples</a>.
|
| </p>
|
|
|
| -
|
| -
|
| -<p id="classSummary">
|
| - Use the <code>chrome.privacy</code> module to control usage of the features in
|
| - Chrome that can affect a user's privacy. This module relies on the
|
| - <a href="types.html#ChromeSetting">ChromeSetting prototype of the type API</a>
|
| - for getting and setting Chrome's configuration.
|
| -</p>
|
| -
|
| -<p class="note">
|
| - The <a href="http://www.google.com/intl/en/landing/chrome/google-chrome-privacy-whitepaper.pdf">Chrome Privacy Whitepaper</a>
|
| - gives background detail regarding the features which this API can control.
|
| -</p>
|
| -
|
| -<h2 id="manifest">Manifest</h2>
|
| -<p>
|
| - You must declare the "privacy" permission in your extension's
|
| - <a href="manifest.html">manifest</a> to use the API. For example:
|
| -</p>
|
| -
|
| -<pre>{
|
| - "name": "My extension",
|
| - ...
|
| - <b>"permissions": [
|
| - "privacy"
|
| - ]</b>,
|
| - ...
|
| -}</pre>
|
| -
|
| -<h2 id="usage">Usage</h2>
|
| -
|
| -<p>
|
| - Reading the current value of a Chrome setting is straightforward. You'll first
|
| - need to find the property you're interested in, then you'll call
|
| - <code>get()</code> on that object in order to retrieve its current value and
|
| - your extension's level of control. For example, to determine if Chrome's
|
| - Autofill feature is enabled, you'd write:
|
| -</p>
|
| -
|
| -<pre>chrome.privacy.services.autofillEnabled.get({}, function(details) {
|
| - if (details.value)
|
| - console.log('Autofill is on!');
|
| - else
|
| - console.log('Autofill is off!');
|
| -});</pre>
|
| -
|
| -<p>
|
| - Changing the value of a setting is a little bit more complex, simply because
|
| - you first must verify that your extension can control the setting. The user
|
| - won't see any change to her settings if you extension toggles a setting that
|
| - is either locked to a specific value by enterprise policies
|
| - (<code>levelOfControl</code> will be set to "not_controllable"), or if another
|
| - extension is controlling the value (<code>levelOfControl</code> will be set to
|
| - "controlled_by_other_extensions"). The <code>set()</code> call will succeed,
|
| - but the setting will be immediately overridden. As this might be confusing, it
|
| - is advisable to warn the user when the settings they've chosen aren't
|
| - practically applied.
|
| -</p>
|
| -
|
| -<p class="note">
|
| - Full details about extensions' ability to control <code>ChromeSetting</code>s
|
| - can be found under
|
| - <a href="types.html#ChromeSetting">
|
| - <code>chrome.types.ChromeSetting</code></a>.
|
| -</p>
|
| -
|
| -<p>
|
| - This means that you ought to use the <code>get()</code> method to determine
|
| - your level of access, and then only call <code>set()</code> if your extension
|
| - can grab control over the setting (in fact if your extension can't control the
|
| - setting it's probably a good idea to visibly disable the functionality to
|
| - reduce user confusion):
|
| -</p>
|
| -
|
| -<pre>chrome.privacy.services.autofillEnabled.get({}, function(details) {
|
| - if (details.levelOfControl === 'controllable_by_this_extension') {
|
| - chrome.privacy.services.autofillEnabled.set({ value: true }, function() {
|
| - if (chrome.runtime.lastError === undefined)
|
| - console.log("Hooray, it worked!");
|
| - else
|
| - console.log("Sadness!", chrome.runtime.lastError);
|
| - }
|
| - }
|
| -});</pre>
|
| -
|
| -<p>
|
| - If you're interested in changes to a setting's value, add a listener to its
|
| - <code>onChange</code> event. Among other uses, this will allow you to warn the
|
| - user if a more recently installed extension grabs control of a setting, or if
|
| - enterprise policy overrides your control. To listen for changes to Autofill's
|
| - status, for example, the following code would suffice:
|
| -</p>
|
| -
|
| -<pre>chrome.privacy.services.autofillEnabled.onChange.addListener(
|
| - function (details) {
|
| - // The new value is stored in `details.value`, the new level of control
|
| - // in `details.levelOfControl`, and `details.incognitoSpecific` will be
|
| - // `true` if the value is specific to Incognito mode.
|
| - });</pre>
|
| -
|
| -<h2 id="examples">Examples</h2>
|
| -<p>
|
| - For example code, see the
|
| - <a href="samples.html#privacy">Privacy API samples</a>.
|
| -</p>
|
|
|