Chromium Code Reviews| 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 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 305 base::Bind( | 305 base::Bind( |
| 306 &BrowsingDataRemover::ClearHostnameResolutionCacheOnIOThread, | 306 &BrowsingDataRemover::ClearHostnameResolutionCacheOnIOThread, |
| 307 base::Unretained(this), | 307 base::Unretained(this), |
| 308 g_browser_process->io_thread())); | 308 g_browser_process->io_thread())); |
| 309 } | 309 } |
| 310 if (profile_->GetNetworkPredictor()) { | 310 if (profile_->GetNetworkPredictor()) { |
| 311 waiting_for_clear_network_predictor_ = true; | 311 waiting_for_clear_network_predictor_ = true; |
| 312 BrowserThread::PostTask( | 312 BrowserThread::PostTask( |
| 313 BrowserThread::IO, FROM_HERE, | 313 BrowserThread::IO, FROM_HERE, |
| 314 base::Bind(&BrowsingDataRemover::ClearNetworkPredictorOnIOThread, | 314 base::Bind(&BrowsingDataRemover::ClearNetworkPredictorOnIOThread, |
| 315 base::Unretained(this))); | 315 base::Unretained(this), |
| 316 profile_->GetNetworkPredictor())); | |
| 316 } | 317 } |
| 317 | 318 |
| 318 // As part of history deletion we also delete the auto-generated keywords. | 319 // As part of history deletion we also delete the auto-generated keywords. |
| 319 TemplateURLService* keywords_model = | 320 TemplateURLService* keywords_model = |
| 320 TemplateURLServiceFactory::GetForProfile(profile_); | 321 TemplateURLServiceFactory::GetForProfile(profile_); |
| 321 if (keywords_model && !keywords_model->loaded()) { | 322 if (keywords_model && !keywords_model->loaded()) { |
| 322 template_url_sub_ = keywords_model->RegisterOnLoadedCallback( | 323 template_url_sub_ = keywords_model->RegisterOnLoadedCallback( |
| 323 base::Bind(&BrowsingDataRemover::OnKeywordsLoaded, | 324 base::Bind(&BrowsingDataRemover::OnKeywordsLoaded, |
| 324 base::Unretained(this))); | 325 base::Unretained(this))); |
| 325 keywords_model->Load(); | 326 keywords_model->Load(); |
| (...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 857 base::Bind(&BrowsingDataRemover::OnClearedLoggedInPredictor, | 858 base::Bind(&BrowsingDataRemover::OnClearedLoggedInPredictor, |
| 858 base::Unretained(this))); | 859 base::Unretained(this))); |
| 859 } | 860 } |
| 860 | 861 |
| 861 void BrowsingDataRemover::OnClearedNetworkPredictor() { | 862 void BrowsingDataRemover::OnClearedNetworkPredictor() { |
| 862 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 863 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 863 waiting_for_clear_network_predictor_ = false; | 864 waiting_for_clear_network_predictor_ = false; |
| 864 NotifyAndDeleteIfDone(); | 865 NotifyAndDeleteIfDone(); |
| 865 } | 866 } |
| 866 | 867 |
| 867 void BrowsingDataRemover::ClearNetworkPredictorOnIOThread() { | 868 void BrowsingDataRemover::ClearNetworkPredictorOnIOThread( |
| 869 chrome_browser_net::Predictor* predictor) { | |
| 868 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 870 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 869 | 871 |
| 870 chrome_browser_net::Predictor* predictor = profile_->GetNetworkPredictor(); | 872 predictor->DiscardInitialNavigationHistory(); |
| 871 if (predictor) { | 873 predictor->DiscardAllResults(); |
|
Mike West
2014/06/10 12:33:13
Can this be null? If not, can we DCHECK?
engedy
2014/06/10 15:19:40
Indeed, this must be non-NULL, otherwise the metho
| |
| 872 predictor->DiscardInitialNavigationHistory(); | |
| 873 predictor->DiscardAllResults(); | |
| 874 } | |
| 875 | 874 |
| 876 // Notify the UI thread that we are done. | 875 // Notify the UI thread that we are done. |
| 877 BrowserThread::PostTask( | 876 BrowserThread::PostTask( |
| 878 BrowserThread::UI, | 877 BrowserThread::UI, |
| 879 FROM_HERE, | 878 FROM_HERE, |
| 880 base::Bind(&BrowsingDataRemover::OnClearedNetworkPredictor, | 879 base::Bind(&BrowsingDataRemover::OnClearedNetworkPredictor, |
| 881 base::Unretained(this))); | 880 base::Unretained(this))); |
| 882 } | 881 } |
| 883 | 882 |
| 884 void BrowsingDataRemover::OnClearedNetworkingHistory() { | 883 void BrowsingDataRemover::OnClearedNetworkingHistory() { |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1146 waiting_for_clear_webrtc_logs_ = false; | 1145 waiting_for_clear_webrtc_logs_ = false; |
| 1147 NotifyAndDeleteIfDone(); | 1146 NotifyAndDeleteIfDone(); |
| 1148 } | 1147 } |
| 1149 #endif | 1148 #endif |
| 1150 | 1149 |
| 1151 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { | 1150 void BrowsingDataRemover::OnClearedDomainReliabilityMonitor() { |
| 1152 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 1151 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 1153 waiting_for_clear_domain_reliability_monitor_ = false; | 1152 waiting_for_clear_domain_reliability_monitor_ = false; |
| 1154 NotifyAndDeleteIfDone(); | 1153 NotifyAndDeleteIfDone(); |
| 1155 } | 1154 } |
| OLD | NEW |