| Index: chrome/browser/predictors/resource_prefetch_predictor.cc
|
| diff --git a/chrome/browser/predictors/resource_prefetch_predictor.cc b/chrome/browser/predictors/resource_prefetch_predictor.cc
|
| index c368a5256eee5bb2a1a10eac98afdebab8ba7d74..1b131cc3d0ffb683842329d8d05e14d0d4b7d23b 100644
|
| --- a/chrome/browser/predictors/resource_prefetch_predictor.cc
|
| +++ b/chrome/browser/predictors/resource_prefetch_predictor.cc
|
| @@ -392,6 +392,36 @@ ResourcePrefetchPredictor::ResourcePrefetchPredictor(
|
|
|
| ResourcePrefetchPredictor::~ResourcePrefetchPredictor() {}
|
|
|
| +void ResourcePrefetchPredictor::StartInitialization() {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| +
|
| + DCHECK_EQ(NOT_INITIALIZED, initialization_state_);
|
| + initialization_state_ = INITIALIZING;
|
| +
|
| + // Create local caches using the database as loaded.
|
| + auto url_data_map = base::MakeUnique<PrefetchDataMap>();
|
| + auto host_data_map = base::MakeUnique<PrefetchDataMap>();
|
| + auto url_redirect_data_map = base::MakeUnique<RedirectDataMap>();
|
| + auto host_redirect_data_map = base::MakeUnique<RedirectDataMap>();
|
| +
|
| + // Get raw pointers to pass to the first task. Ownership of the unique_ptrs
|
| + // will be passed to the reply task.
|
| + auto url_data_map_ptr = url_data_map.get();
|
| + auto host_data_map_ptr = host_data_map.get();
|
| + auto url_redirect_data_map_ptr = url_redirect_data_map.get();
|
| + auto host_redirect_data_map_ptr = host_redirect_data_map.get();
|
| +
|
| + BrowserThread::PostTaskAndReply(
|
| + BrowserThread::DB, FROM_HERE,
|
| + base::Bind(&ResourcePrefetchPredictorTables::GetAllData, tables_,
|
| + url_data_map_ptr, host_data_map_ptr, url_redirect_data_map_ptr,
|
| + host_redirect_data_map_ptr),
|
| + base::Bind(&ResourcePrefetchPredictor::CreateCaches, AsWeakPtr(),
|
| + base::Passed(&url_data_map), base::Passed(&host_data_map),
|
| + base::Passed(&url_redirect_data_map),
|
| + base::Passed(&host_redirect_data_map)));
|
| +}
|
| +
|
| void ResourcePrefetchPredictor::RecordURLRequest(
|
| const URLRequestSummary& request) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| @@ -644,36 +674,6 @@ bool ResourcePrefetchPredictor::PopulatePrefetcherRequest(
|
| return urls->size() > initial_size;
|
| }
|
|
|
| -void ResourcePrefetchPredictor::StartInitialization() {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| -
|
| - DCHECK_EQ(NOT_INITIALIZED, initialization_state_);
|
| - initialization_state_ = INITIALIZING;
|
| -
|
| - // Create local caches using the database as loaded.
|
| - auto url_data_map = base::MakeUnique<PrefetchDataMap>();
|
| - auto host_data_map = base::MakeUnique<PrefetchDataMap>();
|
| - auto url_redirect_data_map = base::MakeUnique<RedirectDataMap>();
|
| - auto host_redirect_data_map = base::MakeUnique<RedirectDataMap>();
|
| -
|
| - // Get raw pointers to pass to the first task. Ownership of the unique_ptrs
|
| - // will be passed to the reply task.
|
| - auto url_data_map_ptr = url_data_map.get();
|
| - auto host_data_map_ptr = host_data_map.get();
|
| - auto url_redirect_data_map_ptr = url_redirect_data_map.get();
|
| - auto host_redirect_data_map_ptr = host_redirect_data_map.get();
|
| -
|
| - BrowserThread::PostTaskAndReply(
|
| - BrowserThread::DB, FROM_HERE,
|
| - base::Bind(&ResourcePrefetchPredictorTables::GetAllData, tables_,
|
| - url_data_map_ptr, host_data_map_ptr, url_redirect_data_map_ptr,
|
| - host_redirect_data_map_ptr),
|
| - base::Bind(&ResourcePrefetchPredictor::CreateCaches, AsWeakPtr(),
|
| - base::Passed(&url_data_map), base::Passed(&host_data_map),
|
| - base::Passed(&url_redirect_data_map),
|
| - base::Passed(&host_redirect_data_map)));
|
| -}
|
| -
|
| void ResourcePrefetchPredictor::CreateCaches(
|
| std::unique_ptr<PrefetchDataMap> url_data_map,
|
| std::unique_ptr<PrefetchDataMap> host_data_map,
|
|
|