Index: chrome/browser/predictors/resource_prefetcher_manager.cc |
diff --git a/chrome/browser/predictors/resource_prefetcher_manager.cc b/chrome/browser/predictors/resource_prefetcher_manager.cc |
index 476ba79832045499ae21116bf822da2542bb2be5..884d12a059fe4abdaa7afe318bee8fc50e1e6f1b 100644 |
--- a/chrome/browser/predictors/resource_prefetcher_manager.cc |
+++ b/chrome/browser/predictors/resource_prefetcher_manager.cc |
@@ -82,10 +82,16 @@ void ResourcePrefetcherManager::ResourcePrefetcherFinished( |
ResourcePrefetcher* resource_prefetcher) { |
DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
- const std::string key = resource_prefetcher->main_frame_url().host(); |
+ const GURL main_frame_url = resource_prefetcher->main_frame_url(); |
Benoit L
2016/12/19 12:32:00
nit: const GURL&
Might avoid one copy.
alexilin
2016/12/19 12:58:09
Bad idea: we pass it to another thread below.
alexilin
2016/12/19 15:03:42
It would cause Segmentation Fault by another reaso
|
+ const std::string key = main_frame_url.host(); |
auto it = prefetcher_map_.find(key); |
DCHECK(it != prefetcher_map_.end()); |
prefetcher_map_.erase(it); |
+ |
+ BrowserThread::PostTask( |
+ BrowserThread::UI, FROM_HERE, |
+ base::Bind(&ResourcePrefetchPredictor::OnPrefetchingFinished, |
+ base::Unretained(predictor_), main_frame_url)); |
} |
net::URLRequestContext* ResourcePrefetcherManager::GetURLRequestContext() { |