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

Side by Side Diff: chrome/browser/extensions/api/browsing_data/browsing_data_api.cc

Issue 2733393003: Split browsing data masks between content and embedder (Closed)
Patch Set: Extensions can't match extensions if there are no extensions. Created 3 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Defines the Chrome Extensions BrowsingData API functions, which entail 5 // Defines the Chrome Extensions BrowsingData API functions, which entail
6 // clearing browsing data, and clearing the browser's cache (which, let's be 6 // clearing browsing data, and clearing the browser's cache (which, let's be
7 // honest, are the same thing), as specified in the extension API JSON. 7 // honest, are the same thing), as specified in the extension API JSON.
8 8
9 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h" 9 #include "chrome/browser/extensions/api/browsing_data/browsing_data_api.h"
10 10
11 #include <string> 11 #include <string>
12 #include <utility> 12 #include <utility>
13 13
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/browser/browsing_data/browsing_data_helper.h" 15 #include "chrome/browser/browsing_data/browsing_data_helper.h"
16 #include "chrome/browser/browsing_data/browsing_data_remover.h" 16 #include "chrome/browser/browsing_data/browsing_data_remover.h"
17 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" 17 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
18 #include "chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.h"
18 #include "chrome/browser/plugins/plugin_data_remover_helper.h" 19 #include "chrome/browser/plugins/plugin_data_remover_helper.h"
19 #include "chrome/browser/plugins/plugin_prefs.h" 20 #include "chrome/browser/plugins/plugin_prefs.h"
20 #include "chrome/browser/profiles/profile.h" 21 #include "chrome/browser/profiles/profile.h"
21 #include "chrome/browser/ui/browser.h" 22 #include "chrome/browser/ui/browser.h"
22 #include "chrome/common/pref_names.h" 23 #include "chrome/common/pref_names.h"
23 #include "components/browsing_data/core/browsing_data_utils.h" 24 #include "components/browsing_data/core/browsing_data_utils.h"
24 #include "components/browsing_data/core/pref_names.h" 25 #include "components/browsing_data/core/pref_names.h"
25 #include "content/public/browser/browser_thread.h" 26 #include "content/public/browser/browser_thread.h"
26 #include "extensions/common/error_utils.h" 27 #include "extensions/common/error_utils.h"
27 #include "extensions/common/extension.h" 28 #include "extensions/common/extension.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 // "history"). 65 // "history").
65 const char kBadDataTypeDetails[] = "Invalid value for data type '%s'."; 66 const char kBadDataTypeDetails[] = "Invalid value for data type '%s'.";
66 const char kDeleteProhibitedError[] = "Browsing history and downloads are not " 67 const char kDeleteProhibitedError[] = "Browsing history and downloads are not "
67 "permitted to be removed."; 68 "permitted to be removed.";
68 69
69 } // namespace extension_browsing_data_api_constants 70 } // namespace extension_browsing_data_api_constants
70 71
71 namespace { 72 namespace {
72 int MaskForKey(const char* key) { 73 int MaskForKey(const char* key) {
73 if (strcmp(key, extension_browsing_data_api_constants::kAppCacheKey) == 0) 74 if (strcmp(key, extension_browsing_data_api_constants::kAppCacheKey) == 0)
74 return BrowsingDataRemover::REMOVE_APPCACHE; 75 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_APP_CACHE;
75 if (strcmp(key, extension_browsing_data_api_constants::kCacheKey) == 0) 76 if (strcmp(key, extension_browsing_data_api_constants::kCacheKey) == 0)
76 return BrowsingDataRemover::REMOVE_CACHE; 77 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CACHE;
77 if (strcmp(key, extension_browsing_data_api_constants::kCookiesKey) == 0) { 78 if (strcmp(key, extension_browsing_data_api_constants::kCookiesKey) == 0) {
78 return BrowsingDataRemover::REMOVE_COOKIES; 79 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_COOKIES;
79 } 80 }
80 if (strcmp(key, extension_browsing_data_api_constants::kDownloadsKey) == 0) 81 if (strcmp(key, extension_browsing_data_api_constants::kDownloadsKey) == 0)
81 return BrowsingDataRemover::REMOVE_DOWNLOADS; 82 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DOWNLOADS;
82 if (strcmp(key, extension_browsing_data_api_constants::kFileSystemsKey) == 0) 83 if (strcmp(key, extension_browsing_data_api_constants::kFileSystemsKey) == 0)
83 return BrowsingDataRemover::REMOVE_FILE_SYSTEMS; 84 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FILE_SYSTEMS;
84 if (strcmp(key, extension_browsing_data_api_constants::kFormDataKey) == 0) 85 if (strcmp(key, extension_browsing_data_api_constants::kFormDataKey) == 0)
85 return BrowsingDataRemover::REMOVE_FORM_DATA; 86 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA;
86 if (strcmp(key, extension_browsing_data_api_constants::kHistoryKey) == 0) 87 if (strcmp(key, extension_browsing_data_api_constants::kHistoryKey) == 0)
87 return BrowsingDataRemover::REMOVE_HISTORY; 88 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY;
88 if (strcmp(key, extension_browsing_data_api_constants::kIndexedDBKey) == 0) 89 if (strcmp(key, extension_browsing_data_api_constants::kIndexedDBKey) == 0)
89 return BrowsingDataRemover::REMOVE_INDEXEDDB; 90 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_INDEXED_DB;
90 if (strcmp(key, extension_browsing_data_api_constants::kLocalStorageKey) == 0) 91 if (strcmp(key, extension_browsing_data_api_constants::kLocalStorageKey) == 0)
91 return BrowsingDataRemover::REMOVE_LOCAL_STORAGE; 92 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_LOCAL_STORAGE;
92 if (strcmp(key, 93 if (strcmp(key,
93 extension_browsing_data_api_constants::kChannelIDsKey) == 0) 94 extension_browsing_data_api_constants::kChannelIDsKey) == 0)
94 return BrowsingDataRemover::REMOVE_CHANNEL_IDS; 95 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CHANNEL_IDS;
95 if (strcmp(key, extension_browsing_data_api_constants::kPasswordsKey) == 0) 96 if (strcmp(key, extension_browsing_data_api_constants::kPasswordsKey) == 0)
96 return BrowsingDataRemover::REMOVE_PASSWORDS; 97 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS;
97 if (strcmp(key, extension_browsing_data_api_constants::kPluginDataKey) == 0) 98 if (strcmp(key, extension_browsing_data_api_constants::kPluginDataKey) == 0)
98 return BrowsingDataRemover::REMOVE_PLUGIN_DATA; 99 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA;
99 if (strcmp(key, extension_browsing_data_api_constants::kServiceWorkersKey) == 100 if (strcmp(key, extension_browsing_data_api_constants::kServiceWorkersKey) ==
100 0) 101 0)
101 return BrowsingDataRemover::REMOVE_SERVICE_WORKERS; 102 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SERVICE_WORKERS;
102 if (strcmp(key, extension_browsing_data_api_constants::kCacheStorageKey) == 0) 103 if (strcmp(key, extension_browsing_data_api_constants::kCacheStorageKey) == 0)
103 return BrowsingDataRemover::REMOVE_CACHE_STORAGE; 104 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CACHE_STORAGE;
104 if (strcmp(key, extension_browsing_data_api_constants::kWebSQLKey) == 0) 105 if (strcmp(key, extension_browsing_data_api_constants::kWebSQLKey) == 0)
105 return BrowsingDataRemover::REMOVE_WEBSQL; 106 return ChromeBrowsingDataRemoverDelegate::DATA_TYPE_WEB_SQL;
106 107
107 return 0; 108 return 0;
108 } 109 }
109 110
110 // Returns false if any of the selected data types are not allowed to be 111 // Returns false if any of the selected data types are not allowed to be
111 // deleted. 112 // deleted.
112 bool IsRemovalPermitted(int removal_mask, PrefService* prefs) { 113 bool IsRemovalPermitted(int removal_mask, PrefService* prefs) {
113 // Enterprise policy or user preference might prohibit deleting browser or 114 // Enterprise policy or user preference might prohibit deleting browser or
114 // download history. 115 // download history.
115 if ((removal_mask & BrowsingDataRemover::REMOVE_HISTORY) || 116 if ((removal_mask & ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY) ||
116 (removal_mask & BrowsingDataRemover::REMOVE_DOWNLOADS)) { 117 (removal_mask & ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DOWNLOADS)) {
117 return prefs->GetBoolean(prefs::kAllowDeletingBrowserHistory); 118 return prefs->GetBoolean(prefs::kAllowDeletingBrowserHistory);
118 } 119 }
119 return true; 120 return true;
120 } 121 }
121 122
122 } // namespace 123 } // namespace
123 124
124 ExtensionFunction::ResponseAction BrowsingDataSettingsFunction::Run() { 125 ExtensionFunction::ResponseAction BrowsingDataSettingsFunction::Run() {
125 prefs_ = Profile::FromBrowserContext(browser_context())->GetPrefs(); 126 prefs_ = Profile::FromBrowserContext(browser_context())->GetPrefs();
126 127
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 base::Time::FromDoubleT(ms_since_epoch / 1000.0); 272 base::Time::FromDoubleT(ms_since_epoch / 1000.0);
272 273
273 EXTENSION_FUNCTION_VALIDATE(GetRemovalMask(&removal_mask_)); 274 EXTENSION_FUNCTION_VALIDATE(GetRemovalMask(&removal_mask_));
274 275
275 // Check for prohibited data types. 276 // Check for prohibited data types.
276 if (!IsRemovalPermitted(removal_mask_, GetProfile()->GetPrefs())) { 277 if (!IsRemovalPermitted(removal_mask_, GetProfile()->GetPrefs())) {
277 error_ = extension_browsing_data_api_constants::kDeleteProhibitedError; 278 error_ = extension_browsing_data_api_constants::kDeleteProhibitedError;
278 return false; 279 return false;
279 } 280 }
280 281
281 if (removal_mask_ & BrowsingDataRemover::REMOVE_PLUGIN_DATA) { 282 if (removal_mask_ &
283 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA) {
282 // If we're being asked to remove plugin data, check whether it's actually 284 // If we're being asked to remove plugin data, check whether it's actually
283 // supported. 285 // supported.
284 BrowserThread::PostTask( 286 BrowserThread::PostTask(
285 BrowserThread::FILE, 287 BrowserThread::FILE,
286 FROM_HERE, 288 FROM_HERE,
287 base::Bind( 289 base::Bind(
288 &BrowsingDataRemoverFunction::CheckRemovingPluginDataSupported, 290 &BrowsingDataRemoverFunction::CheckRemovingPluginDataSupported,
289 this, 291 this,
290 PluginPrefs::GetForProfile(GetProfile()))); 292 PluginPrefs::GetForProfile(GetProfile())));
291 } else { 293 } else {
292 StartRemoving(); 294 StartRemoving();
293 } 295 }
294 296
295 // Will finish asynchronously. 297 // Will finish asynchronously.
296 return true; 298 return true;
297 } 299 }
298 300
299 BrowsingDataRemoverFunction::~BrowsingDataRemoverFunction() {} 301 BrowsingDataRemoverFunction::~BrowsingDataRemoverFunction() {}
300 302
301 void BrowsingDataRemoverFunction::CheckRemovingPluginDataSupported( 303 void BrowsingDataRemoverFunction::CheckRemovingPluginDataSupported(
302 scoped_refptr<PluginPrefs> plugin_prefs) { 304 scoped_refptr<PluginPrefs> plugin_prefs) {
303 if (!PluginDataRemoverHelper::IsSupported(plugin_prefs.get())) 305 if (!PluginDataRemoverHelper::IsSupported(plugin_prefs.get()))
304 removal_mask_ &= ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; 306 removal_mask_ &= ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA;
305 307
306 BrowserThread::PostTask( 308 BrowserThread::PostTask(
307 BrowserThread::UI, FROM_HERE, 309 BrowserThread::UI, FROM_HERE,
308 base::Bind(&BrowsingDataRemoverFunction::StartRemoving, this)); 310 base::Bind(&BrowsingDataRemoverFunction::StartRemoving, this));
309 } 311 }
310 312
311 void BrowsingDataRemoverFunction::StartRemoving() { 313 void BrowsingDataRemoverFunction::StartRemoving() {
312 BrowsingDataRemover* remover = 314 BrowsingDataRemover* remover =
313 BrowsingDataRemoverFactory::GetForBrowserContext(GetProfile()); 315 BrowsingDataRemoverFactory::GetForBrowserContext(GetProfile());
314 // Add a ref (Balanced in OnBrowsingDataRemoverDone) 316 // Add a ref (Balanced in OnBrowsingDataRemoverDone)
315 AddRef(); 317 AddRef();
316 318
317 // Create a BrowsingDataRemover, set the current object as an observer (so 319 // Create a BrowsingDataRemover, set the current object as an observer (so
318 // that we're notified after removal) and call remove() with the arguments 320 // that we're notified after removal) and call remove() with the arguments
319 // we've generated above. We can use a raw pointer here, as the browsing data 321 // we've generated above. We can use a raw pointer here, as the browsing data
320 // remover is responsible for deleting itself once data removal is complete. 322 // remover is responsible for deleting itself once data removal is complete.
321 observer_.Add(remover); 323 observer_.Add(remover);
322 remover->RemoveAndReply( 324 remover->RemoveAndReply(
323 remove_since_, base::Time::Max(), 325 remove_since_, base::Time::Max(),
324 removal_mask_, origin_type_mask_, this); 326 removal_mask_, origin_type_mask_, this);
325 } 327 }
326 328
327 bool BrowsingDataRemoverFunction::ParseOriginTypeMask( 329 bool BrowsingDataRemoverFunction::ParseOriginTypeMask(
328 const base::DictionaryValue& options, 330 const base::DictionaryValue& options,
329 int* origin_type_mask) { 331 int* origin_type_mask) {
330 // Parse the |options| dictionary to generate the origin set mask. Default to 332 // Parse the |options| dictionary to generate the origin set mask. Default to
331 // UNPROTECTED_WEB if the developer doesn't specify anything. 333 // UNPROTECTED_WEB if the developer doesn't specify anything.
332 *origin_type_mask = BrowsingDataHelper::UNPROTECTED_WEB; 334 *origin_type_mask =
335 ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_UNPROTECTED_WEB;
333 336
334 const base::DictionaryValue* d = NULL; 337 const base::DictionaryValue* d = NULL;
335 if (options.HasKey(extension_browsing_data_api_constants::kOriginTypesKey)) { 338 if (options.HasKey(extension_browsing_data_api_constants::kOriginTypesKey)) {
336 if (!options.GetDictionary( 339 if (!options.GetDictionary(
337 extension_browsing_data_api_constants::kOriginTypesKey, &d)) { 340 extension_browsing_data_api_constants::kOriginTypesKey, &d)) {
338 return false; 341 return false;
339 } 342 }
340 bool value; 343 bool value;
341 344
342 // The developer specified something! Reset to 0 and parse the dictionary. 345 // The developer specified something! Reset to 0 and parse the dictionary.
343 *origin_type_mask = 0; 346 *origin_type_mask = 0;
344 347
345 // Unprotected web. 348 // Unprotected web.
346 if (d->HasKey(extension_browsing_data_api_constants::kUnprotectedWebKey)) { 349 if (d->HasKey(extension_browsing_data_api_constants::kUnprotectedWebKey)) {
347 if (!d->GetBoolean( 350 if (!d->GetBoolean(
348 extension_browsing_data_api_constants::kUnprotectedWebKey, 351 extension_browsing_data_api_constants::kUnprotectedWebKey,
349 &value)) { 352 &value)) {
350 return false; 353 return false;
351 } 354 }
352 *origin_type_mask |= value ? BrowsingDataHelper::UNPROTECTED_WEB : 0; 355 *origin_type_mask |=
356 value ? ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_UNPROTECTED_WEB
357 : 0;
353 } 358 }
354 359
355 // Protected web. 360 // Protected web.
356 if (d->HasKey(extension_browsing_data_api_constants::kProtectedWebKey)) { 361 if (d->HasKey(extension_browsing_data_api_constants::kProtectedWebKey)) {
357 if (!d->GetBoolean( 362 if (!d->GetBoolean(
358 extension_browsing_data_api_constants::kProtectedWebKey, 363 extension_browsing_data_api_constants::kProtectedWebKey,
359 &value)) { 364 &value)) {
360 return false; 365 return false;
361 } 366 }
362 *origin_type_mask |= value ? BrowsingDataHelper::PROTECTED_WEB : 0; 367 *origin_type_mask |=
368 value ? ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_PROTECTED_WEB
369 : 0;
363 } 370 }
364 371
365 // Extensions. 372 // Extensions.
366 if (d->HasKey(extension_browsing_data_api_constants::kExtensionsKey)) { 373 if (d->HasKey(extension_browsing_data_api_constants::kExtensionsKey)) {
367 if (!d->GetBoolean(extension_browsing_data_api_constants::kExtensionsKey, 374 if (!d->GetBoolean(extension_browsing_data_api_constants::kExtensionsKey,
368 &value)) { 375 &value)) {
369 return false; 376 return false;
370 } 377 }
371 *origin_type_mask |= value ? BrowsingDataHelper::EXTENSION : 0; 378 *origin_type_mask |=
379 value ? ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION : 0;
372 } 380 }
373 } 381 }
374 382
375 return true; 383 return true;
376 } 384 }
377 385
378 // Parses the |dataToRemove| argument to generate the removal mask. 386 // Parses the |dataToRemove| argument to generate the removal mask.
379 // Returns false if parse was not successful, i.e. if 'dataToRemove' is not 387 // Returns false if parse was not successful, i.e. if 'dataToRemove' is not
380 // present or any data-type keys don't have supported (boolean) values. 388 // present or any data-type keys don't have supported (boolean) values.
381 bool BrowsingDataRemoveFunction::GetRemovalMask(int* removal_mask) { 389 bool BrowsingDataRemoveFunction::GetRemovalMask(int* removal_mask) {
382 base::DictionaryValue* data_to_remove; 390 base::DictionaryValue* data_to_remove;
383 if (!args_->GetDictionary(1, &data_to_remove)) 391 if (!args_->GetDictionary(1, &data_to_remove))
384 return false; 392 return false;
385 393
386 *removal_mask = 0; 394 *removal_mask = 0;
387 for (base::DictionaryValue::Iterator i(*data_to_remove); 395 for (base::DictionaryValue::Iterator i(*data_to_remove);
388 !i.IsAtEnd(); 396 !i.IsAtEnd();
389 i.Advance()) { 397 i.Advance()) {
390 bool selected = false; 398 bool selected = false;
391 if (!i.value().GetAsBoolean(&selected)) 399 if (!i.value().GetAsBoolean(&selected))
392 return false; 400 return false;
393 if (selected) 401 if (selected)
394 *removal_mask |= MaskForKey(i.key().c_str()); 402 *removal_mask |= MaskForKey(i.key().c_str());
395 } 403 }
396 404
397 return true; 405 return true;
398 } 406 }
399 407
400 bool BrowsingDataRemoveAppcacheFunction::GetRemovalMask(int* removal_mask) { 408 bool BrowsingDataRemoveAppcacheFunction::GetRemovalMask(int* removal_mask) {
401 *removal_mask = BrowsingDataRemover::REMOVE_APPCACHE; 409 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_APP_CACHE;
402 return true; 410 return true;
403 } 411 }
404 412
405 bool BrowsingDataRemoveCacheFunction::GetRemovalMask(int* removal_mask) { 413 bool BrowsingDataRemoveCacheFunction::GetRemovalMask(int* removal_mask) {
406 *removal_mask = BrowsingDataRemover::REMOVE_CACHE; 414 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CACHE;
407 return true; 415 return true;
408 } 416 }
409 417
410 bool BrowsingDataRemoveCookiesFunction::GetRemovalMask(int* removal_mask) { 418 bool BrowsingDataRemoveCookiesFunction::GetRemovalMask(int* removal_mask) {
411 *removal_mask = BrowsingDataRemover::REMOVE_COOKIES | 419 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_COOKIES |
412 BrowsingDataRemover::REMOVE_CHANNEL_IDS; 420 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CHANNEL_IDS;
413 return true; 421 return true;
414 } 422 }
415 423
416 bool BrowsingDataRemoveDownloadsFunction::GetRemovalMask(int* removal_mask) { 424 bool BrowsingDataRemoveDownloadsFunction::GetRemovalMask(int* removal_mask) {
417 *removal_mask = BrowsingDataRemover::REMOVE_DOWNLOADS; 425 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_DOWNLOADS;
418 return true; 426 return true;
419 } 427 }
420 428
421 bool BrowsingDataRemoveFileSystemsFunction::GetRemovalMask(int* removal_mask) { 429 bool BrowsingDataRemoveFileSystemsFunction::GetRemovalMask(int* removal_mask) {
422 *removal_mask = BrowsingDataRemover::REMOVE_FILE_SYSTEMS; 430 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FILE_SYSTEMS;
423 return true; 431 return true;
424 } 432 }
425 433
426 bool BrowsingDataRemoveFormDataFunction::GetRemovalMask(int* removal_mask) { 434 bool BrowsingDataRemoveFormDataFunction::GetRemovalMask(int* removal_mask) {
427 *removal_mask = BrowsingDataRemover::REMOVE_FORM_DATA; 435 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_FORM_DATA;
428 return true; 436 return true;
429 } 437 }
430 438
431 bool BrowsingDataRemoveHistoryFunction::GetRemovalMask(int* removal_mask) { 439 bool BrowsingDataRemoveHistoryFunction::GetRemovalMask(int* removal_mask) {
432 *removal_mask = BrowsingDataRemover::REMOVE_HISTORY; 440 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_HISTORY;
433 return true; 441 return true;
434 } 442 }
435 443
436 bool BrowsingDataRemoveIndexedDBFunction::GetRemovalMask(int* removal_mask) { 444 bool BrowsingDataRemoveIndexedDBFunction::GetRemovalMask(int* removal_mask) {
437 *removal_mask = BrowsingDataRemover::REMOVE_INDEXEDDB; 445 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_INDEXED_DB;
438 return true; 446 return true;
439 } 447 }
440 448
441 bool BrowsingDataRemoveLocalStorageFunction::GetRemovalMask(int* removal_mask) { 449 bool BrowsingDataRemoveLocalStorageFunction::GetRemovalMask(int* removal_mask) {
442 *removal_mask = BrowsingDataRemover::REMOVE_LOCAL_STORAGE; 450 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_LOCAL_STORAGE;
443 return true; 451 return true;
444 } 452 }
445 453
446 bool BrowsingDataRemovePluginDataFunction::GetRemovalMask(int* removal_mask) { 454 bool BrowsingDataRemovePluginDataFunction::GetRemovalMask(int* removal_mask) {
447 *removal_mask = BrowsingDataRemover::REMOVE_PLUGIN_DATA; 455 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA;
448 return true; 456 return true;
449 } 457 }
450 458
451 bool BrowsingDataRemovePasswordsFunction::GetRemovalMask(int* removal_mask) { 459 bool BrowsingDataRemovePasswordsFunction::GetRemovalMask(int* removal_mask) {
452 *removal_mask = BrowsingDataRemover::REMOVE_PASSWORDS; 460 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PASSWORDS;
453 return true; 461 return true;
454 } 462 }
455 463
456 bool BrowsingDataRemoveServiceWorkersFunction::GetRemovalMask( 464 bool BrowsingDataRemoveServiceWorkersFunction::GetRemovalMask(
457 int* removal_mask) { 465 int* removal_mask) {
458 *removal_mask = BrowsingDataRemover::REMOVE_SERVICE_WORKERS; 466 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SERVICE_WORKERS;
459 return true; 467 return true;
460 } 468 }
461 469
462 bool BrowsingDataRemoveCacheStorageFunction::GetRemovalMask(int* removal_mask) { 470 bool BrowsingDataRemoveCacheStorageFunction::GetRemovalMask(int* removal_mask) {
463 *removal_mask = BrowsingDataRemover::REMOVE_CACHE_STORAGE; 471 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_CACHE_STORAGE;
464 return true; 472 return true;
465 } 473 }
466 474
467 bool BrowsingDataRemoveWebSQLFunction::GetRemovalMask(int* removal_mask) { 475 bool BrowsingDataRemoveWebSQLFunction::GetRemovalMask(int* removal_mask) {
468 *removal_mask = BrowsingDataRemover::REMOVE_WEBSQL; 476 *removal_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_WEB_SQL;
469 return true; 477 return true;
470 } 478 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698