Chromium Code Reviews| Index: chrome/browser/predictors/autocomplete_action_predictor.cc |
| diff --git a/chrome/browser/predictors/autocomplete_action_predictor.cc b/chrome/browser/predictors/autocomplete_action_predictor.cc |
| index 2ac67fa6c65b71987b8115c7a96983df3876f2fd..642bc7c88aca79f0efb522f81587ef2973495f37 100644 |
| --- a/chrome/browser/predictors/autocomplete_action_predictor.cc |
| +++ b/chrome/browser/predictors/autocomplete_action_predictor.cc |
| @@ -26,6 +26,7 @@ |
| #include "chrome/browser/predictors/predictor_database.h" |
| #include "chrome/browser/predictors/predictor_database_factory.h" |
| #include "chrome/browser/prerender/prerender_field_trial.h" |
| +#include "chrome/browser/prerender/prerender_handle.h" |
| #include "chrome/browser/prerender/prerender_manager.h" |
| #include "chrome/browser/prerender/prerender_manager_factory.h" |
| #include "chrome/browser/profiles/profile.h" |
| @@ -119,6 +120,8 @@ AutocompleteActionPredictor::~AutocompleteActionPredictor() { |
| main_profile_predictor_->incognito_predictor_ = NULL; |
| else if (incognito_predictor_) |
| incognito_predictor_->main_profile_predictor_ = NULL; |
| + if (prerender_handle_.get()) |
| + prerender_handle_->OnCancel(); |
| } |
| void AutocompleteActionPredictor::RegisterTransitionalMatches( |
| @@ -153,6 +156,22 @@ void AutocompleteActionPredictor::ClearTransitionalMatches() { |
| transitional_matches_.clear(); |
| } |
| +void AutocompleteActionPredictor::StartPrerendering( |
| + const GURL& url, |
| + content::SessionStorageNamespace* session_storage_namespace, |
| + const gfx::Size& size) { |
| + if (prerender_handle_.get()) |
| + prerender_handle_->OnNavigateAway(); |
| + if (prerender::PrerenderManager* prerender_manager = |
|
dominich
2012/07/13 15:01:43
This is much nicer. Explicit intent FTW.
gavinp
2012/07/13 16:42:43
I wonder, shouldn't we be using OnCancel here: we
|
| + prerender::PrerenderManagerFactory::GetForProfile(profile_)) { |
| + prerender_handle_.reset( |
| + prerender_manager->AddPrerenderFromOmnibox( |
| + url, session_storage_namespace, size)); |
| + } else { |
| + prerender_handle_.reset(); |
| + } |
| +} |
| + |
| // Given a match, return a recommended action. |
| AutocompleteActionPredictor::Action |
| AutocompleteActionPredictor::RecommendAction( |