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

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: Fixed failing browser tests. 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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 Profile* profile() const { return profile_; } 88 Profile* profile() const { return profile_; }
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. Returns the
99 AutocompleteMatch CurrentMatch(); 99 // alternate nav URL, if |alternate_nav_url| is non-NULL and there is such a
100 // URL.
101 AutocompleteMatch CurrentMatch(GURL* alternate_nav_url) const;
100 102
101 // Called when the user wants to export the entire current text as a URL. 103 // 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. 104 // Sets the url, and if known, the title and favicon.
103 void GetDataForURLExport(GURL* url, string16* title, gfx::Image* favicon); 105 void GetDataForURLExport(GURL* url, string16* title, gfx::Image* favicon);
104 106
105 // Returns true if the current edit contents will be treated as a 107 // Returns true if the current edit contents will be treated as a
106 // URL/navigation, as opposed to a search. 108 // URL/navigation, as opposed to a search.
107 bool CurrentTextIsURL() const; 109 bool CurrentTextIsURL() const;
108 110
109 // Returns the match type for the current edit contents. 111 // 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 133 // change should be immediately user-visible, because either the user is not
132 // editing or the edit does not have focus. 134 // editing or the edit does not have focus.
133 bool UpdatePermanentText(const string16& new_permanent_text); 135 bool UpdatePermanentText(const string16& new_permanent_text);
134 136
135 // Returns the URL corresponding to the permanent text. 137 // Returns the URL corresponding to the permanent text.
136 GURL PermanentURL(); 138 GURL PermanentURL();
137 139
138 // Sets the user_text_ to |text|. Only the View should call this. 140 // Sets the user_text_ to |text|. Only the View should call this.
139 void SetUserText(const string16& text); 141 void SetUserText(const string16& text);
140 142
141 // Calls through to SearchProvider::FinalizeInstantQuery.
142 void FinalizeInstantQuery(const string16& input_text,
143 const InstantSuggestion& suggestion);
144
145 // Sets the suggestion text. 143 // Sets the suggestion text.
146 void SetInstantSuggestion(const InstantSuggestion& suggestion); 144 void SetInstantSuggestion(const InstantSuggestion& suggestion);
147 145
148 // Commits the gray suggested text as if it's been input by the user. 146 // Commits the gray suggested text as if it's been input by the user.
149 // Returns true if the text was committed. 147 // Returns true if the text was committed.
150 // TODO: can the return type be void? 148 // TODO: can the return type be void?
151 bool CommitSuggestedText(); 149 bool CommitSuggestedText();
152 150
153 // Invoked any time the text may have changed in the edit. Updates Instant and 151 // Invoked any time the text may have changed in the edit. Updates Instant and
154 // notifies the controller. 152 // notifies the controller.
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 bool allow_keyword_ui_change); 298 bool allow_keyword_ui_change);
301 299
302 // TODO(beaudoin): Mac code still calls this here. We should try to untangle 300 // TODO(beaudoin): Mac code still calls this here. We should try to untangle
303 // this. 301 // this.
304 // Invoked when the popup has changed its bounds to |bounds|. |bounds| here 302 // Invoked when the popup has changed its bounds to |bounds|. |bounds| here
305 // is in screen coordinates. 303 // is in screen coordinates.
306 void OnPopupBoundsChanged(const gfx::Rect& bounds) { 304 void OnPopupBoundsChanged(const gfx::Rect& bounds) {
307 omnibox_controller_->OnPopupBoundsChanged(bounds); 305 omnibox_controller_->OnPopupBoundsChanged(bounds);
308 } 306 }
309 307
310 // Called when the results have changed in the OmniboxController. 308 // Called when the current match has changed in the OmniboxController.
311 void OnResultChanged(bool default_match_changed); 309 void OnCurrentMatchChanged(bool is_temporary_set_by_instant);
310
311 // Callend when the gray text suggestion has changed in the OmniboxController.
312 void OnGrayTextChanged();
313
314 // Access the current view text.
315 string16 GetViewText() const;
316
317 string16 user_text() const { return user_text_; }
312 318
313 // TODO(beaudoin): We need this to allow OmniboxController access the 319 // TODO(beaudoin): We need this to allow OmniboxController access the
314 // InstantController via OmniboxEditController, because the only valid pointer 320 // InstantController via OmniboxEditController, because the only valid pointer
315 // to InstantController is kept in Browser. We should try to get rid of this, 321 // to InstantController is kept in Browser. We should try to get rid of this,
316 // maybe by ensuring InstantController lives as long as Browser. 322 // maybe by ensuring InstantController lives as long as Browser.
317 InstantController* GetInstantController() const; 323 InstantController* GetInstantController() const;
318 324
319 private: 325 private:
320 friend class InstantTestBase; 326 friend class InstantTestBase;
321 friend class OmniboxControllerTest; 327 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 561 // an exact keyword match. If this is true then keyword mode will be
556 // triggered automatically if the input is "<keyword> <search string>". We 562 // triggered automatically if the input is "<keyword> <search string>". We
557 // allow this when CreatedKeywordSearchByInsertingSpaceInMiddle() is true. 563 // allow this when CreatedKeywordSearchByInsertingSpaceInMiddle() is true.
558 // This has no effect if we're already in keyword mode. 564 // This has no effect if we're already in keyword mode.
559 bool allow_exact_keyword_match_; 565 bool allow_exact_keyword_match_;
560 566
561 DISALLOW_COPY_AND_ASSIGN(OmniboxEditModel); 567 DISALLOW_COPY_AND_ASSIGN(OmniboxEditModel);
562 }; 568 };
563 569
564 #endif // CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_ 570 #endif // CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_EDIT_MODEL_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/omnibox/omnibox_controller.cc ('k') | chrome/browser/ui/omnibox/omnibox_edit_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698