Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(311)

Unified Diff: chrome/browser/browsing_data/browsing_data_remover.cc

Issue 11238034: Added completion notification to Profile's ClearNetworkingHistorySince. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Increased similarity threshold... Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/browsing_data/browsing_data_remover.cc
diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc
index f723a3f0176f5f7727077d8e6ce0bfced886e8ef..7362ec76a4ce66ad9674b7872d819a6fd32e69a5 100644
--- a/chrome/browser/browsing_data/browsing_data_remover.cc
+++ b/chrome/browser/browsing_data/browsing_data_remover.cc
@@ -147,6 +147,7 @@ BrowsingDataRemover::BrowsingDataRemover(Profile* profile,
waiting_for_clear_quota_managed_data_(false),
waiting_for_clear_content_licenses_(false),
waiting_for_clear_form_(false),
+ waiting_for_clear_profile_io_data_(false),
remove_mask_(0),
remove_origin_(GURL()),
origin_set_mask_(0) {
@@ -492,9 +493,11 @@ void BrowsingDataRemover::RemoveImpl(int remove_mask,
// Also delete cached network related data (like TransportSecurityState,
// HttpServerProperties data).
- profile_->ClearNetworkingHistorySince(delete_begin_);
-
- NotifyAndDeleteIfDone();
+ waiting_for_clear_profile_io_data_ = true;
+ profile_->ClearNetworkingHistorySince(
+ delete_begin_,
+ base::Bind(&BrowsingDataRemover::ClearedProfileIOData,
+ base::Unretained(this)));
}
void BrowsingDataRemover::AddObserver(Observer* observer) {
@@ -555,7 +558,8 @@ bool BrowsingDataRemover::AllDone() {
!waiting_for_clear_plugin_data_ &&
!waiting_for_clear_quota_managed_data_ &&
!waiting_for_clear_content_licenses_ &&
- !waiting_for_clear_form_;
+ !waiting_for_clear_form_ &&
+ !waiting_for_clear_profile_io_data_;
}
void BrowsingDataRemover::Observe(int type,
@@ -974,3 +978,10 @@ void BrowsingDataRemover::OnClearedFormData() {
waiting_for_clear_form_ = false;
NotifyAndDeleteIfDone();
}
+
+void BrowsingDataRemover::ClearedProfileIOData() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
+ waiting_for_clear_profile_io_data_ = false;
+ NotifyAndDeleteIfDone();
+}
+

Powered by Google App Engine
This is Rietveld 408576698