| 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 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 #include "chrome/browser/prerender/prerender_manager_factory.h" | 40 #include "chrome/browser/prerender/prerender_manager_factory.h" |
| 41 #include "chrome/browser/profiles/profile.h" | 41 #include "chrome/browser/profiles/profile.h" |
| 42 #include "chrome/browser/renderer_host/web_cache_manager.h" | 42 #include "chrome/browser/renderer_host/web_cache_manager.h" |
| 43 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 43 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| 44 #include "chrome/browser/search_engines/template_url_service.h" | 44 #include "chrome/browser/search_engines/template_url_service.h" |
| 45 #include "chrome/browser/search_engines/template_url_service_factory.h" | 45 #include "chrome/browser/search_engines/template_url_service_factory.h" |
| 46 #include "chrome/browser/sessions/session_service.h" | 46 #include "chrome/browser/sessions/session_service.h" |
| 47 #include "chrome/browser/sessions/session_service_factory.h" | 47 #include "chrome/browser/sessions/session_service_factory.h" |
| 48 #include "chrome/browser/sessions/tab_restore_service.h" | 48 #include "chrome/browser/sessions/tab_restore_service.h" |
| 49 #include "chrome/browser/sessions/tab_restore_service_factory.h" | 49 #include "chrome/browser/sessions/tab_restore_service_factory.h" |
| 50 #include "chrome/browser/webdata/web_data_service_factory.h" |
| 50 #include "chrome/common/pref_names.h" | 51 #include "chrome/common/pref_names.h" |
| 51 #include "chrome/common/url_constants.h" | 52 #include "chrome/common/url_constants.h" |
| 52 #if defined(OS_CHROMEOS) | 53 #if defined(OS_CHROMEOS) |
| 53 #include "chromeos/attestation/attestation_constants.h" | 54 #include "chromeos/attestation/attestation_constants.h" |
| 54 #include "chromeos/dbus/cryptohome_client.h" | 55 #include "chromeos/dbus/cryptohome_client.h" |
| 55 #include "chromeos/dbus/dbus_thread_manager.h" | 56 #include "chromeos/dbus/dbus_thread_manager.h" |
| 56 #endif | 57 #endif |
| 57 #include "components/autofill/core/browser/personal_data_manager.h" | 58 #include "components/autofill/core/browser/personal_data_manager.h" |
| 58 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" | 59 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h" |
| 59 #include "components/nacl/browser/nacl_browser.h" | 60 #include "components/nacl/browser/nacl_browser.h" |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 SessionServiceFactory::GetForProfile(profile_); | 346 SessionServiceFactory::GetForProfile(profile_); |
| 346 if (session_service) | 347 if (session_service) |
| 347 session_service->DeleteLastSession(); | 348 session_service->DeleteLastSession(); |
| 348 #endif | 349 #endif |
| 349 } | 350 } |
| 350 | 351 |
| 351 // The saved Autofill profiles and credit cards can include the origin from | 352 // The saved Autofill profiles and credit cards can include the origin from |
| 352 // which these profiles and credit cards were learned. These are a form of | 353 // which these profiles and credit cards were learned. These are a form of |
| 353 // history, so clear them as well. | 354 // history, so clear them as well. |
| 354 scoped_refptr<autofill::AutofillWebDataService> web_data_service = | 355 scoped_refptr<autofill::AutofillWebDataService> web_data_service = |
| 355 autofill::AutofillWebDataService::FromBrowserContext(profile_); | 356 WebDataServiceFactory::GetAutofillWebDataForProfile( |
| 357 profile_, Profile::EXPLICIT_ACCESS); |
| 356 if (web_data_service.get()) { | 358 if (web_data_service.get()) { |
| 357 waiting_for_clear_autofill_origin_urls_ = true; | 359 waiting_for_clear_autofill_origin_urls_ = true; |
| 358 web_data_service->RemoveOriginURLsModifiedBetween( | 360 web_data_service->RemoveOriginURLsModifiedBetween( |
| 359 delete_begin_, delete_end_); | 361 delete_begin_, delete_end_); |
| 360 // The above calls are done on the UI thread but do their work on the DB | 362 // The above calls are done on the UI thread but do their work on the DB |
| 361 // thread. So wait for it. | 363 // thread. So wait for it. |
| 362 BrowserThread::PostTaskAndReply( | 364 BrowserThread::PostTaskAndReply( |
| 363 BrowserThread::DB, FROM_HERE, | 365 BrowserThread::DB, FROM_HERE, |
| 364 base::Bind(&base::DoNothing), | 366 base::Bind(&base::DoNothing), |
| 365 base::Bind(&BrowsingDataRemover::OnClearedAutofillOriginURLs, | 367 base::Bind(&BrowsingDataRemover::OnClearedAutofillOriginURLs, |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 PasswordStore* password_store = PasswordStoreFactory::GetForProfile( | 488 PasswordStore* password_store = PasswordStoreFactory::GetForProfile( |
| 487 profile_, Profile::EXPLICIT_ACCESS).get(); | 489 profile_, Profile::EXPLICIT_ACCESS).get(); |
| 488 | 490 |
| 489 if (password_store) | 491 if (password_store) |
| 490 password_store->RemoveLoginsCreatedBetween(delete_begin_, delete_end_); | 492 password_store->RemoveLoginsCreatedBetween(delete_begin_, delete_end_); |
| 491 } | 493 } |
| 492 | 494 |
| 493 if (remove_mask & REMOVE_FORM_DATA) { | 495 if (remove_mask & REMOVE_FORM_DATA) { |
| 494 content::RecordAction(UserMetricsAction("ClearBrowsingData_Autofill")); | 496 content::RecordAction(UserMetricsAction("ClearBrowsingData_Autofill")); |
| 495 scoped_refptr<autofill::AutofillWebDataService> web_data_service = | 497 scoped_refptr<autofill::AutofillWebDataService> web_data_service = |
| 496 autofill::AutofillWebDataService::FromBrowserContext(profile_); | 498 WebDataServiceFactory::GetAutofillWebDataForProfile( |
| 499 profile_, Profile::EXPLICIT_ACCESS); |
| 497 | 500 |
| 498 if (web_data_service.get()) { | 501 if (web_data_service.get()) { |
| 499 waiting_for_clear_form_ = true; | 502 waiting_for_clear_form_ = true; |
| 500 web_data_service->RemoveFormElementsAddedBetween(delete_begin_, | 503 web_data_service->RemoveFormElementsAddedBetween(delete_begin_, |
| 501 delete_end_); | 504 delete_end_); |
| 502 web_data_service->RemoveAutofillDataModifiedBetween( | 505 web_data_service->RemoveAutofillDataModifiedBetween( |
| 503 delete_begin_, delete_end_); | 506 delete_begin_, delete_end_); |
| 504 // The above calls are done on the UI thread but do their work on the DB | 507 // The above calls are done on the UI thread but do their work on the DB |
| 505 // thread. So wait for it. | 508 // thread. So wait for it. |
| 506 BrowserThread::PostTaskAndReply( | 509 BrowserThread::PostTaskAndReply( |
| (...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1057 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1060 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1058 waiting_for_clear_autofill_origin_urls_ = false; | 1061 waiting_for_clear_autofill_origin_urls_ = false; |
| 1059 NotifyAndDeleteIfDone(); | 1062 NotifyAndDeleteIfDone(); |
| 1060 } | 1063 } |
| 1061 | 1064 |
| 1062 void BrowsingDataRemover::OnClearedStoragePartitionData() { | 1065 void BrowsingDataRemover::OnClearedStoragePartitionData() { |
| 1063 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1066 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1064 waiting_for_clear_storage_partition_data_ = false; | 1067 waiting_for_clear_storage_partition_data_ = false; |
| 1065 NotifyAndDeleteIfDone(); | 1068 NotifyAndDeleteIfDone(); |
| 1066 } | 1069 } |
| OLD | NEW |