Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1546)

Unified Diff: chrome/common/extensions/docs/server2/templates/private/browsingData_intro.html

Issue 10700118: Extensions Docs Server: First doc conversions (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added all APIs Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/docs/server2/templates/private/browsingData_intro.html
diff --git a/chrome/common/extensions/docs/server2/templates/private/browsingData_intro.html b/chrome/common/extensions/docs/server2/templates/private/browsingData_intro.html
new file mode 100644
index 0000000000000000000000000000000000000000..df9db4c230b3a854a0e9940dd447b6da5fd4506f
--- /dev/null
+++ b/chrome/common/extensions/docs/server2/templates/private/browsingData_intro.html
@@ -0,0 +1,142 @@
+<!-- BEGIN AUTHORED CONTENT -->
+<p id="classSummary">
+ Use the <code>chrome.browsingData</code> module to remove browsing data from a
+ user's local profile.
+</p>
+<h2 id="manifest">Manifest</h2>
+<p>
+ You must declare the "browsingData" permission in the
+ <a href="manifest.html">extension manifest</a> to use this API.
+</p>
+<pre>{
+ "name": "My extension",
+ ...
+ <b>"permissions": [
+ "browsingData",
+ ]</b>,
+ ...
+}</pre>
+<h2 id="usage">Usage</h2>
+<p>
+ The simplest use-case for this API is a a time-based mechanism for clearing a
+ user's browsing data. Your code should provide a timestamp which indicates the
+ historical date after which the user's browsing data should be removed. This
+ timestamp is formatted as the number of milliseconds since the Unix epoch
+ (which can be retrieved from a JavaScript <code>Date</code> object via the
+ <code>getTime</code> method).
+</p>
+<p>
+ For example, to clear all of a user's browsing data from the last week, you
+ might write code as follows:
+</p>
+<pre>var callback = function () {
+ // Do something clever here once data has been removed.
+};
+var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
+var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
+chrome.browsingData.remove({
+ "since": oneWeekAgo
+}, {
+ "appcache": true,
+ "cache": true,
+ "cookies": true,
+ "downloads": true,
+ "fileSystems": true,
+ "formData": true,
+ "history": true,
+ "indexedDB": true,
+ "localStorage": true,
+ "pluginData": true,
+ "passwords": true,
+ "webSQL": true
+}, callback);</pre>
+<p>
+ The <code>chrome.browsingData.remove</code> method allows you to remove
+ various types of browsing data with a single call, and will be much faster
+ than calling multiple more specific methods. If, however, you only want to
+ clear one specific type of browsing data (cookies, for example), the more
+ granular methods offer a readable alternative to a call filled with JSON.
+</p>
+<pre>var callback = function () {
+ // Do something clever here once data has been removed.
+};
+var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
+var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
+chrome.browsingData.removeCookies({
+ "since": oneWeekAgo
+}, callback);</pre>
+<p class="caution">
+ <strong>Important</strong>: Removing browsing data involves a good deal of
+ heavy lifting in the background, and can take <em>tens of seconds</em> to
+ complete, depending on a user's profile. You should use the callback mechanism
+ to keep your users up to date on the removal's status.
+</p>
+<h2 id="origin_types">Origin Types</h2>
+<p>
+ Adding an <code>originType</code> property to the API's options object allows
+ you to specify which types of origins ought to be effected. Currently, origins
+ are divided into three categories:
+</p>
+<ul>
+ <li>
+ <code>unprotectedWeb</code> covers the general case of websites that users
+ visit without taking any special action. If you don't specify an
+ <code>originType</code>, the API defaults to removing data from unprotected
+ web origins.
+ </li>
+ <li>
+ <code>protectedWeb</code> covers those web origins that have been installed
+ as hosted applications. Installing <a href="https://chrome.google.com/webstore/detail/aknpkdffaafgjchaibgeefbgmgeghloj">
+ Angry Birds</a>, for example, protects the origin
+ <code>http://chrome.angrybirds.com</code>, and removes it from the
+ <code>unprotectedWeb</code> category. Please do be careful when triggering
+ deletion of data for these origins: make sure your users know what they're
+ getting, as this will irrevocably remove their game data. No one wants to
+ knock tiny pig houses over more often than necessary.
+ </li>
+ <li>
+ <code>extension</code> covers origins under the
+ <code>chrome-extensions:</code> scheme. Removing extension data is, again,
+ something you should be very careful about.
+ </li>
+</ul>
+<p>
+ We could adjust the previous example to remove only data from protected
+ websites as follows:
+</p>
+<pre>var callback = function () {
+ // Do something clever here once data has been removed.
+};
+var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
+var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
+chrome.browsingData.remove({
+ "since": oneWeekAgo,
+ <b>"originType": {
+ "protectedWeb": true
+ }</b>
+}, {
+ "appcache": true,
+ "cache": true,
+ "cookies": true,
+ "downloads": true,
+ "fileSystems": true,
+ "formData": true,
+ "history": true,
+ "indexedDB": true,
+ "localStorage": true,
+ "pluginData": true,
+ "passwords": true,
+ "webSQL": true
+}, callback);</pre>
+<p class="caution">
+ <strong>Seriously</strong>: Be careful with <code>protectedWeb</code> and
+ <code>extension</code>. These are destructive operations that your users
+ will write angry email about if they're not well-informed about what to
+ expect when your extension removes data on their behalf.
+</p>
+<h2 id="samples">Examples</h2>
+<p>
+ Samples for the <code>browsingData</code> API are available
+ <a href="http://code.google.com/chrome/extensions/trunk/samples.html#chrome.browsingData">on the samples page</a>.
+</p>
+<!-- END AUTHORED CONTENT -->

Powered by Google App Engine
This is Rietveld 408576698