| 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 #include "chrome/browser/browsing_data/browsing_data_remover.h" | 5 #include "chrome/browser/browsing_data/browsing_data_remover.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 #include <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 // If this fires, we added a new BrowsingDataHelper::OriginSetMask without | 274 // If this fires, we added a new BrowsingDataHelper::OriginSetMask without |
| 275 // updating the user metrics above. | 275 // updating the user metrics above. |
| 276 static_assert( | 276 static_assert( |
| 277 BrowsingDataHelper::ALL == (BrowsingDataHelper::UNPROTECTED_WEB | | 277 BrowsingDataHelper::ALL == (BrowsingDataHelper::UNPROTECTED_WEB | |
| 278 BrowsingDataHelper::PROTECTED_WEB | | 278 BrowsingDataHelper::PROTECTED_WEB | |
| 279 BrowsingDataHelper::EXTENSION), | 279 BrowsingDataHelper::EXTENSION), |
| 280 "OriginSetMask has been updated without updating user metrics"); | 280 "OriginSetMask has been updated without updating user metrics"); |
| 281 | 281 |
| 282 if ((remove_mask & REMOVE_HISTORY) && may_delete_history) { | 282 if ((remove_mask & REMOVE_HISTORY) && may_delete_history) { |
| 283 HistoryService* history_service = HistoryServiceFactory::GetForProfile( | 283 HistoryService* history_service = HistoryServiceFactory::GetForProfile( |
| 284 profile_, Profile::EXPLICIT_ACCESS); | 284 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
| 285 if (history_service) { | 285 if (history_service) { |
| 286 std::set<GURL> restrict_urls; | 286 std::set<GURL> restrict_urls; |
| 287 if (!remove_origin_.is_empty()) | 287 if (!remove_origin_.is_empty()) |
| 288 restrict_urls.insert(remove_origin_); | 288 restrict_urls.insert(remove_origin_); |
| 289 content::RecordAction(UserMetricsAction("ClearBrowsingData_History")); | 289 content::RecordAction(UserMetricsAction("ClearBrowsingData_History")); |
| 290 waiting_for_clear_history_ = true; | 290 waiting_for_clear_history_ = true; |
| 291 | 291 |
| 292 history_service->ExpireLocalAndRemoteHistoryBetween( | 292 history_service->ExpireLocalAndRemoteHistoryBetween( |
| 293 restrict_urls, delete_begin_, delete_end_, | 293 restrict_urls, delete_begin_, delete_end_, |
| 294 base::Bind(&BrowsingDataRemover::OnHistoryDeletionDone, | 294 base::Bind(&BrowsingDataRemover::OnHistoryDeletionDone, |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 376 if (session_service) | 376 if (session_service) |
| 377 session_service->DeleteLastSession(); | 377 session_service->DeleteLastSession(); |
| 378 #endif | 378 #endif |
| 379 } | 379 } |
| 380 | 380 |
| 381 // The saved Autofill profiles and credit cards can include the origin from | 381 // The saved Autofill profiles and credit cards can include the origin from |
| 382 // which these profiles and credit cards were learned. These are a form of | 382 // which these profiles and credit cards were learned. These are a form of |
| 383 // history, so clear them as well. | 383 // history, so clear them as well. |
| 384 scoped_refptr<autofill::AutofillWebDataService> web_data_service = | 384 scoped_refptr<autofill::AutofillWebDataService> web_data_service = |
| 385 WebDataServiceFactory::GetAutofillWebDataForProfile( | 385 WebDataServiceFactory::GetAutofillWebDataForProfile( |
| 386 profile_, Profile::EXPLICIT_ACCESS); | 386 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
| 387 if (web_data_service.get()) { | 387 if (web_data_service.get()) { |
| 388 waiting_for_clear_autofill_origin_urls_ = true; | 388 waiting_for_clear_autofill_origin_urls_ = true; |
| 389 web_data_service->RemoveOriginURLsModifiedBetween( | 389 web_data_service->RemoveOriginURLsModifiedBetween( |
| 390 delete_begin_, delete_end_); | 390 delete_begin_, delete_end_); |
| 391 // The above calls are done on the UI thread but do their work on the DB | 391 // The above calls are done on the UI thread but do their work on the DB |
| 392 // thread. So wait for it. | 392 // thread. So wait for it. |
| 393 BrowserThread::PostTaskAndReply( | 393 BrowserThread::PostTaskAndReply( |
| 394 BrowserThread::DB, FROM_HERE, | 394 BrowserThread::DB, FROM_HERE, |
| 395 base::Bind(&base::DoNothing), | 395 base::Bind(&base::DoNothing), |
| 396 base::Bind(&BrowsingDataRemover::OnClearedAutofillOriginURLs, | 396 base::Bind(&BrowsingDataRemover::OnClearedAutofillOriginURLs, |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 537 #if defined(OS_ANDROID) | 537 #if defined(OS_ANDROID) |
| 538 if (remove_mask & REMOVE_APP_BANNER_DATA) { | 538 if (remove_mask & REMOVE_APP_BANNER_DATA) { |
| 539 profile_->GetHostContentSettingsMap()->ClearSettingsForOneType( | 539 profile_->GetHostContentSettingsMap()->ClearSettingsForOneType( |
| 540 CONTENT_SETTINGS_TYPE_APP_BANNER); | 540 CONTENT_SETTINGS_TYPE_APP_BANNER); |
| 541 } | 541 } |
| 542 #endif | 542 #endif |
| 543 | 543 |
| 544 if (remove_mask & REMOVE_PASSWORDS) { | 544 if (remove_mask & REMOVE_PASSWORDS) { |
| 545 content::RecordAction(UserMetricsAction("ClearBrowsingData_Passwords")); | 545 content::RecordAction(UserMetricsAction("ClearBrowsingData_Passwords")); |
| 546 password_manager::PasswordStore* password_store = | 546 password_manager::PasswordStore* password_store = |
| 547 PasswordStoreFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS) | 547 PasswordStoreFactory::GetForProfile( |
| 548 .get(); | 548 profile_, ServiceAccessType::EXPLICIT_ACCESS).get(); |
| 549 | 549 |
| 550 if (password_store) | 550 if (password_store) |
| 551 password_store->RemoveLoginsCreatedBetween(delete_begin_, delete_end_); | 551 password_store->RemoveLoginsCreatedBetween(delete_begin_, delete_end_); |
| 552 } | 552 } |
| 553 | 553 |
| 554 if (remove_mask & REMOVE_FORM_DATA) { | 554 if (remove_mask & REMOVE_FORM_DATA) { |
| 555 content::RecordAction(UserMetricsAction("ClearBrowsingData_Autofill")); | 555 content::RecordAction(UserMetricsAction("ClearBrowsingData_Autofill")); |
| 556 scoped_refptr<autofill::AutofillWebDataService> web_data_service = | 556 scoped_refptr<autofill::AutofillWebDataService> web_data_service = |
| 557 WebDataServiceFactory::GetAutofillWebDataForProfile( | 557 WebDataServiceFactory::GetAutofillWebDataForProfile( |
| 558 profile_, Profile::EXPLICIT_ACCESS); | 558 profile_, ServiceAccessType::EXPLICIT_ACCESS); |
| 559 | 559 |
| 560 if (web_data_service.get()) { | 560 if (web_data_service.get()) { |
| 561 waiting_for_clear_form_ = true; | 561 waiting_for_clear_form_ = true; |
| 562 web_data_service->RemoveFormElementsAddedBetween(delete_begin_, | 562 web_data_service->RemoveFormElementsAddedBetween(delete_begin_, |
| 563 delete_end_); | 563 delete_end_); |
| 564 web_data_service->RemoveAutofillDataModifiedBetween( | 564 web_data_service->RemoveAutofillDataModifiedBetween( |
| 565 delete_begin_, delete_end_); | 565 delete_begin_, delete_end_); |
| 566 // The above calls are done on the UI thread but do their work on the DB | 566 // The above calls are done on the UI thread but do their work on the DB |
| 567 // thread. So wait for it. | 567 // thread. So wait for it. |
| 568 BrowserThread::PostTaskAndReply( | 568 BrowserThread::PostTaskAndReply( |
| (...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1192 waiting_for_clear_webrtc_logs_ = false; | 1192 waiting_for_clear_webrtc_logs_ = false; |
| 1193 NotifyAndDeleteIfDone(); | 1193 NotifyAndDeleteIfDone(); |
| 1194 } | 1194 } |
| 1195 #endif | 1195 #endif |
| 1196 | 1196 |
| 1197 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { | 1197 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { |
| 1198 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 1198 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 1199 waiting_for_clear_domain_reliability_monitor_ = false; | 1199 waiting_for_clear_domain_reliability_monitor_ = false; |
| 1200 NotifyAndDeleteIfDone(); | 1200 NotifyAndDeleteIfDone(); |
| 1201 } | 1201 } |
| OLD | NEW |