| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |