Index: chrome/browser/profiles/profile_impl_io_data.cc |
diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc |
index 5163819b39c3c4d6327bf7478ba01628ef51c59c..a755bd6a5a8bb06cad418e67002f7bf7b5226d5a 100644 |
--- a/chrome/browser/profiles/profile_impl_io_data.cc |
+++ b/chrome/browser/profiles/profile_impl_io_data.cc |
@@ -307,6 +307,21 @@ void ProfileImplIOData::Handle::ClearNetworkingHistorySince( |
completion)); |
} |
+void ProfileImplIOData::Handle::ClearDomainReliabilityMonitor( |
+ bool clear_contexts, |
+ const base::Closure& completion) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ LazyInitialize(); |
+ |
+ BrowserThread::PostTask( |
+ BrowserThread::IO, FROM_HERE, |
+ base::Bind( |
+ &ProfileImplIOData::ClearDomainReliabilityMonitorOnIOThread, |
+ base::Unretained(io_data_), |
+ clear_contexts, |
+ completion)); |
+} |
+ |
void ProfileImplIOData::Handle::LazyInitialize() const { |
if (initialized_) |
return; |
@@ -739,3 +754,19 @@ void ProfileImplIOData::ClearNetworkingHistorySinceOnIOThread( |
DCHECK(http_server_properties_manager_); |
http_server_properties_manager_->Clear(completion); |
} |
+ |
+void ProfileImplIOData::ClearDomainReliabilityMonitorOnIOThread( |
+ bool clear_contexts, |
+ const base::Closure& completion) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
+ DCHECK(initialized()); |
+ |
+ if (domain_reliability_monitor_) { |
+ if (clear_contexts) |
+ domain_reliability_monitor_->ClearContexts(); |
+ else |
+ domain_reliability_monitor_->ClearBeacons(); |
+ } |
+ |
+ BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, completion); |
+} |