Chromium Code Reviews| 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 ced878b830be3750ddfac8be2fc3e874ef190b2b..75bc5a884932b4ae729efaf64f346ac73fe53fe8 100644 |
| --- a/chrome/browser/ui/omnibox/omnibox_controller.h |
| +++ b/chrome/browser/ui/omnibox/omnibox_controller.h |
| @@ -11,11 +11,13 @@ |
| #include "base/strings/string16.h" |
| #include "chrome/browser/autocomplete/autocomplete_controller.h" |
| #include "chrome/browser/autocomplete/autocomplete_controller_delegate.h" |
| +#include "chrome/browser/autocomplete/autocomplete_match.h" |
| struct AutocompleteMatch; |
| class AutocompleteResult; |
| class GURL; |
| class InstantController; |
| +struct InstantSuggestion; |
| class OmniboxEditModel; |
| class OmniboxPopupModel; |
| class Profile; |
| @@ -63,6 +65,17 @@ class OmniboxController : public AutocompleteControllerDelegate { |
| bool just_deleted_text, |
| bool keyword_is_selected); |
| + // Calls through to SearchProvider::FinalizeInstantQuery. |
| + void FinalizeInstantQuery(const string16& input_text, |
| + const InstantSuggestion& suggestion); |
| + |
| + // Sets the suggestion text. |
| + void SetInstantSuggestion(const InstantSuggestion& suggestion); |
| + |
| + // Set |current_match_| to an invalid value, indicating that we do not yet |
| + // have a valid match for the current text in the omnibox. |
| + void InvalidateCurrentMatch(); |
| + |
| void set_popup_model(OmniboxPopupModel* popup_model) { |
| popup_ = popup_model; |
| } |
| @@ -71,6 +84,10 @@ class OmniboxController : public AutocompleteControllerDelegate { |
| // LocationBarView, making this accessor unnecessary. |
| OmniboxPopupModel* popup_model() const { return popup_; } |
| + const string16& gray_suggestion() const { return gray_suggestion_; } |
| + |
| + const AutocompleteMatch& CurrentMatch(GURL* alternate_nav_url) const; |
|
Peter Kasting
2013/06/18 17:44:00
Nit: Comment what this does and what the arg means
|
| + |
| // Turns off keyword mode for the current match. |
| void ClearPopupKeywordMode() const; |
| @@ -98,6 +115,11 @@ class OmniboxController : public AutocompleteControllerDelegate { |
| // which OmniboxEditModel has some ways of reaching. |
| InstantController* GetInstantController() const; |
| + // Creates an AutocompleteMatch for an instant result and sets it into |
| + // |current_match_|. |
| + void CreateAndSetInstantMatch(string16 query_string, |
| + string16 input_text, |
| + AutocompleteMatchType::Type match_type); |
| // Weak, it owns us. |
| // TODO(beaudoin): Consider defining a delegate to ease unit testing. |
| OmniboxEditModel* omnibox_edit_model_; |
| @@ -106,8 +128,20 @@ class OmniboxController : public AutocompleteControllerDelegate { |
| OmniboxPopupModel* popup_; |
| + InstantController* instant_controller_; |
| + |
| scoped_ptr<AutocompleteController> autocomplete_controller_; |
| + // TODO(beaudoin): This AutocompleteMatch is used to let the OmniboxEditModel |
| + // know what it should display. Not every field is required for that purpose, |
| + // but the ones specifically needed are unclear. We should therefore spend |
| + // some time to extract these fields and use a tighter structure here. |
| + AutocompleteMatch current_match_; |
| + |
| + // The completion suggested by instant, displayed in gray text besides |
| + // |fill_into_edit|. |
| + string16 gray_suggestion_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(OmniboxController); |
| }; |