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..8f5e46d999f0fcd8c9d066a94118e41751561c26 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,19 @@ void AutocompleteActionPredictor::ClearTransitionalMatches() { |
| transitional_matches_.clear(); |
| } |
| +void AutocompleteActionPredictor::StartPrerendering( |
| + const GURL& url, |
| + content::SessionStorageNamespace* session_storage_namespace, |
| + gfx::Size size) { |
| + if (prerender_handle_) |
| + prerender_handle_->Release(); |
| + if (prerender::PrerenderManager* prerender_manager = |
| + prerender::PrerenderManagerFactory::GetForProfile(profile_)) { |
| + prerender_handle_ = prerender_manager->AddPrerenderFromOmnibox( |
| + url, session_storage_namespace, size); |
| + } |
| +} |
| + |
| // Given a match, return a recommended action. |
| AutocompleteActionPredictor::Action |
| AutocompleteActionPredictor::RecommendAction( |
| @@ -308,6 +322,12 @@ void AutocompleteActionPredictor::OnOmniboxOpenedUrl( |
| prerender::IsOmniboxEnabled(profile_)); |
| const GURL& opened_url = match.destination_url; |
| + |
| + // TODO(gavinp,dominich): When we add proper abandonment semantics to |
| + // prerenders, we should mark the prerender_ as abandoned here, so that it |
| + // won't live the full expiry period. |
|
dominich
2012/06/28 00:34:32
the opened_url might match something in the redire
|
| + // See: http://code.google.com/p/chromium/issues/detail?id=134268 |
| + |
| const string16 lower_user_text(base::i18n::ToLower(log.text)); |
| // Traverse transitional matches for those that have a user_text that is a |