| 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();
|
| +}
|
| +
|
|
|