Index: chrome/browser/ui/search/instant_search_prerenderer.cc |
diff --git a/chrome/browser/ui/search/instant_search_prerenderer.cc b/chrome/browser/ui/search/instant_search_prerenderer.cc |
index 3d100a4c1420bd385f7cc7080c82cd636f3768c7..d2196000de2570eeff3c76018d1bf84ece055abd 100644 |
--- a/chrome/browser/ui/search/instant_search_prerenderer.cc |
+++ b/chrome/browser/ui/search/instant_search_prerenderer.cc |
@@ -12,6 +12,8 @@ |
#include "chrome/browser/search/instant_service.h" |
#include "chrome/browser/search/instant_service_factory.h" |
#include "chrome/browser/search/search.h" |
+#include "chrome/browser/search_engines/template_url_service.h" |
+#include "chrome/browser/search_engines/template_url_service_factory.h" |
#include "chrome/browser/ui/browser_navigator.h" |
#include "chrome/browser/ui/search/search_tab_helper.h" |
@@ -123,7 +125,7 @@ bool InstantSearchPrerenderer::CanCommitQuery( |
bool InstantSearchPrerenderer::UsePrerenderedPage( |
const GURL& url, |
chrome::NavigateParams* params) { |
- base::string16 search_terms = chrome::GetSearchTermsFromURL(profile_, url); |
+ base::string16 search_terms = GetSearchTermsFromURL(url); |
prerender::PrerenderManager* prerender_manager = |
prerender::PrerenderManagerFactory::GetForProfile(profile_); |
if (search_terms.empty() || !params->target_contents || |
@@ -145,6 +147,20 @@ bool InstantSearchPrerenderer::IsAllowed(const AutocompleteMatch& match, |
!PageSupportsInstantSearch(source); |
} |
+base::string16 InstantSearchPrerenderer::GetSearchTermsFromURL( |
+ const GURL& url) const { |
+ base::string16 search_terms; |
+ TemplateURLService* template_url_service = |
+ TemplateURLServiceFactory::GetForProfile(profile_); |
+ if (!template_url_service) |
+ return search_terms; |
+ |
+ TemplateURL* template_url = template_url_service->GetDefaultSearchProvider(); |
+ if (template_url) |
+ template_url->ExtractSearchTermsFromURL(url, &search_terms); |
+ return search_terms; |
+} |
+ |
content::WebContents* InstantSearchPrerenderer::prerender_contents() const { |
return (prerender_handle_ && prerender_handle_->contents()) ? |
prerender_handle_->contents()->prerender_contents() : NULL; |