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

Side by Side 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, 11 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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include "chrome/browser/views/location_bar/location_bar_view.h" 5 #include "chrome/browser/views/location_bar/location_bar_view.h"
6 6
7 #if defined(OS_LINUX) 7 #if defined(OS_LINUX)
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 #endif 9 #endif
10 10
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 ev_bubble_view_->SetVisible(false); 155 ev_bubble_view_->SetVisible(false);
156 ev_bubble_view_->SetDragController(this); 156 ev_bubble_view_->SetDragController(this);
157 157
158 // URL edit field. 158 // URL edit field.
159 // View container for URL edit field. 159 // View container for URL edit field.
160 #if defined(OS_WIN) 160 #if defined(OS_WIN)
161 location_entry_.reset(new AutocompleteEditViewWin(font_, this, model_, this, 161 location_entry_.reset(new AutocompleteEditViewWin(font_, this, model_, this,
162 GetWidget()->GetNativeView(), profile_, command_updater_, 162 GetWidget()->GetNativeView(), profile_, command_updater_,
163 mode_ == POPUP, this)); 163 mode_ == POPUP, this));
164 #else 164 #else
165 location_entry_.reset(new AutocompleteEditViewGtk(this, model_, profile_, 165 location_entry_.reset(
166 command_updater_, mode_ == POPUP, this)); 166 AutocompleteEditViewGtk::Create(
167 location_entry_->Init(); 167 this, model_, profile_,
168 // Make all the children of the widget visible. NOTE: this won't display 168 command_updater_, mode_ == POPUP, this));
169 // anything, it just toggles the visible flag. 169 #endif
170 gtk_widget_show_all(location_entry_->GetNativeView());
171 // Hide the widget. NativeViewHostGtk will make it visible again as
172 // necessary.
173 gtk_widget_hide(location_entry_->GetNativeView());
174 170
175 // Associate an accessible name with the location entry. 171 location_entry_view_ = location_entry_->AddToView(this);
176 accessible_widget_helper_.reset(new AccessibleWidgetHelper(
177 location_entry_->text_view(), profile_));
178 accessible_widget_helper_->SetWidgetName(
179 location_entry_->text_view(),
180 l10n_util::GetStringUTF8(IDS_ACCNAME_LOCATION));
181 #endif
182 location_entry_view_ = new views::NativeViewHost;
183 location_entry_view_->SetID(VIEW_ID_AUTOCOMPLETE); 172 location_entry_view_->SetID(VIEW_ID_AUTOCOMPLETE);
184 AddChildView(location_entry_view_);
185 location_entry_view_->set_focus_view(this);
186 location_entry_view_->Attach(location_entry_->GetNativeView());
187 location_entry_view_->SetAccessibleName( 173 location_entry_view_->SetAccessibleName(
188 UTF16ToWide(l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION))); 174 UTF16ToWide(l10n_util::GetStringUTF16(IDS_ACCNAME_LOCATION)));
189 175
190 selected_keyword_view_ = new SelectedKeywordView( 176 selected_keyword_view_ = new SelectedKeywordView(
191 kSelectedKeywordBackgroundImages, IDR_KEYWORD_SEARCH_MAGNIFIER, 177 kSelectedKeywordBackgroundImages, IDR_KEYWORD_SEARCH_MAGNIFIER,
192 GetColor(ToolbarModel::NONE, TEXT), profile_), 178 GetColor(ToolbarModel::NONE, TEXT), profile_),
193 AddChildView(selected_keyword_view_); 179 AddChildView(selected_keyword_view_);
194 selected_keyword_view_->SetFont(font_); 180 selected_keyword_view_->SetFont(font_);
195 selected_keyword_view_->SetVisible(false); 181 selected_keyword_view_->SetVisible(false);
196 182
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 760
775 InstantController* instant = delegate_->GetInstant(); 761 InstantController* instant = delegate_->GetInstant();
776 if (instant) 762 if (instant)
777 instant->OnAutocompleteLostFocus(view_gaining_focus); 763 instant->OnAutocompleteLostFocus(view_gaining_focus);
778 } 764 }
779 765
780 void LocationBarView::OnAutocompleteWillAccept() { 766 void LocationBarView::OnAutocompleteWillAccept() {
781 update_instant_ = false; 767 update_instant_ = false;
782 } 768 }
783 769
784 bool LocationBarView::OnCommitSuggestedText(const std::wstring& typed_text) { 770 bool LocationBarView::OnCommitSuggestedText(const std::wstring& typed_text) {
James Su 2011/01/06 23:01:35 How about remove this method's parameter? The type
oshima 2011/01/07 01:49:39 Which assumes that controller has these informatio
785 InstantController* instant = delegate_->GetInstant(); 771 InstantController* instant = delegate_->GetInstant();
786 if (!instant) 772 if (!instant)
787 return false; 773 return false;
788 774 std::wstring suggestion;
789 #if defined(OS_WIN) 775 #if defined(OS_WIN)
790 if (!HasValidSuggestText()) 776 if (!HasValidSuggestText())
791 return false; 777 return false;
792 location_entry_->model()->FinalizeInstantQuery( 778 suggestion = suggested_text_view_->GetText();
793 typed_text,
794 suggested_text_view_->GetText());
795 return true;
796 #else
797 return location_entry_->CommitInstantSuggestion();
798 #endif 779 #endif
780 return location_entry_->CommitInstantSuggestion(typed_text, suggestion);
799 } 781 }
800 782
801 bool LocationBarView::AcceptCurrentInstantPreview() { 783 bool LocationBarView::AcceptCurrentInstantPreview() {
802 return InstantController::CommitIfCurrent(delegate_->GetInstant()); 784 return InstantController::CommitIfCurrent(delegate_->GetInstant());
803 } 785 }
804 786
805 void LocationBarView::OnSetSuggestedSearchText(const string16& suggested_text) { 787 void LocationBarView::OnSetSuggestedSearchText(const string16& suggested_text) {
806 SetSuggestedText(suggested_text); 788 SetSuggestedText(suggested_text);
807 } 789 }
808 790
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 // harmless. 822 // harmless.
841 delete fetcher; 823 delete fetcher;
842 } else { 824 } else {
843 // The navigation controller will delete the fetcher. 825 // The navigation controller will delete the fetcher.
844 } 826 }
845 } 827 }
846 } 828 }
847 } 829 }
848 830
849 if (delegate_->GetInstant() && 831 if (delegate_->GetInstant() &&
850 !location_entry_->model()->popup_model()->IsOpen()) { 832 !location_entry_->model()->popup_model()->IsOpen())
851 delegate_->GetInstant()->DestroyPreviewContents(); 833 delegate_->GetInstant()->DestroyPreviewContents();
852 }
853 834
854 update_instant_ = true; 835 update_instant_ = true;
855 } 836 }
856 837
857 void LocationBarView::OnChanged() { 838 void LocationBarView::OnChanged() {
858 location_icon_view_->SetImage( 839 location_icon_view_->SetImage(
859 ResourceBundle::GetSharedInstance().GetBitmapNamed( 840 ResourceBundle::GetSharedInstance().GetBitmapNamed(
860 location_entry_->GetIcon())); 841 location_entry_->GetIcon()));
861 Layout(); 842 Layout();
862 SchedulePaint(); 843 SchedulePaint();
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 } else if (suggested_text_view_) { 1146 } else if (suggested_text_view_) {
1166 delete suggested_text_view_; 1147 delete suggested_text_view_;
1167 suggested_text_view_ = NULL; 1148 suggested_text_view_ = NULL;
1168 } else { 1149 } else {
1169 return; 1150 return;
1170 } 1151 }
1171 1152
1172 Layout(); 1153 Layout();
1173 SchedulePaint(); 1154 SchedulePaint();
1174 #else 1155 #else
1175 location_entry_->SetInstantSuggestion(UTF16ToUTF8(input)); 1156 location_entry_->SetInstantSuggestion(input);
1176 #endif 1157 #endif
1177 } 1158 }
1178 1159
1179 std::wstring LocationBarView::GetInputString() const { 1160 std::wstring LocationBarView::GetInputString() const {
1180 return location_input_; 1161 return location_input_;
1181 } 1162 }
1182 1163
1183 WindowOpenDisposition LocationBarView::GetWindowOpenDisposition() const { 1164 WindowOpenDisposition LocationBarView::GetWindowOpenDisposition() const {
1184 return disposition_; 1165 return disposition_;
1185 } 1166 }
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1265 template_url_model_ = NULL; 1246 template_url_model_ = NULL;
1266 ShowFirstRunBubble(bubble_type_); 1247 ShowFirstRunBubble(bubble_type_);
1267 } 1248 }
1268 1249
1269 #if defined(OS_WIN) 1250 #if defined(OS_WIN)
1270 bool LocationBarView::HasValidSuggestText() { 1251 bool LocationBarView::HasValidSuggestText() {
1271 return suggested_text_view_ && !suggested_text_view_->size().IsEmpty() && 1252 return suggested_text_view_ && !suggested_text_view_->size().IsEmpty() &&
1272 !suggested_text_view_->GetText().empty(); 1253 !suggested_text_view_->GetText().empty();
1273 } 1254 }
1274 #endif 1255 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698