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

Unified Diff: chrome/browser/ui/views/omnibox/omnibox_view_win.cc

Issue 10810062: Moving common code into OmniboxView from OmniboxView* (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: More win fixes Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/omnibox/omnibox_view_win.cc
diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_win.cc b/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
index 44a6e1ae928ea5d0d20920314ef45b40fde28138..ed68fedadc1daaf0d25cdbf707a21b812a1ad52f 100644
--- a/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
+++ b/chrome/browser/ui/views/omnibox/omnibox_view_win.cc
@@ -439,14 +439,12 @@ OmniboxViewWin::OmniboxViewWin(OmniboxEditController* controller,
bool popup_window_mode,
views::View* location_bar,
views::View* popup_parent_view)
- : model_(new OmniboxEditModel(this, controller, parent_view->profile())),
+ : OmniboxView(parent_view->profile(), controller, toolbar_model,
+ command_updater),
popup_view_(OmniboxPopupContentsView::Create(
parent_view->font(), this, model_.get(), location_bar,
popup_parent_view)),
- controller_(controller),
parent_view_(parent_view),
- toolbar_model_(toolbar_model),
- command_updater_(command_updater),
popup_window_mode_(popup_window_mode),
force_hidden_(false),
tracking_click_(),
@@ -628,15 +626,12 @@ void OmniboxViewWin::OpenMatch(const AutocompleteMatch& match,
WindowOpenDisposition disposition,
const GURL& alternate_nav_url,
size_t selected_line) {
- if (!match.destination_url.is_valid())
- return;
-
// When we navigate, we first revert to the unedited state, then if necessary
// synchronously change the permanent text to the new URL. If we don't freeze
// here, the user could potentially see a flicker of the current URL before
// the new one reappears, which would look glitchy.
ScopedFreeze freeze(this, GetTextObjectModel());
- model_->OpenMatch(match, disposition, alternate_nav_url, selected_line);
+ OmniboxView::OpenMatch(match, disposition, alternate_nav_url, selected_line);
}
string16 OmniboxViewWin::GetText() const {
@@ -647,28 +642,12 @@ string16 OmniboxViewWin::GetText() const {
return str;
}
-bool OmniboxViewWin::IsEditingOrEmpty() const {
- return model_->user_input_in_progress() || (GetTextLength() == 0);
-}
-
-int OmniboxViewWin::GetIcon() const {
- return IsEditingOrEmpty() ?
- AutocompleteMatch::TypeToIcon(model_->CurrentTextType()) :
- toolbar_model_->GetIcon();
-}
-
-void OmniboxViewWin::SetUserText(const string16& text) {
- SetUserText(text, text, true);
-}
-
void OmniboxViewWin::SetUserText(const string16& text,
const string16& display_text,
bool update_popup) {
ScopedFreeze freeze(this, GetTextObjectModel());
- model_->SetUserText(text);
saved_selection_for_focus_change_.cpMin = -1;
- SetWindowTextAndCaretPos(display_text, display_text.length(), update_popup,
- true);
+ OmniboxView::SetUserText(text, display_text, update_popup);
}
void OmniboxViewWin::SetWindowTextAndCaretPos(const string16& text,
@@ -689,7 +668,7 @@ void OmniboxViewWin::SetForcedQuery() {
const string16 current_text(GetText());
const size_t start = current_text.find_first_not_of(kWhitespaceWide);
if (start == string16::npos || (current_text[start] != '?'))
- SetUserText(L"?");
+ OmniboxView::SetUserText(L"?");
Peter Kasting 2012/07/26 03:59:17 Why is this a direct superclass call? That change
dominich 2012/07/26 22:33:24 There is no version in the derived class that take
Peter Kasting 2012/07/26 23:03:24 Oh, and scope resolution requires that we qualify
else
SetSelection(current_text.length(), start + 1);
}
@@ -721,9 +700,8 @@ void OmniboxViewWin::SelectAll(bool reversed) {
void OmniboxViewWin::RevertAll() {
ScopedFreeze freeze(this, GetTextObjectModel());
- ClosePopup();
saved_selection_for_focus_change_.cpMin = -1;
- model_->Revert();
+ OmniboxView::RevertAll();
}
void OmniboxViewWin::UpdatePopup() {
@@ -758,10 +736,6 @@ void OmniboxViewWin::UpdatePopup() {
(sel.cpMax < GetTextLength()) || IsImeComposing());
}
-void OmniboxViewWin::ClosePopup() {
- model_->StopAutocomplete();
-}
-
void OmniboxViewWin::SetFocus() {
::SetFocus(m_hWnd);
}
@@ -941,10 +915,6 @@ gfx::NativeView OmniboxViewWin::GetRelativeWindowForPopup() const {
return GetRelativeWindowForNativeView(GetNativeView());
}
-CommandUpdater* OmniboxViewWin::GetCommandUpdater() {
- return command_updater_;
-}
-
void OmniboxViewWin::SetInstantSuggestion(const string16& suggestion,
bool animate_to_complete) {
parent_view_->SetInstantSuggestion(suggestion, animate_to_complete);
@@ -1010,8 +980,8 @@ int OmniboxViewWin::OnPerformDropImpl(const views::DropTargetEvent& event,
string16 title;
if (data.GetURLAndTitle(&url, &title)) {
string16 text(StripJavascriptSchemas(UTF8ToUTF16(url.spec())));
- SetUserText(text);
- model()->AcceptInput(CURRENT_TAB, true);
+ OmniboxView::SetUserText(text);
Peter Kasting 2012/07/26 03:59:17 Another case where I'm not sure why this is a supe
dominich 2012/07/26 22:33:24 see above. There shouldn't be a functional change
+ GetModel()->AcceptInput(CURRENT_TAB, true);
return CopyOrLinkDragOperation(event.source_operations());
}
} else if (data.HasString()) {
@@ -2261,6 +2231,10 @@ LONG OmniboxViewWin::ClipXCoordToVisibleText(LONG x,
return is_triple_click ? (right_bound - 1) : right_bound;
}
+int OmniboxViewWin::GetOmniboxTextLength() const {
+ return static_cast<int>(GetTextLength());
+}
+
void OmniboxViewWin::EmphasizeURLComponents() {
ITextDocument* const text_object_model = GetTextObjectModel();
ScopedFreeze freeze(this, text_object_model);
@@ -2457,8 +2431,7 @@ void OmniboxViewWin::DrawDropHighlight(HDC hdc,
void OmniboxViewWin::TextChanged() {
ScopedFreeze freeze(this, GetTextObjectModel());
- EmphasizeURLComponents();
- model_->OnChanged();
+ OmniboxView::TextChanged();
}
ITextDocument* OmniboxViewWin::GetTextObjectModel() const {
@@ -2509,8 +2482,8 @@ void OmniboxViewWin::StartDragIfNecessary(const CPoint& point) {
// |sel| was set by GetSelection(), which preserves selection direction, so
// sel.cpMin may not be the smaller value.
- model()->AdjustTextForCopy(std::min(sel.cpMin, sel.cpMax), is_all_selected,
- &text_to_write, &url, &write_url);
+ GetModel()->AdjustTextForCopy(std::min(sel.cpMin, sel.cpMax), is_all_selected,
+ &text_to_write, &url, &write_url);
if (write_url) {
string16 title;
@@ -2666,10 +2639,3 @@ int OmniboxViewWin::WidthNeededToDisplay(const string16& text) const {
// PosFromChar(i) might return 0 when i is greater than 1.
return font_.GetStringWidth(text) + GetHorizontalMargin();
}
-
-bool OmniboxViewWin::IsCaretAtEnd() const {
- long length = GetTextLength();
- CHARRANGE sel;
- GetSelection(sel);
- return sel.cpMin == sel.cpMax && sel.cpMin == length;
-}

Powered by Google App Engine
This is Rietveld 408576698