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 c5ce8a101053afaf06d508d0849c689bb1c83edd..ef142e42b5da960ce8b4d59cac5e898f3ec9573e 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" |
| @@ -153,6 +154,20 @@ void AutocompleteActionPredictor::ClearTransitionalMatches() { |
| transitional_matches_.clear(); |
| } |
| +void AutocompleteActionPredictor::StartPrerendering( |
| + const GURL& url, |
| + content::SessionStorageNamespace* session_storage_namespace, |
| + gfx::Size size) { |
| + if (prerender::PrerenderManager* prerender_manager = |
| + 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( |
| @@ -308,6 +323,10 @@ void AutocompleteActionPredictor::OnOmniboxOpenedUrl( |
| prerender::IsOmniboxEnabled(profile_)); |
| const GURL& opened_url = match.destination_url; |
| + |
| + prerender_handle_->OnNavigateAway(); |
|
dominich
2012/07/02 20:43:03
I know that OnNavigateAway doesn't immediately del
gavinp
2012/07/03 16:41:02
Done. I'll add it back when prerenders become long
|
| + prerender_handle_.reset(); |
| + |
| const string16 lower_user_text(base::i18n::ToLower(log.text)); |
| // Traverse transitional matches for those that have a user_text that is a |