Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1340)

Unified Diff: chrome/browser/ui/search/instant_ipc_sender.h

Issue 17303003: InstantExtended: hook up InstantTab in incognito. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile errors. Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/search/instant_ipc_sender.h
diff --git a/chrome/browser/ui/search/instant_ipc_sender.h b/chrome/browser/ui/search/instant_ipc_sender.h
new file mode 100644
index 0000000000000000000000000000000000000000..b1e76ce0dc3203f7d8bcc34752980b41c0ef9f20
--- /dev/null
+++ b/chrome/browser/ui/search/instant_ipc_sender.h
@@ -0,0 +1,112 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_SEARCH_INSTANT_IPC_SENDER_H_
+#define CHROME_BROWSER_UI_SEARCH_INSTANT_IPC_SENDER_H_
+
+#include <vector>
+
+#include "base/memory/scoped_ptr.h"
+#include "chrome/common/instant_types.h"
+#include "chrome/common/omnibox_focus_state.h"
+#include "content/public/browser/web_contents_observer.h"
+
+namespace gfx {
+class Rect;
+}
+
+namespace IPC {
+class Sender;
+}
+
+class InstantIPCSender : public content::WebContentsObserver {
+ public:
+ // Creates a new instance of InstantIPCSender. If |is_incognito| is true,
+ // the instance will only send appropriate IPCs for incognito profiles.
+ static scoped_ptr<InstantIPCSender> Create(bool is_incognito);
+
+ virtual ~InstantIPCSender() {}
+
+ // Sets |web_contents| as the receiver of IPCs.
+ void SetContents(content::WebContents* web_contents);
+
+ // Tells the page that the user typed |text| into the omnibox. If |verbatim|
+ // is false, the page predicts the query the user means to type and fetches
+ // results for the prediction. If |verbatim| is true, |text| is taken as the
+ // exact query (no prediction is made). |selection_start| and |selection_end|
+ // mark the inline autocompleted portion (i.e., blue highlighted text). The
+ // omnibox caret (cursor) is at |selection_end|.
+ virtual void Update(const string16& text,
+ size_t selection_start,
+ size_t selection_end,
+ bool verbatim) {}
+
+ // Tells the page that the user pressed Enter in the omnibox.
+ virtual void Submit(const string16& text) {}
+
+ // Tells the page that the user clicked on it. Nothing is being cancelled; the
+ // poor choice of name merely reflects the IPC of the same (poor) name.
+ virtual void Cancel(const string16& text) {}
+
+ // Tells the page the bounds of the omnibox dropdown (in screen coordinates).
+ // This is used by the page to offset the results to avoid them being covered
+ // by the omnibox dropdown.
+ virtual void SetPopupBounds(const gfx::Rect& bounds) {}
+
+ // Tells the page the bounds of the omnibox (in screen coordinates). This is
+ // used by the page to align text or assets properly with the omnibox.
+ virtual void SetOmniboxBounds(const gfx::Rect& bounds) {}
+
+ // Tells the page about the font information.
+ virtual void SetFontInformation(const string16& omnibox_font_name,
+ size_t omnibox_font_size) {}
+
+ // Tells the page about the available autocomplete results.
+ virtual void SendAutocompleteResults(
+ const std::vector<InstantAutocompleteResult>& results) {}
+
+ // Tells the page that the user pressed Up or Down in the omnibox. |count| is
+ // a repeat count, negative for moving up, positive for moving down.
+ virtual void UpOrDownKeyPressed(int count) {}
+
+ // Tells the page that the user pressed Esc key in the omnibox.
+ virtual void EscKeyPressed() {}
+
+ // Tells the page that the user pressed Esc in the omnibox after having
+ // arrowed down in the suggestions. The page should reset the selection to
+ // the first suggestion. Arguments are the same as those for Update().
+ virtual void CancelSelection(const string16& user_text,
+ size_t selection_start,
+ size_t selection_end,
+ bool verbatim) {}
+
+ // Tells the page about the current theme background.
+ virtual void SendThemeBackgroundInfo(
+ const ThemeBackgroundInfo& theme_info) {}
+
+ // Tells the page whether it is allowed to display Instant results.
+ virtual void SetDisplayInstantResults(bool display_instant_results) {}
+
+ // Tells the page that the omnibox focus has changed.
+ virtual void FocusChanged(OmniboxFocusState state,
+ OmniboxFocusChangeReason reason) {}
+
+ // Tells the page that user input started or stopped.
+ virtual void SetInputInProgress(bool input_in_progress) {}
+
+ // Tells the page about new Most Visited data.
+ virtual void SendMostVisitedItems(
+ const std::vector<InstantMostVisitedItem>& items) {}
+
+ // Tells the page to toggle voice search.
+ virtual void ToggleVoiceSearch() {}
+
+ protected:
+ InstantIPCSender() {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(InstantIPCSender);
+};
+
+#endif // CHROME_BROWSER_UI_SEARCH_INSTANT_IPC_SENDER_H_
« no previous file with comments | « chrome/browser/ui/search/instant_controller_unittest.cc ('k') | chrome/browser/ui/search/instant_ipc_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698