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 |