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

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

Issue 10750017: Extensions Docs Server: Intro data source (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nits 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 <!-- BEGIN AUTHORED CONTENT -->
2 <p id="classSummary">
3 Use the <code>chrome.browsingData</code> module to remove browsing data from a
4 user's local profile.
5 </p>
6 <h2 id="manifest">Manifest</h2>
7 <p>
8 You must declare the "browsingData" permission in the
9 <a href="manifest.html">extension manifest</a> to use this API.
10 </p>
11 <pre>{
12 "name": "My extension",
13 ...
14 <b>"permissions": [
15 "browsingData",
16 ]</b>,
17 ...
18 }</pre>
19 <h2 id="usage">Usage</h2>
20 <p>
21 The simplest use-case for this API is a a time-based mechanism for clearing a
22 user's browsing data. Your code should provide a timestamp which indicates the
23 historical date after which the user's browsing data should be removed. This
24 timestamp is formatted as the number of milliseconds since the Unix epoch
25 (which can be retrieved from a JavaScript <code>Date</code> object via the
26 <code>getTime</code> method).
27 </p>
28 <p>
29 For example, to clear all of a user's browsing data from the last week, you
30 might write code as follows:
31 </p>
32 <pre>var callback = function () {
33 // Do something clever here once data has been removed.
34 };
35 var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
36 var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
37 chrome.browsingData.remove({
38 "since": oneWeekAgo
39 }, {
40 "appcache": true,
41 "cache": true,
42 "cookies": true,
43 "downloads": true,
44 "fileSystems": true,
45 "formData": true,
46 "history": true,
47 "indexedDB": true,
48 "localStorage": true,
49 "pluginData": true,
50 "passwords": true,
51 "webSQL": true
52 }, callback);</pre>
53 <p>
54 The <code>chrome.browsingData.remove</code> method allows you to remove
55 various types of browsing data with a single call, and will be much faster
56 than calling multiple more specific methods. If, however, you only want to
57 clear one specific type of browsing data (cookies, for example), the more
58 granular methods offer a readable alternative to a call filled with JSON.
59 </p>
60 <pre>var callback = function () {
61 // Do something clever here once data has been removed.
62 };
63 var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
64 var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
65 chrome.browsingData.removeCookies({
66 "since": oneWeekAgo
67 }, callback);</pre>
68 <p class="caution">
69 <strong>Important</strong>: Removing browsing data involves a good deal of
70 heavy lifting in the background, and can take <em>tens of seconds</em> to
71 complete, depending on a user's profile. You should use the callback mechanism
72 to keep your users up to date on the removal's status.
73 </p>
74 <h2 id="origin_types">Origin Types</h2>
75 <p>
76 Adding an <code>originType</code> property to the API's options object allows
77 you to specify which types of origins ought to be effected. Currently, origins
78 are divided into three categories:
79 </p>
80 <ul>
81 <li>
82 <code>unprotectedWeb</code> covers the general case of websites that users
83 visit without taking any special action. If you don't specify an
84 <code>originType</code>, the API defaults to removing data from unprotected
85 web origins.
86 </li>
87 <li>
88 <code>protectedWeb</code> covers those web origins that have been installed
89 as hosted applications. Installing <a href="https://chrome.google.com/websto re/detail/aknpkdffaafgjchaibgeefbgmgeghloj">
90 Angry Birds</a>, for example, protects the origin
91 <code>http://chrome.angrybirds.com</code>, and removes it from the
92 <code>unprotectedWeb</code> category. Please do be careful when triggering
93 deletion of data for these origins: make sure your users know what they're
94 getting, as this will irrevocably remove their game data. No one wants to
95 knock tiny pig houses over more often than necessary.
96 </li>
97 <li>
98 <code>extension</code> covers origins under the
99 <code>chrome-extensions:</code> scheme. Removing extension data is, again,
100 something you should be very careful about.
101 </li>
102 </ul>
103 <p>
104 We could adjust the previous example to remove only data from protected
105 websites as follows:
106 </p>
107 <pre>var callback = function () {
108 // Do something clever here once data has been removed.
109 };
110 var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
111 var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
112 chrome.browsingData.remove({
113 "since": oneWeekAgo,
114 <b>"originType": {
115 "protectedWeb": true
116 }</b>
117 }, {
118 "appcache": true,
119 "cache": true,
120 "cookies": true,
121 "downloads": true,
122 "fileSystems": true,
123 "formData": true,
124 "history": true,
125 "indexedDB": true,
126 "localStorage": true,
127 "pluginData": true,
128 "passwords": true,
129 "webSQL": true
130 }, callback);</pre>
131 <p class="caution">
132 <strong>Seriously</strong>: Be careful with <code>protectedWeb</code> and
133 <code>extension</code>. These are destructive operations that your users
134 will write angry email about if they're not well-informed about what to
135 expect when your extension removes data on their behalf.
136 </p>
137 <h2 id="samples">Examples</h2>
138 <p>
139 Samples for the <code>browsingData</code> API are available
140 <a href="http://code.google.com/chrome/extensions/trunk/samples.html#chrome.br owsingData">on the samples page</a>.
141 </p>
142 <!-- END AUTHORED CONTENT -->
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698