diff options
Diffstat (limited to 'chrome/common/extensions')
21 files changed, 2041 insertions, 1035 deletions
diff --git a/chrome/common/extensions/api/extension_api.cc b/chrome/common/extensions/api/extension_api.cc index 9e22c7d..1459e3a 100644 --- a/chrome/common/extensions/api/extension_api.cc +++ b/chrome/common/extensions/api/extension_api.cc @@ -94,7 +94,6 @@ ExtensionAPI::ExtensionAPI() { IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_IME, IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_UI, IDR_EXTENSION_API_JSON_EXPERIMENTAL_INPUT_VIRTUALKEYBOARD, - IDR_EXTENSION_API_JSON_EXPERIMENTAL_PRIVACY, IDR_EXTENSION_API_JSON_EXPERIMENTAL_PROCESSES, IDR_EXTENSION_API_JSON_EXPERIMENTAL_RLZ, IDR_EXTENSION_API_JSON_EXPERIMENTAL_SERIAL, @@ -116,6 +115,7 @@ ExtensionAPI::ExtensionAPI() { IDR_EXTENSION_API_JSON_PAGEACTIONS, IDR_EXTENSION_API_JSON_PAGECAPTURE, IDR_EXTENSION_API_JSON_PERMISSIONS, + IDR_EXTENSION_API_JSON_PRIVACY, IDR_EXTENSION_API_JSON_PROXY, IDR_EXTENSION_API_JSON_STORAGE, IDR_EXTENSION_API_JSON_SYSTEMPRIVATE, diff --git a/chrome/common/extensions/api/experimental.privacy.json b/chrome/common/extensions/api/privacy.json index 2ad53e2..00e8b46 100644 --- a/chrome/common/extensions/api/experimental.privacy.json +++ b/chrome/common/extensions/api/privacy.json @@ -1,6 +1,6 @@ [ { - "namespace": "experimental.privacy", + "namespace": "privacy", "dependencies": [ "types" ], "properties": { "network": { @@ -35,11 +35,6 @@ "value": ["instantEnabled", {"type":"boolean"}], "description": "If enabled, Chrome automatically performs and displays search requests for text you type into the Omnibox as you type it. This preference's value is a boolean, defaulting to <code>true</code>." }, - "metricsReportingEnabled": { - "$ref": "ChromeSetting", - "value": ["metricsReportingEnabled", {"type":"boolean"}], - "description": "If enabled, Chrome automatically sends usage statistics and crash reports to Google. This preference's value is a boolean, defaulting to <code>false</code>." - }, "safeBrowsingEnabled": { "$ref": "ChromeSetting", "value": ["safeBrowsingEnabled", {"type":"boolean"}], diff --git a/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies.zip b/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies.zip Binary files differindex 2c51272..f95bb87 100644 --- a/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies.zip +++ b/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies.zip diff --git a/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/manifest.json b/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/manifest.json index f3ecec8..9b0acc1 100644 --- a/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/manifest.json +++ b/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/manifest.json @@ -2,7 +2,7 @@ "name" : "Block/allow third-party cookies API example extension",
"version" : "0.1",
"description" : "Sample extension which demonstrates how to access a preference.",
- "permissions": [ "experimental", "privacy" ],
+ "permissions": [ "privacy" ],
"browser_action": {
"default_icon": "advicedog.jpg",
"default_popup": "popup.html"
diff --git a/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/popup.js b/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/popup.js index 2eb2797..ce25b11 100644 --- a/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/popup.js +++ b/chrome/common/extensions/docs/examples/api/preferences/allowThirdPartyCookies/popup.js @@ -1,9 +1,9 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// 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. -var pref = chrome.experimental.privacy.websites.thirdPartyCookiesAllowed; +var pref = chrome.privacy.websites.thirdPartyCookiesAllowed; function $(id) { return document.getElementById(id); diff --git a/chrome/common/extensions/docs/examples/api/preferences/enableReferrer.zip b/chrome/common/extensions/docs/examples/api/preferences/enableReferrer.zip Binary files differindex a71eab0..8faa5ff 100644 --- a/chrome/common/extensions/docs/examples/api/preferences/enableReferrer.zip +++ b/chrome/common/extensions/docs/examples/api/preferences/enableReferrer.zip diff --git a/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/manifest.json b/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/manifest.json index 33e111a..57013fd 100644 --- a/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/manifest.json +++ b/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/manifest.json @@ -2,7 +2,7 @@ "name" : "Block/allow referrer API example extension",
"version" : "0.1",
"description" : "Sample extension which demonstrates how to access a preference.",
- "permissions": [ "experimental", "privacy" ],
+ "permissions": [ "privacy" ],
"browser_action": {
"default_icon": "advicedog.jpg",
"default_popup": "popup.html"
diff --git a/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/popup.js b/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/popup.js index 56ac004..72bb9e4 100644 --- a/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/popup.js +++ b/chrome/common/extensions/docs/examples/api/preferences/enableReferrer/popup.js @@ -1,9 +1,9 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// 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. -var pref = chrome.experimental.privacy.websites.referrersEnabled; +var pref = chrome.privacy.websites.referrersEnabled; function $(id) { return document.getElementById(id); diff --git a/chrome/common/extensions/docs/experimental.privacy.html b/chrome/common/extensions/docs/experimental.privacy.html index 3e99b20..7dd9a07 100644 --- a/chrome/common/extensions/docs/experimental.privacy.html +++ b/chrome/common/extensions/docs/experimental.privacy.html @@ -16,7 +16,7 @@ <script type="text/javascript" src="js/api_page_generator.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> <script type="text/javascript" src="js/sidebar.js"></script> - <meta name="description" content="Documentation for the chrome.experimental.privacy module, which is part of the Google Chrome extension APIs."><title>chrome.experimental.privacy - Google Chrome Extensions - Google Code</title></head> + <title>experimental.privacy - Google Chrome Extensions - Google Code</title></head> <body> <div id="devModeWarning" class="displayModeWarning"> You are viewing extension docs in chrome via the 'file:' scheme: are you expecting to see local changes when you refresh? You'll need run chrome with --allow-file-access-from-files. </div> @@ -311,13 +311,13 @@ <div class="g-unit" id="gc-pagecontent"> <div id="pageTitle"> - <h1 class="page_title">chrome.experimental.privacy</h1> + <h1 class="page_title">experimental.privacy</h1> </div> <!-- TABLE OF CONTENTS --> - <div id="toc"> + <div id="toc" style="display: none; "> <h2>Contents</h2> <ol> - <li style="display: none; "> + <li> <a>h2Name</a> <ol> <li> @@ -326,48 +326,12 @@ </ol> </li> <li> - <a href="#apiReference">API reference: chrome.experimental.privacy</a> - <ol> - <li> - <a href="#properties">Properties</a> - <ol> - <li> - <a href="#property-network">network</a> - </li><li> - <a href="#property-services">services</a> - </li><li> - <a href="#property-websites">websites</a> - </li> - </ol> - </li> - <li style="display: none; "> - <a>Methods</a> - <ol> - <li> - <a href="#method-anchor">methodName</a> - </li> - </ol> - </li> - <li style="display: none; "> - <a>Events</a> - <ol> - <li> - <a href="#event-anchor">eventName</a> - </li> - </ol> - </li> - <li style="display: none; "> - <a href="#types">Types</a> - <ol> - <li> - <a href="#id-anchor">id</a> + <a href="#apiReference">API reference</a> <ol> <div></div> <div></div> - </ol> - </li> - </ol> - </li> + <div></div> + <div></div> </ol> </li> </ol> @@ -375,17 +339,27 @@ <!-- /TABLE OF CONTENTS --> <!-- Standard content lead-in for experimental API pages --> - <p id="classSummary"> + <p id="classSummary" style="display: none; "> For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page. </p> <!-- STATIC CONTENT PLACEHOLDER --> - <div id="static"></div> + <div id="static"><div id="pageData-name" class="pageData">experimental.privacy</div> + +<p> +The <code>Privacy</code> API is no longer experimental; +it's supported! You can read all about it at its new home: +</p> + +<blockquote> +<a href="privacy.html">chrome.privacy</a> +</blockquote> +</div> <!-- API PAGE --> - <div class="apiPage"> + <div class="apiPage" style="display: none; "> <a name="apiReference"></a> - <h2>API reference: chrome.experimental.privacy</h2> + <h2>API reference: chrome.apiname </h2> <!-- PROPERTIES --> <div class="apiGroup"> @@ -393,972 +367,20 @@ <h3 id="properties">Properties</h3> <div> - <a name="property-network"></a> - <h4>network</h4> - <div class="summary"> - <!-- Note: intentionally longer 80 columns --> - <span>chrome.experimental.privacy.</span><span>network</span> - </div> - <div> - <dt> - <var>network</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span style="display: none; "> - <a> Type</a> - </span> - <span> - <span style="display: none; "> - array of <span><span></span></span> - </span> - <span>object</span> - <span style="display: none; "></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>Settings that influence Chrome's handling of network connections in general.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd> - <dl> - <div> - <div> - <dt> - <var>networkPredictionEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome attempts to speed up your web browsing experience by pre-resolving DNS entries, prerendering sites (<code><link rel='prefetch' ...></code>), and preemptively opening TCP and SSL connections to servers. This preference's value is a boolean, defaulting to <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <a name="property-services"></a> - <h4>services</h4> - <div class="summary"> - <!-- Note: intentionally longer 80 columns --> - <span>chrome.experimental.privacy.</span><span>services</span> - </div> - <div> - <dt> - <var>services</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span style="display: none; "> - <a> Type</a> - </span> - <span> - <span style="display: none; "> - array of <span><span></span></span> - </span> - <span>object</span> - <span style="display: none; "></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>Settings that enable or disable features that require third-party network services provided by Google and your default search provider.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd> - <dl> - <div> - <div> - <dt> - <var>alternateErrorPagesEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome uses a web service to help resolve navigation errors. This preference's value is a boolean, defaulting to <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>autofillEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome offers to automatically fill in forms. This preference's value is a boolean, defaulting to <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>instantEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome automatically performs and displays search requests for text you type into the Omnibox as you type it. This preference's value is a boolean, defaulting to <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>metricsReportingEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome automatically sends usage statistics and crash reports to Google. This preference's value is a boolean, defaulting to <code>false</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>safeBrowsingEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome does its best to protect you from phishing and malware. This preference's value is a boolean, defaulting to <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>searchSuggestEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome sends the text you type into the Omnibox to your default search engine, which provides predictions of websites and searches that are likely completions of what you've typed so far. This preference's value is a boolean, defaulting to <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>translationServiceEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome offers to translate pages that aren't in a language you read. This preference's value is a boolean, defaulting to <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <a name="property-websites"></a> - <h4>websites</h4> + <a></a> + <h4>getLastError</h4> <div class="summary"> <!-- Note: intentionally longer 80 columns --> - <span>chrome.experimental.privacy.</span><span>websites</span> - </div> - <div> - <dt> - <var>websites</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span style="display: none; "> - <a> Type</a> - </span> - <span> - <span style="display: none; "> - array of <span><span></span></span> - </span> - <span>object</span> - <span style="display: none; "></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>Settings that determine what information Chrome sends when requesting websites.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd> - <dl> - <div> - <div> - <dt> - <var>thirdPartyCookiesAllowed</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If disabled, Chrome blocks third-party sites from setting cookies. The value of this preference is of type boolean, and the default value is <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>hyperlinkAuditingEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome sends auditing pings when requested by a website (<code><a ping></code>). The value of this preference is of type boolean, and the default value is <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> - <div> - <div> - </div> + <span>chrome.extension</span><span>lastError</span> </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> - </div><div> - <div> - <dt> - <var>referrersEnabled</var> - <em> - - <!-- TYPE --> - <div style="display:inline"> - ( - <span class="optional" style="display: none; ">optional</span> - <span class="enum" style="display: none; ">enumerated</span> - <span id="typeTemplate"> - <span> - <a href="types.html#type-ChromeSetting">ChromeSetting</a> - </span> - <span style="display: none; "> - <span> - array of <span><span></span></span> - </span> - <span>paramType</span> - <span></span> - </span> - </span> - ) - </div> - - </em> - </dt> - <dd class="todo" style="display: none; "> - Undocumented. - </dd> - <dd>If enabled, Chrome sends <code>referer</code> headers with your requests. Yes, the name of this preference doesn't match the misspelled header. No, we're not going to change it. The value of this preference is of type boolean, and the default value is <code>true</code>.</dd> - <dd style="display: none; "> - This parameter was added in version - <b><span></span></b>. - You must omit this parameter in earlier versions, - and you may omit it in any version. If you require this - parameter, the manifest key - <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> - can ensure that your extension won't be run in an earlier browser version. - </dd> - - <!-- OBJECT PROPERTIES --> - <dd style="display: none; "> - <dl> <div> - <div> - </div> - </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> </div> - </dl> - </dd> - - <!-- OBJECT METHODS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- OBJECT EVENT FIELDS --> - <dd style="display: none; "> - <div></div> - </dd> - - <!-- FUNCTION PARAMETERS --> - <dd style="display: none; "> - <div></div> - </dd> - - </div> </div> </div> <!-- /apiGroup --> <!-- METHODS --> - <div id="methodsTemplate" class="apiGroup" style="display: none; "> + <div id="methodsTemplate" class="apiGroup"> <a></a> <h3>Methods</h3> @@ -1434,7 +456,7 @@ </div> <!-- /apiGroup --> <!-- EVENTS --> - <div id="eventsTemplate" class="apiGroup" style="display: none; "> + <div id="eventsTemplate" class="apiGroup"> <a></a> <h3>Events</h3> <!-- iterates over all events --> @@ -1490,7 +512,7 @@ </div> <!-- /apiGroup --> <!-- TYPES --> - <div class="apiGroup" style="display: none; "> + <div class="apiGroup"> <a name="types"></a> <h3 id="types">Types</h3> diff --git a/chrome/common/extensions/docs/js/api_page_generator.js b/chrome/common/extensions/docs/js/api_page_generator.js index 5b550c6..568ec62 100644 --- a/chrome/common/extensions/docs/js/api_page_generator.js +++ b/chrome/common/extensions/docs/js/api_page_generator.js @@ -40,7 +40,6 @@ var MODULE_SCHEMAS = [ '../api/experimental.input.ime.json', '../api/experimental.input.ui.json', '../api/experimental.input.virtualKeyboard.json', - '../api/experimental.privacy.json', '../api/experimental.processes.json', '../api/experimental.rlz.json', '../api/experimental.serial.json', @@ -62,6 +61,7 @@ var MODULE_SCHEMAS = [ '../api/pageActions.json', '../api/pageCapture.json', '../api/permissions.json', + '../api/privacy.json', '../api/proxy.json', '../api/storage.json', '../api/systemPrivate.json', diff --git a/chrome/common/extensions/docs/manifest.html b/chrome/common/extensions/docs/manifest.html index 4299ad0..e1f4746 100644 --- a/chrome/common/extensions/docs/manifest.html +++ b/chrome/common/extensions/docs/manifest.html @@ -944,6 +944,11 @@ table. <a href="notifications.html">Desktop Notifications</a>.</td> </tr> <tr> + <td> "privacy" </td> + <td> Required if the extension uses the + <a href="privacy.html">chrome.privacy</a> module. </td> +</tr> +<tr> <td> "proxy" </td> <td> Required if the extension uses the <a href="proxy.html">chrome.proxy</a> module. </td> diff --git a/chrome/common/extensions/docs/permission_warnings.html b/chrome/common/extensions/docs/permission_warnings.html index 321d208..279b53d 100644 --- a/chrome/common/extensions/docs/permission_warnings.html +++ b/chrome/common/extensions/docs/permission_warnings.html @@ -718,6 +718,20 @@ that trigger them. </ul> </td> </tr> + +<tr> + <td style="font-weight:bold"> + <!-- IDS_EXTENSION_PROMPT_WARNING_PRIVACY--> + Privacy-related settings + </td> + <td> + "privacy" permission + </td> + <td> + The "privacy" permission is required by the + <a href="privacy.html"><code>chrome.privacy</code></a> module. + </td> +</tr> </tbody></table> <p></p> diff --git a/chrome/common/extensions/docs/privacy.html b/chrome/common/extensions/docs/privacy.html new file mode 100644 index 0000000..d3ddc80 --- /dev/null +++ b/chrome/common/extensions/docs/privacy.html @@ -0,0 +1,1729 @@ +<!DOCTYPE html><!-- This page is a placeholder for generated extensions api doc. Note: + 1) The <head> information in this page is significant, should be uniform + across api docs and should be edited only with knowledge of the + templating mechanism. + 3) All <body>.innerHTML is genereated as an rendering step. If viewed in a + browser, it will be re-generated from the template, json schema and + authored overview content. + 4) The <body>.innerHTML is also generated by an offline step so that this + page may easily be indexed by search engines. +--><html xmlns="http://www.w3.org/1999/xhtml"><head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <link href="css/ApiRefStyles.css" rel="stylesheet" type="text/css"> + <link href="css/print.css" rel="stylesheet" type="text/css" media="print"> + <script type="text/javascript" src="../../../third_party/jstemplate/jstemplate_compiled.js"> + </script> + <script type="text/javascript" src="js/api_page_generator.js"></script> + <script type="text/javascript" src="js/bootstrap.js"></script> + <script type="text/javascript" src="js/sidebar.js"></script> + <meta name="description" content="Documentation for the chrome.privacy module, which is part of the Google Chrome extension APIs."><title>Privacy - Google Chrome Extensions - Google Code</title></head> + <body> <div id="devModeWarning" class="displayModeWarning"> + You are viewing extension docs in chrome via the 'file:' scheme: are you expecting to see local changes when you refresh? You'll need run chrome with --allow-file-access-from-files. + </div> + <div id="branchWarning" class="displayModeWarning"> + <span>WARNING: This is the <span id="branchName">BETA</span> documentation. + It may not work with the stable release of Chrome.</span> + <select id="branchChooser"> + <option>Choose a different version... + </option><option value="">Stable + </option><option value="beta">Beta + </option><option value="dev">Dev + </option><option value="trunk">Trunk + </option></select> + </div> + <div id="unofficialWarning" class="displayModeWarning"> + <span>WARNING: This is unofficial documentation. It may not work with the + current release of Chrome.</span> + <button id="goToOfficialDocs">Go to the official docs</button> + </div> + <div id="gc-container" class="labs"> + <!-- SUBTEMPLATES: DO NOT MOVE FROM THIS LOCATION --> + <!-- In particular, sub-templates that recurse, must be used by allowing + jstemplate to make a copy of the template in this section which + are not operated on by way of the jsskip="true" --> + <div style="display:none"> + + <!-- VALUE --> + <div id="valueTemplate"> + <dt> + <var>paramName</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional">optional</span> + <span class="enum">enumerated</span> + <span id="typeTemplate"> + <span> + <a> Type</a> + </span> + <span> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo"> + Undocumented. + </dd> + <dd> + Description of this parameter from the json schema. + </dd> + <dd> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd> + <div></div> + </dd> + + </div> <!-- /VALUE --> + + <div id="functionParametersTemplate"> + <h5>Parameters</h5> + <dl> + <div> + <div> + </div> + </div> + </dl> + </div> + + <!-- Individual subsections from the table of contents --> + <ol> + <li id="propertiesTocTemplate"> + <a href="#properties">Properties</a> + <ol> + <li> + <a href="#property-anchor">propertyName</a> + </li> + </ol> + </li> + <li id="methodsTocTemplate"> + <a>Methods</a> + <ol> + <li> + <a href="#method-anchor">methodName</a> + </li> + </ol> + </li> + <li id="eventsTocTemplate"> + <a>Events</a> + <ol> + <li> + <a href="#event-anchor">eventName</a> + </li> + </ol> + </li> + <li id="typesTocTemplate"> + <a href="#types">Types</a> + <ol> + <li> + <a href="#id-anchor">id</a> + <ol> + <div></div> + <div></div> + </ol> + </li> + </ol> + </li> + </ol> + </div> <!-- /SUBTEMPLATES --> + + <a id="top"></a> + <div id="skipto"> + <a href="#gc-pagecontent">Skip to page content</a> + <a href="#gc-toc">Skip to main navigation</a> + </div> + <!-- API HEADER --> + <table id="header" width="100%" cellspacing="0" border="0"> + <tbody><tr> + <td valign="middle"><a href="http://code.google.com/"><img src="images/code_labs_logo.gif" height="43" width="161" alt="Google Code Labs" style="border:0; margin:0;"></a></td> + <td valign="middle" width="100%" style="padding-left:0.6em;"> + <form action="http://www.google.com/cse" id="cse" style="margin-top:0.5em"> + <div id="gsc-search-box"> + <input type="hidden" name="cx" value="002967670403910741006:61_cvzfqtno"> + <input type="hidden" name="ie" value="UTF-8"> + <input type="text" name="q" value="" size="55"> + <input class="gsc-search-button" type="submit" name="sa" value="Search"> + <br> + <span class="greytext">e.g. "page action" or "tabs"</span> + </div> + </form> + + <script type="text/javascript" src="https://www.google.com/jsapi"></script> + <script type="text/javascript">google.load("elements", "1", {packages: "transliteration"});</script> + <script type="text/javascript" src="https://www.google.com/coop/cse/t13n?form=cse&t13n_langs=en"></script> + <script type="text/javascript" src="https://www.google.com/coop/cse/brand?form=cse&lang=en"></script> + </td> + </tr> + </tbody></table> + + <div id="codesiteContent" class=""> + + <a id="gc-topnav-anchor"></a> + <div id="gc-topnav"> + <h1>Google Chrome Extensions (<a href="http://code.google.com/labs/">Labs</a>)</h1> + <ul id="home" class="gc-topnav-tabs"> + <li id="home_link"> + <a href="index.html" title="Google Chrome Extensions home page">Home</a> + </li> + <li id="docs_link"> + <a href="docs.html" title="Official Google Chrome Extensions documentation">Docs</a> + </li> + <li id="faq_link"> + <a href="faq.html" title="Answers to frequently asked questions about Google Chrome Extensions">FAQ</a> + </li> + <li id="samples_link"> + <a href="samples.html" title="Sample extensions (with source code)">Samples</a> + </li> + <li id="group_link"> + <a href="http://groups.google.com/a/chromium.org/group/chromium-extensions" title="Google Chrome Extensions developer forum">Group</a> + </li> + <li id="so_link"> + <a href="http://stackoverflow.com/questions/tagged/google-chrome-extension" title="[google-chrome-extension] tag on Stack Overflow">Questions?</a> + </li> + </ul> + </div> <!-- end gc-topnav --> + + <div class="g-section g-tpl-170"> + <!-- SIDENAV --> + <div class="g-unit g-first" id="gc-toc"> + <ul> + <li><a href="getstarted.html">Getting Started</a></li> + <li><a href="overview.html">Overview</a></li> + <li><a href="whats_new.html">What's New?</a></li> + <li><h2><a href="devguide.html">Developer's Guide</a></h2> + <ul> + <li>Browser UI + <ul> + <li><a href="browserAction.html">Browser Actions</a></li> + <li><a href="contextMenus.html">Context Menus</a></li> + <li><a href="notifications.html">Desktop Notifications</a></li> + <li><a href="omnibox.html">Omnibox</a></li> + <li><a href="options.html">Options Pages</a></li> + <li><a href="override.html">Override Pages</a></li> + <li><a href="pageAction.html">Page Actions</a></li> + </ul> + </li> + <li>Browser Interaction + <ul> + <li><a href="bookmarks.html">Bookmarks</a></li> + <li><a href="cookies.html">Cookies</a></li> + <li><a href="devtools.html">Developer Tools</a></li> + <li><a href="events.html">Events</a></li> + <li><a href="history.html">History</a></li> + <li><a href="management.html">Management</a></li> + <li><a href="tabs.html">Tabs</a></li> + <li><a href="windows.html">Windows</a></li> + </ul> + </li> + <li>Implementation + <ul> + <li><a href="a11y.html">Accessibility</a></li> + <li><a href="background_pages.html">Background Pages</a></li> + <li><a href="content_scripts.html">Content Scripts</a></li> + <li><a href="xhr.html">Cross-Origin XHR</a></li> + <li><a href="i18n.html">Internationalization</a></li> + <li><a href="messaging.html">Message Passing</a></li> + <li><a href="permissions.html">Optional Permissions</a></li> + <li><a href="npapi.html">NPAPI Plugins</a></li> + </ul> + </li> + <li>Finishing + <ul> + <li><a href="hosting.html">Hosting</a></li> + <li><a href="external_extensions.html">Other Deployment Options</a></li> + </ul> + </li> + </ul> + </li> + <li><h2><a href="apps.html">Packaged Apps</a></h2></li> + <li><h2><a href="tutorials.html">Tutorials</a></h2> + <ul> + <li><a href="tut_debugging.html">Debugging</a></li> + <li><a href="tut_analytics.html">Google Analytics</a></li> + <li><a href="tut_oauth.html">OAuth</a></li> + </ul> + </li> + <li><h2>Reference</h2> + <ul> + <li>Formats + <ul> + <li><a href="manifest.html">Manifest Files</a></li> + <li><a href="match_patterns.html">Match Patterns</a></li> + </ul> + </li> + <li><a href="permission_warnings.html">Permission Warnings</a></li> + <li><a href="api_index.html">chrome.* APIs</a></li> + <li><a href="api_other.html">Other APIs</a></li> + </ul> + </li> + <li><h2><a href="samples.html">Samples</a></h2></li> + <div class="line"> </div> + <li><h2>More</h2> + <ul> + <li><a href="http://code.google.com/chrome/webstore/docs/index.html">Chrome Web Store</a></li> + <li><a href="http://code.google.com/chrome/apps/docs/developers_guide.html">Hosted Apps</a></li> + <li><a href="themes.html">Themes</a></li> + </ul> + </li> + </ul> + </div> + <script> + initToggles(); + </script> + + <div class="g-unit" id="gc-pagecontent"> + <div id="pageTitle"> + <h1 class="page_title">Privacy</h1> + </div> + <!-- TABLE OF CONTENTS --> + <div id="toc"> + <h2>Contents</h2> + <ol> + <li> + <a href="#manifest">Manifest</a> + <ol> + <li style="display: none; "> + <a>h3Name</a> + </li> + </ol> + </li><li> + <a href="#usage">Usage</a> + <ol> + <li style="display: none; "> + <a>h3Name</a> + </li> + </ol> + </li><li> + <a href="#examples">Examples</a> + <ol> + <li style="display: none; "> + <a>h3Name</a> + </li> + </ol> + </li><li> + <a href="#manifest">Manifest</a> + <ol> + <li style="display: none; "> + <a>h3Name</a> + </li> + </ol> + </li><li> + <a href="#usage">Usage</a> + <ol> + <li style="display: none; "> + <a>h3Name</a> + </li> + </ol> + </li><li> + <a href="#examples">Examples</a> + <ol> + <li style="display: none; "> + <a>h3Name</a> + </li> + </ol> + </li> + <li> + <a href="#apiReference">API reference: chrome.privacy</a> + <ol> + <li> + <a href="#properties">Properties</a> + <ol> + <li> + <a href="#property-network">network</a> + </li><li> + <a href="#property-services">services</a> + </li><li> + <a href="#property-websites">websites</a> + </li> + </ol> + </li> + <li style="display: none; "> + <a>Methods</a> + <ol> + <li> + <a href="#method-anchor">methodName</a> + </li> + </ol> + </li> + <li style="display: none; "> + <a>Events</a> + <ol> + <li> + <a href="#event-anchor">eventName</a> + </li> + </ol> + </li> + <li style="display: none; "> + <a href="#types">Types</a> + <ol> + <li> + <a href="#id-anchor">id</a> + <ol> + <div></div> + <div></div> + </ol> + </li> + </ol> + </li> + </ol> + </li> + </ol> + </div> + <!-- /TABLE OF CONTENTS --> + + <!-- Standard content lead-in for experimental API pages --> + <p id="classSummary" style="display: none; "> + For information on how to use experimental APIs, see the <a href="experimental.html">chrome.experimental.* APIs</a> page. + </p> + + <!-- STATIC CONTENT PLACEHOLDER --> + <div id="static"><div id="pageData-name" class="pageData">Privacy</div> + +<!-- BEGIN AUTHORED CONTENT --> +<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 it's 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.extension.lastError === undefined) + console.log("Hooray, it worked!"); + else + console.log("Sadness!", chrome.extension.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> +<!-- END AUTHORED CONTENT --><div id="pageData-name" class="pageData">Privacy</div> + +<!-- BEGIN AUTHORED CONTENT --> +<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 it's 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.extension.lastError === undefined) + console.log("Hooray, it worked!"); + else + console.log("Sadness!", chrome.extension.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> +<!-- END AUTHORED CONTENT --> +</div> + + <!-- API PAGE --> + <div class="apiPage"> + <a name="apiReference"></a> + <h2>API reference: chrome.privacy</h2> + + <!-- PROPERTIES --> + <div class="apiGroup"> + <a name="properties"></a> + <h3 id="properties">Properties</h3> + + <div> + <a name="property-network"></a> + <h4>network</h4> + <div class="summary"> + <!-- Note: intentionally longer 80 columns --> + <span>chrome.privacy.</span><span>network</span> + </div> + <div> + <dt> + <var>network</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span style="display: none; "> + <a> Type</a> + </span> + <span> + <span style="display: none; "> + array of <span><span></span></span> + </span> + <span>object</span> + <span style="display: none; "></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>Settings that influence Chrome's handling of network connections in general.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd> + <dl> + <div> + <div> + <dt> + <var>networkPredictionEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome attempts to speed up your web browsing experience by pre-resolving DNS entries, prerendering sites (<code><link rel='prefetch' ...></code>), and preemptively opening TCP and SSL connections to servers. This preference's value is a boolean, defaulting to <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <a name="property-services"></a> + <h4>services</h4> + <div class="summary"> + <!-- Note: intentionally longer 80 columns --> + <span>chrome.privacy.</span><span>services</span> + </div> + <div> + <dt> + <var>services</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span style="display: none; "> + <a> Type</a> + </span> + <span> + <span style="display: none; "> + array of <span><span></span></span> + </span> + <span>object</span> + <span style="display: none; "></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>Settings that enable or disable features that require third-party network services provided by Google and your default search provider.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd> + <dl> + <div> + <div> + <dt> + <var>alternateErrorPagesEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome uses a web service to help resolve navigation errors. This preference's value is a boolean, defaulting to <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>autofillEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome offers to automatically fill in forms. This preference's value is a boolean, defaulting to <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>instantEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome automatically performs and displays search requests for text you type into the Omnibox as you type it. This preference's value is a boolean, defaulting to <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>safeBrowsingEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome does its best to protect you from phishing and malware. This preference's value is a boolean, defaulting to <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>searchSuggestEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome sends the text you type into the Omnibox to your default search engine, which provides predictions of websites and searches that are likely completions of what you've typed so far. This preference's value is a boolean, defaulting to <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>translationServiceEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome offers to translate pages that aren't in a language you read. This preference's value is a boolean, defaulting to <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <a name="property-websites"></a> + <h4>websites</h4> + <div class="summary"> + <!-- Note: intentionally longer 80 columns --> + <span>chrome.privacy.</span><span>websites</span> + </div> + <div> + <dt> + <var>websites</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span style="display: none; "> + <a> Type</a> + </span> + <span> + <span style="display: none; "> + array of <span><span></span></span> + </span> + <span>object</span> + <span style="display: none; "></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>Settings that determine what information Chrome sends when requesting websites.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd> + <dl> + <div> + <div> + <dt> + <var>thirdPartyCookiesAllowed</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If disabled, Chrome blocks third-party sites from setting cookies. The value of this preference is of type boolean, and the default value is <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>hyperlinkAuditingEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome sends auditing pings when requested by a website (<code><a ping></code>). The value of this preference is of type boolean, and the default value is <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div><div> + <div> + <dt> + <var>referrersEnabled</var> + <em> + + <!-- TYPE --> + <div style="display:inline"> + ( + <span class="optional" style="display: none; ">optional</span> + <span class="enum" style="display: none; ">enumerated</span> + <span id="typeTemplate"> + <span> + <a href="types.html#type-ChromeSetting">ChromeSetting</a> + </span> + <span style="display: none; "> + <span> + array of <span><span></span></span> + </span> + <span>paramType</span> + <span></span> + </span> + </span> + ) + </div> + + </em> + </dt> + <dd class="todo" style="display: none; "> + Undocumented. + </dd> + <dd>If enabled, Chrome sends <code>referer</code> headers with your requests. Yes, the name of this preference doesn't match the misspelled header. No, we're not going to change it. The value of this preference is of type boolean, and the default value is <code>true</code>.</dd> + <dd style="display: none; "> + This parameter was added in version + <b><span></span></b>. + You must omit this parameter in earlier versions, + and you may omit it in any version. If you require this + parameter, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </dd> + + <!-- OBJECT PROPERTIES --> + <dd style="display: none; "> + <dl> + <div> + <div> + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div> + </dl> + </dd> + + <!-- OBJECT METHODS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- OBJECT EVENT FIELDS --> + <dd style="display: none; "> + <div></div> + </dd> + + <!-- FUNCTION PARAMETERS --> + <dd style="display: none; "> + <div></div> + </dd> + + </div> + </div> + + </div> <!-- /apiGroup --> + + <!-- METHODS --> + <div id="methodsTemplate" class="apiGroup" style="display: none; "> + <a></a> + <h3>Methods</h3> + + <!-- iterates over all functions --> + <div class="apiItem"> + <a></a> <!-- method-anchor --> + <h4>method name</h4> + + <div class="summary"><span>void</span> + <!-- Note: intentionally longer 80 columns --> + <span>chrome.module.methodName</span>(<span><span>, </span><span></span> + <var><span></span></var></span>)</div> + + <div class="description"> + <p class="todo">Undocumented.</p> + <p> + A description from the json schema def of the function goes here. + </p> + + <!-- PARAMETERS --> + <h4>Parameters</h4> + <dl> + <div> + <div> + </div> + </div> + </dl> + + <!-- RETURNS --> + <h4>Returns</h4> + <dl> + <div> + <div> + </div> + </div> + </dl> + + <!-- CALLBACK --> + <div> + <div> + <h4>Callback function</h4> + <p> + The callback <em>parameter</em> should specify a function + that looks like this: + </p> + <p> + If you specify the <em>callback</em> parameter, it should + specify a function that looks like this: + </p> + + <!-- Note: intentionally longer 80 columns --> + <pre>function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span>;</pre> + <dl> + <div> + <div> + </div> + </div> + </dl> + </div> + </div> + + <!-- MIN_VERSION --> + <p> + This function was added in version <b><span></span></b>. + If you require this function, the manifest key + <a href="manifest.html#minimum_chrome_version">minimum_chrome_version</a> + can ensure that your extension won't be run in an earlier browser version. + </p> + </div> <!-- /description --> + + </div> <!-- /apiItem --> + + </div> <!-- /apiGroup --> + + <!-- EVENTS --> + <div id="eventsTemplate" class="apiGroup" style="display: none; "> + <a></a> + <h3>Events</h3> + <!-- iterates over all events --> + <div class="apiItem"> + <a></a> + <h4>event name</h4> + + <div class="summary"> + <!-- Note: intentionally longer 80 columns --> + <span class="subdued">chrome.bookmarks</span><span>onEvent</span><span class="subdued">.addListener</span>(function(<span>Type param1, Type param2</span>) <span class="subdued">{...}</span><span>, Type opt_param1, Type opt_param2</span>); + </div> + + <div class="description"> + <p class="todo">Undocumented.</p> + <p> + A description from the json schema def of the event goes here. + </p> + + <!-- LISTENER PARAMETERS --> + <div> + <h4>Listener parameters</h4> + <dl> + <div> + <div> + </div> + </div> + </dl> + </div> + + <!-- EXTRA PARAMETERS --> + <div> + <h4>Extra parameters to addListener</h4> + <dl> + <div> + <div> + </div> + </div> + </dl> + </div> + + <!-- LISTENER RETURN VALUE --> + <h4>Listener returns</h4> + <dl> + <div> + <div> + </div> + </div> + </dl> + + </div> <!-- /description --> + </div> <!-- /apiItem --> + + </div> <!-- /apiGroup --> + + <!-- TYPES --> + <div class="apiGroup" style="display: none; "> + <a name="types"></a> + <h3 id="types">Types</h3> + + <!-- iterates over all types --> + <div class="apiItem"> + <a></a> + <h4>type name</h4> + + <div> + </div> + + </div> <!-- /apiItem --> + + </div> <!-- /apiGroup --> + + </div> <!-- /apiPage --> + </div> <!-- /gc-pagecontent --> + </div> <!-- /g-section --> + </div> <!-- /codesiteContent --> + <div id="gc-footer" --=""> + <div class="text"> + <p> + Except as otherwise <a href="http://code.google.com/policies.html#restrictions">noted</a>, + the content of this page is licensed under the <a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons + Attribution 3.0 License</a>, and code samples are licensed under the + <a rel="license" href="http://code.google.com/google_bsd_license.html">BSD License</a>. + </p> + <p> + ©2011 Google + </p> + +<!-- begin analytics --> +<script src="https://www.google-analytics.com/urchin.js" type="text/javascript"></script> +<script src="https://www.google-analytics.com/ga.js" type="text/javascript"></script> + +<script type="text/javascript"> + // chrome doc tracking + try { + var engdocs = _gat._getTracker("YT-10763712-2"); + engdocs._trackPageview(); + } catch(err) {} + + // code.google.com site-wide tracking + try { + _uacct="UA-18071-1"; + _uanchor=1; + _uff=0; + urchinTracker(); + } + catch(e) {/* urchinTracker not available. */} +</script> +<!-- end analytics --> + </div> + </div> <!-- /gc-footer --> + </div> <!-- /gc-container --> +</body></html> diff --git a/chrome/common/extensions/docs/samples.html b/chrome/common/extensions/docs/samples.html index d2f6843..901f3c7c 100644 --- a/chrome/common/extensions/docs/samples.html +++ b/chrome/common/extensions/docs/samples.html @@ -353,8 +353,8 @@ "9a6e4ec46997fb92b324974afa08a3d007e2537f": "ANIMATED PAGE ACTION THIS EXTENSION ADDS AN ANIMATED BROWSER ACTION TO THE TOOLBAR. BACKGROUND_PAGE PAGE_ACTION TABS CHROME.PAGEACTION.HIDE CHROME.PAGEACTION.ONCLICKED CHROME.PAGEACTION.SETICON CHROME.PAGEACTION.SETTITLE CHROME.PAGEACTION.SHOW CHROME.TABS.GET CHROME.TABS.GETSELECTED CHROME.TABS.ONSELECTIONCHANGED", "a1f7cf79dd555b04fa8d603247a040e644996293": "APP LAUNCHER BROWSER_ACTION MANAGEMENT CHROME.EXTENSION.GETURL CHROME.MANAGEMENT.GET CHROME.MANAGEMENT.GETALL CHROME.MANAGEMENT.LAUNCHAPP CHROME.TABS.CREATE", "9747e3d6a3eab39bc7c17f11a80573c62d44c7e5": "BLANK NEW TAB PAGE CHROME_URL_OVERRIDES", - "0bf0930a32829dfb77170535ecb27adc2de3998a": "BLOCK/ALLOW REFERRER API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION EXPERIMENTAL PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", - "7da105f28e200d42510aff3591dfa5aeb0b82605": "BLOCK/ALLOW THIRD-PARTY COOKIES API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION EXPERIMENTAL PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", + "0bf0930a32829dfb77170535ecb27adc2de3998a": "BLOCK/ALLOW REFERRER API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", + "7da105f28e200d42510aff3591dfa5aeb0b82605": "BLOCK/ALLOW THIRD-PARTY COOKIES API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", "9004d1a1b975859d07bdff94ea0a4baa106c4fd1": "BROKEN LINKS EXTENDS THE DEVELOPER TOOLS, ADDING AN AUDIT CATEGORY THAT FINDS BROKEN LINKS ON THE INSPECTED PAGE. BACKGROUND_PAGE DEVTOOLS_PAGE EXPERIMENTAL TABS CHROME.EXPERIMENTAL.DEVTOOLS.AUDITS.ADDCATEGORY CHROME.EXTENSION.ONREQUEST CHROME.EXTENSION.SENDREQUEST CHROME.TABS.EXECUTESCRIPT CHROME.TABS.SENDREQUEST", "7f4d3fac7ae1ad4d514a15cd0b2c48c57a58c55e": "CATBLOCK I CANT HAS CHEEZBURGER! BACKGROUND_PAGE WEBREQUEST WEBREQUESTBLOCKING CHROME.WEBREQUEST.ONBEFOREREQUEST", "924f75a201bb0ec8d6c0b1c9c88c679ea211c93d": "CHROME QUERY EXTENDS THE DEVELOPER TOOLS, ADDING A SIDEBAR THAT DISPLAYS THE JQUERY DATA ASSOCIATED WITH THE SELECTED DOM ELEMENT. DEVTOOLS_PAGE", @@ -464,6 +464,8 @@ </span><span> <a href="javascript:void(0);" onclick="setFilter('chrome.permissions', this)">chrome.permissions</a><span>, </span> </span><span> + <a href="javascript:void(0);" onclick="setFilter('chrome.privacy', this)">chrome.privacy</a><span>, </span> + </span><span> <a href="javascript:void(0);" onclick="setFilter('chrome.proxy', this)">chrome.proxy</a><span>, </span> </span><span> <a href="javascript:void(0);" onclick="setFilter('chrome.storage', this)">chrome.storage</a><span>, </span> @@ -820,10 +822,7 @@ </h2> <p class="metadata features">Uses <span> - <strong>browser_action</strong><span>, </span> - <span style="display: none; "> and</span> - </span><span> - <strong>experimental</strong><span style="display: none; ">, </span> + <strong>browser_action</strong><span style="display: none; ">, </span> <span> and</span> </span><span> <strong>privacy</strong><span style="display: none; ">, </span> @@ -867,10 +866,7 @@ </h2> <p class="metadata features">Uses <span> - <strong>browser_action</strong><span>, </span> - <span style="display: none; "> and</span> - </span><span> - <strong>experimental</strong><span style="display: none; ">, </span> + <strong>browser_action</strong><span style="display: none; ">, </span> <span> and</span> </span><span> <strong>privacy</strong><span style="display: none; ">, </span> diff --git a/chrome/common/extensions/docs/samples.json b/chrome/common/extensions/docs/samples.json index c2e77c8..16aa865 100644 --- a/chrome/common/extensions/docs/samples.json +++ b/chrome/common/extensions/docs/samples.json @@ -410,7 +410,6 @@ "description": "Sample extension which demonstrates how to access a preference.", "features": [ "browser_action", - "experimental", "privacy" ], "icon": null, @@ -419,14 +418,14 @@ "packaged_app": false, "path": "examples\/api\/preferences\/enableReferrer\/", "protocols": [], - "search_string": "BLOCK\/ALLOW REFERRER API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION EXPERIMENTAL PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", + "search_string": "BLOCK\/ALLOW REFERRER API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", "source_files": [ "manifest.json", "popup.css", "popup.html", "popup.js" ], - "source_hash": "51bbc12404e8998ef817e211806e734f04e138ad", + "source_hash": "463b9acbbe50a9c6a62e7cd6546087dc06df1b4f", "zip_path": "examples\/api\/preferences\/enableReferrer.zip" }, { @@ -437,7 +436,6 @@ "description": "Sample extension which demonstrates how to access a preference.", "features": [ "browser_action", - "experimental", "privacy" ], "icon": null, @@ -446,14 +444,14 @@ "packaged_app": false, "path": "examples\/api\/preferences\/allowThirdPartyCookies\/", "protocols": [], - "search_string": "BLOCK\/ALLOW THIRD-PARTY COOKIES API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION EXPERIMENTAL PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", + "search_string": "BLOCK\/ALLOW THIRD-PARTY COOKIES API EXAMPLE EXTENSION SAMPLE EXTENSION WHICH DEMONSTRATES HOW TO ACCESS A PREFERENCE. BROWSER_ACTION PRIVACY CHROME.EXTENSION.ISALLOWEDINCOGNITOACCESS", "source_files": [ "manifest.json", "popup.css", "popup.html", "popup.js" ], - "source_hash": "10d84072f653cfafc7796d5600d2f076a2398a4f", + "source_hash": "b9f3b8723ecc125ddf47f49987bfcd089591e0d2", "zip_path": "examples\/api\/preferences\/allowThirdPartyCookies.zip" }, { diff --git a/chrome/common/extensions/docs/static/experimental.privacy.html b/chrome/common/extensions/docs/static/experimental.privacy.html new file mode 100644 index 0000000..a2ea8d6 --- /dev/null +++ b/chrome/common/extensions/docs/static/experimental.privacy.html @@ -0,0 +1,10 @@ +<div id="pageData-name" class="pageData">experimental.privacy</div> + +<p> +The <code>Privacy</code> API is no longer experimental; +it's supported! You can read all about it at its new home: +</p> + +<blockquote> +<a href="privacy.html">chrome.privacy</a> +</blockquote> diff --git a/chrome/common/extensions/docs/static/manifest.html b/chrome/common/extensions/docs/static/manifest.html index 8d7eef7..d05cdaa 100644 --- a/chrome/common/extensions/docs/static/manifest.html +++ b/chrome/common/extensions/docs/static/manifest.html @@ -566,6 +566,11 @@ table. <a href="notifications.html">Desktop Notifications</a>.</td> </tr> <tr> + <td> "privacy" </td> + <td> Required if the extension uses the + <a href="privacy.html">chrome.privacy</a> module. </td> +</tr> +<tr> <td> "proxy" </td> <td> Required if the extension uses the <a href="proxy.html">chrome.proxy</a> module. </td> diff --git a/chrome/common/extensions/docs/static/permission_warnings.html b/chrome/common/extensions/docs/static/permission_warnings.html index 34c4b1e..e88f295 100644 --- a/chrome/common/extensions/docs/static/permission_warnings.html +++ b/chrome/common/extensions/docs/static/permission_warnings.html @@ -355,6 +355,20 @@ that trigger them. </ul> </td> </tr> + +<tr> + <td style="font-weight:bold"> + <!-- IDS_EXTENSION_PROMPT_WARNING_PRIVACY--> + Privacy-related settings + </td> + <td> + "privacy" permission + </td> + <td> + The "privacy" permission is required by the + <a href="privacy.html"><code>chrome.privacy</code></a> module. + </td> +</tr> </table> </p> diff --git a/chrome/common/extensions/docs/static/privacy.html b/chrome/common/extensions/docs/static/privacy.html new file mode 100644 index 0000000..bb8f852 --- /dev/null +++ b/chrome/common/extensions/docs/static/privacy.html @@ -0,0 +1,213 @@ +<div id="pageData-name" class="pageData">Privacy</div> + +<!-- BEGIN AUTHORED CONTENT --> +<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 it's 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.extension.lastError === undefined) + console.log("Hooray, it worked!"); + else + console.log("Sadness!", chrome.extension.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> +<!-- END AUTHORED CONTENT --><div id="pageData-name" class="pageData">Privacy</div> + +<!-- BEGIN AUTHORED CONTENT --> +<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 it's 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.extension.lastError === undefined) + console.log("Hooray, it worked!"); + else + console.log("Sadness!", chrome.extension.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> +<!-- END AUTHORED CONTENT --> diff --git a/chrome/common/extensions/extension_permission_set.cc b/chrome/common/extensions/extension_permission_set.cc index 0303999..7d68b9a 100644 --- a/chrome/common/extensions/extension_permission_set.cc +++ b/chrome/common/extensions/extension_permission_set.cc @@ -255,6 +255,9 @@ void ExtensionAPIPermission::RegisterAllPermissions( IDS_EXTENSION_PROMPT_WARNING_ALL_PAGES_CONTENT, ExtensionPermissionMessage::kAllPageContent, kFlagNone, kTypeDefault); info->RegisterPermission( + kPrivacy, "privacy", IDS_EXTENSION_PROMPT_WARNING_PRIVACY, + ExtensionPermissionMessage::kPrivacy, kFlagNone, kTypeDefault); + info->RegisterPermission( kStorage, "storage", 0, ExtensionPermissionMessage::kNone, kFlagNone, kTypeDefault); info->RegisterPermission( diff --git a/chrome/common/extensions/extension_permission_set.h b/chrome/common/extensions/extension_permission_set.h index 62fe9be..f287bb7 100644 --- a/chrome/common/extensions/extension_permission_set.h +++ b/chrome/common/extensions/extension_permission_set.h @@ -48,6 +48,7 @@ class ExtensionPermissionMessage { kTtsEngine, kContentSettings, kAllPageContent, + kPrivacy, kEnumBoundary }; @@ -118,6 +119,7 @@ class ExtensionAPIPermission { kNotification, kPageCapture, kPlugin, + kPrivacy, kProxy, kSocket, kStorage, |