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

Side by Side Diff: chrome/browser/gtk/location_bar_view_gtk.cc

Issue 1578021: Shift omnibox dropdown in and up on Windows, and square off the top, so it co... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 8 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/gtk/location_bar_view_gtk.h" 5 #include "chrome/browser/gtk/location_bar_view_gtk.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "app/gtk_dnd_util.h" 9 #include "app/gtk_dnd_util.h"
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 131
132 } // namespace 132 } // namespace
133 133
134 //////////////////////////////////////////////////////////////////////////////// 134 ////////////////////////////////////////////////////////////////////////////////
135 // LocationBarViewGtk 135 // LocationBarViewGtk
136 136
137 // static 137 // static
138 const GdkColor LocationBarViewGtk::kBackgroundColor = 138 const GdkColor LocationBarViewGtk::kBackgroundColor =
139 GDK_COLOR_RGB(255, 255, 255); 139 GDK_COLOR_RGB(255, 255, 255);
140 140
141 LocationBarViewGtk::LocationBarViewGtk( 141 LocationBarViewGtk::LocationBarViewGtk(Browser* browser)
142 const BubblePositioner* bubble_positioner,
143 Browser* browser)
144 : star_image_(NULL), 142 : star_image_(NULL),
145 starred_(false), 143 starred_(false),
146 security_icon_event_box_(NULL), 144 security_icon_event_box_(NULL),
147 ev_secure_icon_image_(NULL), 145 ev_secure_icon_image_(NULL),
148 secure_icon_image_(NULL), 146 secure_icon_image_(NULL),
149 security_warning_icon_image_(NULL), 147 security_warning_icon_image_(NULL),
150 security_error_icon_image_(NULL), 148 security_error_icon_image_(NULL),
151 location_icon_event_box_(NULL), 149 location_icon_event_box_(NULL),
152 location_icon_image_(NULL), 150 location_icon_image_(NULL),
153 security_info_label_(NULL), 151 security_info_label_(NULL),
154 tab_to_search_box_(NULL), 152 tab_to_search_box_(NULL),
155 tab_to_search_full_label_(NULL), 153 tab_to_search_full_label_(NULL),
156 tab_to_search_partial_label_(NULL), 154 tab_to_search_partial_label_(NULL),
157 tab_to_search_hint_(NULL), 155 tab_to_search_hint_(NULL),
158 tab_to_search_hint_leading_label_(NULL), 156 tab_to_search_hint_leading_label_(NULL),
159 tab_to_search_hint_icon_(NULL), 157 tab_to_search_hint_icon_(NULL),
160 tab_to_search_hint_trailing_label_(NULL), 158 tab_to_search_hint_trailing_label_(NULL),
161 type_to_search_hint_(NULL), 159 type_to_search_hint_(NULL),
162 profile_(NULL), 160 profile_(NULL),
163 command_updater_(browser->command_updater()), 161 command_updater_(browser->command_updater()),
164 toolbar_model_(browser->toolbar_model()), 162 toolbar_model_(browser->toolbar_model()),
165 browser_(browser), 163 browser_(browser),
166 bubble_positioner_(bubble_positioner),
167 disposition_(CURRENT_TAB), 164 disposition_(CURRENT_TAB),
168 transition_(PageTransition::TYPED), 165 transition_(PageTransition::TYPED),
169 first_run_bubble_(this), 166 first_run_bubble_(this),
170 popup_window_mode_(false), 167 popup_window_mode_(false),
171 theme_provider_(NULL), 168 theme_provider_(NULL),
172 entry_box_width_(0), 169 entry_box_width_(0),
173 show_selected_keyword_(false), 170 show_selected_keyword_(false),
174 show_keyword_hint_(false), 171 show_keyword_hint_(false),
175 show_search_hint_(false) { 172 show_search_hint_(false) {
176 } 173 }
177 174
178 LocationBarViewGtk::~LocationBarViewGtk() { 175 LocationBarViewGtk::~LocationBarViewGtk() {
179 // All of our widgets should have be children of / owned by the alignment. 176 // All of our widgets should have be children of / owned by the alignment.
180 star_.Destroy(); 177 star_.Destroy();
181 hbox_.Destroy(); 178 hbox_.Destroy();
182 content_setting_hbox_.Destroy(); 179 content_setting_hbox_.Destroy();
183 page_action_hbox_.Destroy(); 180 page_action_hbox_.Destroy();
184 } 181 }
185 182
186 void LocationBarViewGtk::Init(bool popup_window_mode) { 183 void LocationBarViewGtk::Init(bool popup_window_mode) {
187 popup_window_mode_ = popup_window_mode; 184 popup_window_mode_ = popup_window_mode;
188 location_entry_.reset(new AutocompleteEditViewGtk(this,
189 toolbar_model_,
190 profile_,
191 command_updater_,
192 popup_window_mode_,
193 bubble_positioner_));
194 location_entry_->Init();
195 185
186 // Create the widget first, so we can pass it to the AutocompleteEditViewGtk.
196 hbox_.Own(gtk_hbox_new(FALSE, kInnerPadding)); 187 hbox_.Own(gtk_hbox_new(FALSE, kInnerPadding));
197 gtk_container_set_border_width(GTK_CONTAINER(hbox_.get()), kHboxBorder); 188 gtk_container_set_border_width(GTK_CONTAINER(hbox_.get()), kHboxBorder);
198 // We will paint for the alignment, to paint the background and border. 189 // We will paint for the alignment, to paint the background and border.
199 gtk_widget_set_app_paintable(hbox_.get(), TRUE); 190 gtk_widget_set_app_paintable(hbox_.get(), TRUE);
200 // Redraw the whole location bar when it changes size (e.g., when toggling 191 // Redraw the whole location bar when it changes size (e.g., when toggling
201 // the home button on/off. 192 // the home button on/off.
202 gtk_widget_set_redraw_on_allocate(hbox_.get(), TRUE); 193 gtk_widget_set_redraw_on_allocate(hbox_.get(), TRUE);
203 194
195 // Now initialize the AutocompleteEditViewGtk.
196 location_entry_.reset(new AutocompleteEditViewGtk(this,
197 toolbar_model_,
198 profile_,
199 command_updater_,
200 popup_window_mode_,
201 hbox_.get()));
202 location_entry_->Init();
203
204 security_info_label_ = gtk_label_new(NULL); 204 security_info_label_ = gtk_label_new(NULL);
205 gtk_widget_modify_base(security_info_label_, GTK_STATE_NORMAL, 205 gtk_widget_modify_base(security_info_label_, GTK_STATE_NORMAL,
206 &LocationBarViewGtk::kBackgroundColor); 206 &LocationBarViewGtk::kBackgroundColor);
207 gtk_widget_set_name(security_info_label_, 207 gtk_widget_set_name(security_info_label_,
208 "chrome-location-bar-security-info-label"); 208 "chrome-location-bar-security-info-label");
209 209
210 g_signal_connect(hbox_.get(), "expose-event", 210 g_signal_connect(hbox_.get(), "expose-event",
211 G_CALLBACK(&HandleExposeThunk), this); 211 G_CALLBACK(&HandleExposeThunk), this);
212 212
213 BuildLocationIcon(); 213 BuildLocationIcon();
(...skipping 1089 matching lines...) Expand 10 before | Expand all | Expand 10 after
1303 1303
1304 std::string badge_text = page_action_->GetBadgeText(tab_id); 1304 std::string badge_text = page_action_->GetBadgeText(tab_id);
1305 if (badge_text.empty()) 1305 if (badge_text.empty())
1306 return FALSE; 1306 return FALSE;
1307 1307
1308 gfx::CanvasPaint canvas(event, false); 1308 gfx::CanvasPaint canvas(event, false);
1309 gfx::Rect bounding_rect(widget->allocation); 1309 gfx::Rect bounding_rect(widget->allocation);
1310 page_action_->PaintBadge(&canvas, bounding_rect, tab_id); 1310 page_action_->PaintBadge(&canvas, bounding_rect, tab_id);
1311 return FALSE; 1311 return FALSE;
1312 } 1312 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698