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

Side by Side Diff: chrome/browser/ui/omnibox/omnibox_edit_model.h

Issue 14698028: Omnibox refactor. OmniboxController now holds an AutocompleteMatch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased and cleaned-up. 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_ 5 #ifndef CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_
6 #define CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_ 6 #define CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 // Returns the current state. This assumes we are switching tabs, and changes 90 // Returns the current state. This assumes we are switching tabs, and changes
91 // the internal state appropriately. 91 // the internal state appropriately.
92 const State GetStateForTabSwitch(); 92 const State GetStateForTabSwitch();
93 93
94 // Restores local state from the saved |state|. 94 // Restores local state from the saved |state|.
95 void RestoreState(const State& state); 95 void RestoreState(const State& state);
96 96
97 // Returns the match for the current text. If the user has not edited the text 97 // Returns the match for the current text. If the user has not edited the text
98 // this is the match corresponding to the permanent text. 98 // this is the match corresponding to the permanent text.
99 AutocompleteMatch CurrentMatch(); 99 AutocompleteMatch CurrentMatch() const;
100 100
101 // Called when the user wants to export the entire current text as a URL. 101 // Called when the user wants to export the entire current text as a URL.
102 // Sets the url, and if known, the title and favicon. 102 // Sets the url, and if known, the title and favicon.
103 void GetDataForURLExport(GURL* url, string16* title, gfx::Image* favicon); 103 void GetDataForURLExport(GURL* url, string16* title, gfx::Image* favicon);
104 104
105 // Returns true if the current edit contents will be treated as a 105 // Returns true if the current edit contents will be treated as a
106 // URL/navigation, as opposed to a search. 106 // URL/navigation, as opposed to a search.
107 bool CurrentTextIsURL() const; 107 bool CurrentTextIsURL() const;
108 108
109 // Returns the match type for the current edit contents. 109 // Returns the match type for the current edit contents.
(...skipping 21 matching lines...) Expand all
131 // change should be immediately user-visible, because either the user is not 131 // change should be immediately user-visible, because either the user is not
132 // editing or the edit does not have focus. 132 // editing or the edit does not have focus.
133 bool UpdatePermanentText(const string16& new_permanent_text); 133 bool UpdatePermanentText(const string16& new_permanent_text);
134 134
135 // Returns the URL corresponding to the permanent text. 135 // Returns the URL corresponding to the permanent text.
136 GURL PermanentURL(); 136 GURL PermanentURL();
137 137
138 // Sets the user_text_ to |text|. Only the View should call this. 138 // Sets the user_text_ to |text|. Only the View should call this.
139 void SetUserText(const string16& text); 139 void SetUserText(const string16& text);
140 140
141 // Calls through to SearchProvider::FinalizeInstantQuery.
142 void FinalizeInstantQuery(const string16& input_text,
143 const InstantSuggestion& suggestion);
144
145 // Sets the suggestion text. 141 // Sets the suggestion text.
146 void SetInstantSuggestion(const InstantSuggestion& suggestion); 142 void SetInstantSuggestion(const InstantSuggestion& suggestion);
147 143
148 // Commits the gray suggested text as if it's been input by the user. 144 // Commits the gray suggested text as if it's been input by the user.
149 // Returns true if the text was committed. 145 // Returns true if the text was committed.
150 // TODO: can the return type be void? 146 // TODO: can the return type be void?
151 bool CommitSuggestedText(); 147 bool CommitSuggestedText();
152 148
153 // Invoked any time the text may have changed in the edit. Updates Instant and 149 // Invoked any time the text may have changed in the edit. Updates Instant and
154 // notifies the controller. 150 // notifies the controller.
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 bool allow_keyword_ui_change); 296 bool allow_keyword_ui_change);
301 297
302 // TODO(beaudoin): Mac code still calls this here. We should try to untangle 298 // TODO(beaudoin): Mac code still calls this here. We should try to untangle
303 // this. 299 // this.
304 // Invoked when the popup has changed its bounds to |bounds|. |bounds| here 300 // Invoked when the popup has changed its bounds to |bounds|. |bounds| here
305 // is in screen coordinates. 301 // is in screen coordinates.
306 void OnPopupBoundsChanged(const gfx::Rect& bounds) { 302 void OnPopupBoundsChanged(const gfx::Rect& bounds) {
307 omnibox_controller_->OnPopupBoundsChanged(bounds); 303 omnibox_controller_->OnPopupBoundsChanged(bounds);
308 } 304 }
309 305
310 // Called when the results have changed in the OmniboxController. 306 // Called when the current match has changed in the OmniboxController.
311 void OnResultChanged(bool default_match_changed); 307 void OnCurrentMatchChanged(bool is_temporary_set_by_instant);
308
309 // Access the current view text.
310 string16 GetViewText() const;
311
312 string16 user_text() const { return user_text_; }
Peter Kasting 2013/06/11 22:42:55 Musing: It seems like we have some accessors above
beaudoin 2013/06/14 21:39:38 I agree. Let's push that back to a future CL if yo
312 313
313 // TODO(beaudoin): We need this to allow OmniboxController access the 314 // TODO(beaudoin): We need this to allow OmniboxController access the
314 // InstantController via OmniboxEditController, because the only valid pointer 315 // InstantController via OmniboxEditController, because the only valid pointer
315 // to InstantController is kept in Browser. We should try to get rid of this, 316 // to InstantController is kept in Browser. We should try to get rid of this,
316 // maybe by ensuring InstantController lives as long as Browser. 317 // maybe by ensuring InstantController lives as long as Browser.
317 InstantController* GetInstantController() const; 318 InstantController* GetInstantController() const;
318 319
319 private: 320 private:
320 friend class InstantTestBase; 321 friend class InstantTestBase;
321 friend class OmniboxControllerTest; 322 friend class OmniboxControllerTest;
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
555 // an exact keyword match. If this is true then keyword mode will be 556 // an exact keyword match. If this is true then keyword mode will be
556 // triggered automatically if the input is "<keyword> <search string>". We 557 // triggered automatically if the input is "<keyword> <search string>". We
557 // allow this when CreatedKeywordSearchByInsertingSpaceInMiddle() is true. 558 // allow this when CreatedKeywordSearchByInsertingSpaceInMiddle() is true.
558 // This has no effect if we're already in keyword mode. 559 // This has no effect if we're already in keyword mode.
559 bool allow_exact_keyword_match_; 560 bool allow_exact_keyword_match_;
560 561
561 DISALLOW_COPY_AND_ASSIGN(OmniboxEditModel); 562 DISALLOW_COPY_AND_ASSIGN(OmniboxEditModel);
562 }; 563 };
563 564
564 #endif // CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_ 565 #endif // CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698