Chromium Code Reviews| Index: chrome/browser/ui/search/search_tab_helper.h |
| diff --git a/chrome/browser/ui/search/search_tab_helper.h b/chrome/browser/ui/search/search_tab_helper.h |
| index 8dd771100bd814bded3345f691479189a6b21cb2..c9b52caec4b5a45f5c79500f3a0cee71a739ff04 100644 |
| --- a/chrome/browser/ui/search/search_tab_helper.h |
| +++ b/chrome/browser/ui/search/search_tab_helper.h |
| @@ -9,6 +9,7 @@ |
| #include "base/basictypes.h" |
| #include "base/compiler_specific.h" |
| +#include "base/gtest_prod_util.h" |
| #include "chrome/browser/ui/search/search_model.h" |
| #include "chrome/common/instant_types.h" |
| #include "content/public/browser/notification_observer.h" |
| @@ -20,6 +21,8 @@ namespace content { |
| class WebContents; |
| } |
| +class InstantPageTest; |
| + |
| // Per-tab search "helper". Acts as the owner and controller of the tab's |
| // search UI model. |
|
samarth
2013/06/19 05:25:02
I think this could a top-level comment of how inst
kmadhusu
2013/06/19 16:28:15
Done.
|
| class SearchTabHelper : public content::NotificationObserver, |
| @@ -50,8 +53,23 @@ class SearchTabHelper : public content::NotificationObserver, |
| bool UpdateLastKnownMostVisitedItems( |
| const std::vector<InstantMostVisitedItem>& items); |
| + // Invoked to update the instant support state. |
| + void InstantSupportChanged(bool supports_instant); |
| + |
| + // Returns true if the page supports instant. If the instant support state is |
| + // not determined or if the page does not support instant returns false. |
| + bool SupportsInstant() const; |
| + |
| private: |
| friend class content::WebContentsUserData<SearchTabHelper>; |
| + friend class InstantPageTest; |
| + FRIEND_TEST_ALL_PREFIXES(InstantPageTest, |
| + DetermineIfPageSupportsInstant_Local); |
| + FRIEND_TEST_ALL_PREFIXES(InstantPageTest, |
| + DetermineIfPageSupportsInstant_NonLocal); |
| + FRIEND_TEST_ALL_PREFIXES(InstantPageTest, |
| + PageURLDoesntBelongToInstantRenderer); |
| + FRIEND_TEST_ALL_PREFIXES(InstantPageTest, PageSupportsInstant); |
| explicit SearchTabHelper(content::WebContents* web_contents); |
| @@ -62,10 +80,23 @@ class SearchTabHelper : public content::NotificationObserver, |
| // Overridden from contents::WebContentsObserver: |
| virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; |
| + virtual void DidFinishLoad( |
| + int64 frame_id, |
| + const GURL& validated_url, |
| + bool is_main_frame, |
| + content::RenderViewHost* render_view_host) OVERRIDE; |
| // Sets the mode of the model based on the current URL of web_contents(). |
| void UpdateMode(); |
| + // Tells the renderer to determine if the page supports the Instant API, which |
| + // results in a call to OnInstantSupportDetermined() when the reply |
| + // is received. |
| + void DetermineIfPageSupportsInstant(); |
| + |
| + // Handler for when Instant support has been determined. |
| + void OnInstantSupportDetermined(int page_id, bool supports_instant); |
| + |
| // Handlers for SearchBox API to show and hide top bars (bookmark and info |
| // bars). |
| void OnSearchBoxShowBars(int page_id); |