Index: chrome/browser/ui/omnibox/omnibox_controller.h |
diff --git a/chrome/browser/ui/omnibox/omnibox_controller.h b/chrome/browser/ui/omnibox/omnibox_controller.h |
index 736fcad89bdc889a692a4adc13f16df6a70c3978..caa1efc8eb78446eaa970fb7aeaa0c24cec05a8c 100644 |
--- a/chrome/browser/ui/omnibox/omnibox_controller.h |
+++ b/chrome/browser/ui/omnibox/omnibox_controller.h |
@@ -5,14 +5,23 @@ |
#ifndef CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_CONTROLLER_H_ |
#define CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_CONTROLLER_H_ |
+#include "base/basictypes.h" |
#include "base/compiler_specific.h" |
#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/autocomplete/autocomplete_controller.h" |
#include "chrome/browser/autocomplete/autocomplete_controller_delegate.h" |
-class AutocompleteController; |
+struct AutocompleteMatch; |
+class AutocompleteResult; |
+class GURL; |
class OmniboxEditModel; |
+class OmniboxPopupModel; |
class Profile; |
+namespace gfx { |
+class Rect; |
+} |
+ |
// This class controls the various services that can modify the content |
// for the omnibox, including AutocompleteController and InstantController. It |
// is responsible of updating the omnibox content. |
@@ -34,11 +43,38 @@ class OmniboxController : public AutocompleteControllerDelegate { |
return autocomplete_controller_.get(); |
} |
+ void set_popup_model(OmniboxPopupModel* popup_model) { |
+ popup_ = popup_model; |
+ } |
+ |
+ // TODO(beaudoin): The edit and popup model should be siblings owned by the |
+ // LocationBarView, making this accessor unnecessary. |
+ OmniboxPopupModel* popup_model() const { return popup_; } |
+ |
+ // Turns off keyword mode for the current match. |
+ void ClearPopupKeywordMode() const; |
+ |
+ const AutocompleteResult& result() const { |
+ return autocomplete_controller_->result(); |
+ } |
+ |
+ // TODO(beaudoin): Make private once OmniboxEditModel no longer refers to it. |
+ void DoPreconnect(const AutocompleteMatch& match); |
+ |
+ // TODO(beaudoin): Make private once OmniboxEditModel no longer refers to it. |
+ // Invoked when the popup has changed its bounds to |bounds|. |bounds| here |
+ // is in screen coordinates. |
+ void OnPopupBoundsChanged(const gfx::Rect& bounds); |
+ |
private: |
// Weak, it owns us. |
// TODO(beaudoin): Consider defining a delegate to ease unit testing. |
OmniboxEditModel* omnibox_edit_model_; |
+ Profile* profile_; |
+ |
+ OmniboxPopupModel* popup_; |
+ |
scoped_ptr<AutocompleteController> autocomplete_controller_; |
DISALLOW_COPY_AND_ASSIGN(OmniboxController); |