summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete/autocomplete_edit.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/autocomplete/autocomplete_edit.h')
-rw-r--r--chrome/browser/autocomplete/autocomplete_edit.h55
1 files changed, 20 insertions, 35 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_edit.h b/chrome/browser/autocomplete/autocomplete_edit.h
index 1a0386c..9f4e973 100644
--- a/chrome/browser/autocomplete/autocomplete_edit.h
+++ b/chrome/browser/autocomplete/autocomplete_edit.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 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.
@@ -83,14 +83,12 @@ class AutocompleteEditModel : public NotificationObserver {
const std::wstring& user_text,
const std::wstring& keyword,
bool is_keyword_hint,
- KeywordUIState keyword_ui_state,
- bool show_search_hint)
+ KeywordUIState keyword_ui_state)
: user_input_in_progress(user_input_in_progress),
user_text(user_text),
keyword(keyword),
is_keyword_hint(is_keyword_hint),
- keyword_ui_state(keyword_ui_state),
- show_search_hint(show_search_hint) {
+ keyword_ui_state(keyword_ui_state) {
}
bool user_input_in_progress;
@@ -98,7 +96,6 @@ class AutocompleteEditModel : public NotificationObserver {
const std::wstring keyword;
const bool is_keyword_hint;
const KeywordUIState keyword_ui_state;
- const bool show_search_hint;
};
AutocompleteEditModel(AutocompleteEditView* view,
@@ -137,7 +134,10 @@ class AutocompleteEditModel : public NotificationObserver {
// Returns true if the current edit contents will be treated as a
// URL/navigation, as opposed to a search.
- bool CurrentTextIsURL();
+ bool CurrentTextIsURL() const;
+
+ // Returns the match type for the current edit contents.
+ AutocompleteMatch::Type CurrentTextType() const;
// Returns true if |text| (which is display text in the current context)
// parses as a URL, and in that case sets |url| to the calculated URL.
@@ -208,7 +208,7 @@ class AutocompleteEditModel : public NotificationObserver {
// Accessors for keyword-related state (see comments on keyword_ and
// is_keyword_hint_).
std::wstring keyword() const {
- return (is_keyword_hint_ ? has_focus_ : (keyword_ui_state_ != NO_KEYWORD)) ?
+ return (is_keyword_hint_ || (keyword_ui_state_ != NO_KEYWORD)) ?
keyword_ : std::wstring();
}
bool is_keyword_hint() const { return is_keyword_hint_; }
@@ -220,10 +220,6 @@ class AutocompleteEditModel : public NotificationObserver {
// currently visible in the edit.
void ClearKeyword(const std::wstring& visible_text);
- // True if we should show the "Type to search" hint (see comments on
- // show_search_hint_).
- bool show_search_hint() const { return has_focus_ && show_search_hint_; }
-
// Returns true if a query to an autocomplete provider is currently
// in progress. This logic should in the future live in
// AutocompleteController but resides here for now. This method is used by
@@ -260,21 +256,20 @@ class AutocompleteEditModel : public NotificationObserver {
// Called when any relevant data changes. This rolls together several
// separate pieces of data into one call so we can update all the UI
// efficiently:
- // |text| is either the new temporary text (if |is_temporary_text| is true)
- // from the user manually selecting a different match, or the inline
- // autocomplete text (if |is_temporary_text| is false).
+ // |text| is either the new temporary text from the user manually selecting
+ // a different match, or the inline autocomplete text. We distinguish by
+ // checking if |destination_for_temporary_text_change| is NULL.
+ // |destination_for_temporary_text_change| is NULL (if temporary text should
+ // not change) or the pre-change desitnation URL (if temporary text should
+ // change) so we can save it off to restore later.
// |keyword| is the keyword to show a hint for if |is_keyword_hint| is true,
// or the currently selected keyword if |is_keyword_hint| is false (see
// comments on keyword_ and is_keyword_hint_).
- // |type| is the type of match selected; this is used to determine whether
- // we can show the "Type to search" hint (see comments on
- // show_search_hint_).
void OnPopupDataChanged(
const std::wstring& text,
- bool is_temporary_text,
+ GURL* destination_for_temporary_text_change,
const std::wstring& keyword,
- bool is_keyword_hint,
- AutocompleteMatch::Type type);
+ bool is_keyword_hint);
// Called by the AutocompleteEditView after something changes, with details
// about what state changes occured. Updates internal state, updates the
@@ -326,16 +321,10 @@ class AutocompleteEditModel : public NotificationObserver {
std::wstring DisplayTextFromUserText(const std::wstring& text) const;
std::wstring UserTextFromDisplayText(const std::wstring& text) const;
- // Returns the URL. If the user has not edited the text, this returns the
- // permanent text. If the user has edited the text, this returns the default
- // match based on the current text, which may be a search URL, or keyword
- // generated URL.
- //
- // See AutocompleteEdit for a description of the args (they may be null if
- // not needed).
- GURL GetURLForCurrentText(PageTransition::Type* transition,
- bool* is_history_what_you_typed_match,
- GURL* alternate_nav_url) const;
+ // Returns the default match for the current text, as well as the alternate
+ // nav URL, if |alternate_nav_url| is non-NULL and there is such a URL.
+ void GetInfoForCurrentText(AutocompleteMatch* match,
+ GURL* alternate_nav_url) const;
AutocompleteEditView* view_;
@@ -432,10 +421,6 @@ class AutocompleteEditModel : public NotificationObserver {
// See KeywordUIState enum.
KeywordUIState keyword_ui_state_;
- // True when it's safe to show a "Type to search" hint to the user (when the
- // edit is empty, or the user is in the process of searching).
- bool show_search_hint_;
-
// Paste And Go-related state. See CanPasteAndGo().
mutable GURL paste_and_go_url_;
mutable PageTransition::Type paste_and_go_transition_;