diff options
author | ttuttle@chromium.org <ttuttle@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-11 18:10:31 +0000 |
---|---|---|
committer | ttuttle@chromium.org <ttuttle@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-11 18:10:31 +0000 |
commit | 9b2034036bc89b9045d904128e76ef94165f6bc7 (patch) | |
tree | 5a5c05ab2473fce26cc69360d0323b12fda12f3f /chrome/browser/browsing_data/browsing_data_remover.cc | |
parent | ed8d358d1bb5b9c631299503e62a125c00f84408 (diff) | |
download | chromium_src-9b2034036bc89b9045d904128e76ef94165f6bc7.zip chromium_src-9b2034036bc89b9045d904128e76ef94165f6bc7.tar.gz chromium_src-9b2034036bc89b9045d904128e76ef94165f6bc7.tar.bz2 |
Domain Reliability: Remove browsing data when requested.
BUG=356791
Review URL: https://codereview.chromium.org/238863005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269714 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browsing_data/browsing_data_remover.cc')
-rw-r--r-- | chrome/browser/browsing_data/browsing_data_remover.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc index 1eb34c1..28aa248 100644 --- a/chrome/browser/browsing_data/browsing_data_remover.cc +++ b/chrome/browser/browsing_data/browsing_data_remover.cc @@ -55,6 +55,7 @@ #include "chrome/browser/webdata/web_data_service_factory.h" #include "chrome/common/pref_names.h" #include "chrome/common/url_constants.h" +#include "components/domain_reliability/monitor.h" #include "components/password_manager/core/browser/password_store.h" #if defined(OS_CHROMEOS) #include "chromeos/attestation/attestation_constants.h" @@ -189,6 +190,7 @@ BrowsingDataRemover::BrowsingDataRemover(Profile* profile, waiting_for_clear_cache_(false), waiting_for_clear_content_licenses_(false), waiting_for_clear_cookies_count_(0), + waiting_for_clear_domain_reliability_monitor_(false), waiting_for_clear_form_(false), waiting_for_clear_history_(false), waiting_for_clear_hostname_resolution_cache_(false), @@ -673,6 +675,20 @@ void BrowsingDataRemover::RemoveImpl(int remove_mask, delete_begin_, base::Bind(&BrowsingDataRemover::OnClearedNetworkingHistory, base::Unretained(this))); + + if (remove_mask & (REMOVE_COOKIES | REMOVE_HISTORY)) { + domain_reliability::DomainReliabilityClearMode mode; + if (remove_mask & REMOVE_COOKIES) + mode = domain_reliability::CLEAR_CONTEXTS; + else + mode = domain_reliability::CLEAR_BEACONS; + + waiting_for_clear_domain_reliability_monitor_ = true; + profile_->ClearDomainReliabilityMonitor( + mode, + base::Bind(&BrowsingDataRemover::OnClearedDomainReliabilityMonitor, + base::Unretained(this))); + } } void BrowsingDataRemover::AddObserver(Observer* observer) { @@ -725,6 +741,7 @@ bool BrowsingDataRemover::AllDone() { !waiting_for_clear_autofill_origin_urls_ && !waiting_for_clear_cache_ && !waiting_for_clear_nacl_cache_ && !waiting_for_clear_cookies_count_ && !waiting_for_clear_history_ && + !waiting_for_clear_domain_reliability_monitor_ && !waiting_for_clear_logged_in_predictor_ && !waiting_for_clear_networking_history_ && !waiting_for_clear_server_bound_certs_ && @@ -1131,3 +1148,9 @@ void BrowsingDataRemover::OnClearedWebRtcLogs() { NotifyAndDeleteIfDone(); } #endif + +void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + waiting_for_clear_domain_reliability_monitor_ = false; + NotifyAndDeleteIfDone(); +} |