Chromium Code Reviews| Index: chrome/browser/ui/search/search_tab_helper.cc |
| diff --git a/chrome/browser/ui/search/search_tab_helper.cc b/chrome/browser/ui/search/search_tab_helper.cc |
| index b117ad020d24c398cc3042ed0019dc3e3e713317..9aeaf37f0ab70dea64c7d474c8a652c872460698 100644 |
| --- a/chrome/browser/ui/search/search_tab_helper.cc |
| +++ b/chrome/browser/ui/search/search_tab_helper.cc |
| @@ -24,6 +24,7 @@ |
| #include "chrome/browser/ui/omnibox/omnibox_edit_model.h" |
| #include "chrome/browser/ui/omnibox/omnibox_popup_model.h" |
| #include "chrome/browser/ui/omnibox/omnibox_view.h" |
| +#include "chrome/browser/ui/search/instant_search_prerenderer.h" |
| #include "chrome/browser/ui/search/search_ipc_router_policy_impl.h" |
| #include "chrome/browser/ui/search/search_tab_helper_delegate.h" |
| #include "chrome/browser/ui/tab_contents/core_tab_helper.h" |
| @@ -172,6 +173,24 @@ void SearchTabHelper::OmniboxFocusChanged(OmniboxFocusState state, |
| if (web_contents_->GetController().GetPendingEntry() == NULL) { |
|
Jered
2014/06/19 21:09:46
This check makes me worry that there is a case whe
sidharthms
2014/06/20 00:31:44
Done.
|
| ipc_router_.SetInputInProgress(IsInputInProgress()); |
| } |
| + |
| + if (chrome::ShouldPrerenderInstantUrlOnOmniboxFocus()) { |
| + InstantSearchPrerenderer* prerenderer = |
| + InstantSearchPrerenderer::GetForProfile(profile()); |
| + if (!prerenderer) |
| + return; |
| + |
| + if (state == OMNIBOX_FOCUS_NONE) { |
| + prerenderer->Cancel(); |
| + return; |
| + } |
| + |
| + if (!IsSearchResultsPage()) { |
| + prerenderer->Init( |
| + web_contents_->GetController().GetSessionStorageNamespaceMap(), |
| + web_contents_->GetContainerBounds().size()); |
| + } |
| + } |
| } |
| void SearchTabHelper::NavigationEntryUpdated() { |
| @@ -214,6 +233,18 @@ void SearchTabHelper::Submit(const base::string16& text) { |
| void SearchTabHelper::OnTabActivated() { |
| ipc_router_.OnTabActivated(); |
| + |
| + OmniboxView* omnibox_view = GetOmniboxView(); |
| + if (chrome::ShouldPrerenderInstantUrlOnOmniboxFocus() && omnibox_view && |
| + omnibox_view->model()->has_focus()) { |
| + InstantSearchPrerenderer* prerenderer = |
| + InstantSearchPrerenderer::GetForProfile(profile()); |
| + if (prerenderer && !IsSearchResultsPage()) { |
| + prerenderer->Init( |
| + web_contents_->GetController().GetSessionStorageNamespaceMap(), |
| + web_contents_->GetContainerBounds().size()); |
| + } |
| + } |
| } |
| void SearchTabHelper::OnTabDeactivated() { |