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

Unified Diff: chrome/browser/ui/views/location_bar/location_bar_view.cc

Issue 6036004: Refactor AutocompleteEditViewGtk so that AutocompleteEditView impl can be swapped. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: " Created 9 years, 12 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/location_bar/location_bar_view.cc
diff --git a/chrome/browser/ui/views/location_bar/location_bar_view.cc b/chrome/browser/ui/views/location_bar/location_bar_view.cc
index 791591665fdae7d0b9a0129b5018752ddbd1b455..3a38ff5049531344ab1bc56a2bf5ffe1b41acf13 100644
--- a/chrome/browser/ui/views/location_bar/location_bar_view.cc
+++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc
@@ -162,28 +162,14 @@ void LocationBarView::Init() {
GetWidget()->GetNativeView(), profile_, command_updater_,
mode_ == POPUP, this));
#else
- location_entry_.reset(new AutocompleteEditViewGtk(this, model_, profile_,
- command_updater_, mode_ == POPUP, this));
- location_entry_->Init();
- // Make all the children of the widget visible. NOTE: this won't display
- // anything, it just toggles the visible flag.
- gtk_widget_show_all(location_entry_->GetNativeView());
- // Hide the widget. NativeViewHostGtk will make it visible again as
- // necessary.
- gtk_widget_hide(location_entry_->GetNativeView());
-
- // Associate an accessible name with the location entry.
- accessible_widget_helper_.reset(new AccessibleWidgetHelper(
- location_entry_->text_view(), profile_));
- accessible_widget_helper_->SetWidgetName(
- location_entry_->text_view(),
- l10n_util::GetStringUTF8(IDS_ACCNAME_LOCATION));
+ location_entry_.reset(
+ AutocompleteEditViewGtk::Create(
+ this, model_, profile_,
+ command_updater_, mode_ == POPUP, this));
#endif
- location_entry_view_ = new views::NativeViewHost;
+
+ location_entry_view_ = location_entry_->AddToView(this);
location_entry_view_->SetID(VIEW_ID_AUTOCOMPLETE);
- AddChildView(location_entry_view_);
- location_entry_view_->set_focus_view(this);
- location_entry_view_->Attach(location_entry_->GetNativeView());
location_entry_view_->SetAccessibleName(
l10n_util::GetString(IDS_ACCNAME_LOCATION));
@@ -782,19 +768,14 @@ void LocationBarView::OnAutocompleteWillAccept() {
bool LocationBarView::OnCommitSuggestedText(const std::wstring& typed_text) {
InstantController* instant = delegate_->GetInstant();
- if (!instant)
+ if (!instant || !HasValidSuggestText())
return false;
-
#if defined(OS_WIN)
Peter Kasting 2011/01/06 02:06:48 Nit: While I like const locals, most Chrome code a
oshima 2011/01/06 19:43:35 Done.
- if (!HasValidSuggestText())
- return false;
- location_entry_->model()->FinalizeInstantQuery(
- typed_text,
- suggested_text_view_->GetText());
- return true;
+ const std::wstring suggestion = suggested_text_view_->GetText();
#else
- return location_entry_->CommitInstantSuggestion();
+ const std::wstring suggestion;
#endif
+ return location_entry_->CommitInstantSuggestion(typed_text, suggestion);
}
bool LocationBarView::AcceptCurrentInstantPreview() {
@@ -1169,7 +1150,7 @@ void LocationBarView::SetSuggestedText(const string16& input) {
Layout();
SchedulePaint();
#else
- location_entry_->SetInstantSuggestion(UTF16ToUTF8(input));
+ location_entry_->SetInstantSuggestion(input);
#endif
}
@@ -1263,9 +1244,11 @@ void LocationBarView::OnTemplateURLModelChanged() {
ShowFirstRunBubble(bubble_type_);
}
-#if defined(OS_WIN)
bool LocationBarView::HasValidSuggestText() {
+#if defined(OS_WIN)
return suggested_text_view_ && !suggested_text_view_->size().IsEmpty() &&
!suggested_text_view_->GetText().empty();
-}
+#else
+ return true;
Peter Kasting 2011/01/06 02:06:48 Nit: Wouldn't it be better to call the Autocomplet
oshima 2011/01/06 19:43:35 Thank you for suggestion. Yes, i'm planning to ref
#endif
+}

Powered by Google App Engine
This is Rietveld 408576698