| Index: chrome/browser/gtk/location_bar_view_gtk.cc
|
| diff --git a/chrome/browser/gtk/location_bar_view_gtk.cc b/chrome/browser/gtk/location_bar_view_gtk.cc
|
| index 8694c410f771cb6584b2123f177a5665bacf0e3d..a53b24460dbc57ae2c553d3379a992010610a7c5 100644
|
| --- a/chrome/browser/gtk/location_bar_view_gtk.cc
|
| +++ b/chrome/browser/gtk/location_bar_view_gtk.cc
|
| @@ -48,25 +48,14 @@ const int kFirstRunBubbleTopMargin = 1;
|
| // Task delay (in milliseconds) to show first run bubble.
|
| const int kFirstRunBubbleTaskDelay = 200;
|
|
|
| -// Left and right padding/margin.
|
| -// no icon/text : 4px url_text 4px
|
| -// [4px|url text|4px] <hide ssl icon> <hide ev text>
|
| -// with icon : 4px url_text 6px ssl_icon 8px
|
| -// [4px|url text|4px] [2px|ssl icon|8px] <hide ev text>
|
| -// with icon/text: 4px url_text 6px ssl_icon 8px ev_text 4px]
|
| -// [4px|url text|4px] [2px|ssl icon|8px] [ev text|4px]
|
| +// The padding around the top, bottom, and sides of the location bar hbox.
|
| +// We don't want to edit control's text to be right against the edge,
|
| +// as well the tab to search box and other widgets need to have the padding on
|
| +// top and bottom to avoid drawing larger than the location bar space.
|
| +const int kHboxBorder = 4;
|
|
|
| -// We don't want to edit control's text to be right against the edge.
|
| -const int kEditLeftRightPadding = 4;
|
| -
|
| -// Padding around the security icon.
|
| -const int kSecurityIconPaddingLeft = 0;
|
| -const int kSecurityIconPaddingRight = 6;
|
| -
|
| -const int kEvTextPaddingRight = 4;
|
| -
|
| -const int kKeywordTopBottomPadding = 4;
|
| -const int kKeywordLeftRightPadding = 4;
|
| +// Padding between the elements in the bar.
|
| +static const int kInnerPadding = 4;
|
|
|
| // TODO(deanm): Eventually this should be painted with the background png
|
| // image, but for now we get pretty close by just drawing a solid border.
|
| @@ -102,12 +91,10 @@ const GdkColor LocationBarViewGtk::kBackgroundColorByLevel[3] = {
|
|
|
| LocationBarViewGtk::LocationBarViewGtk(CommandUpdater* command_updater,
|
| ToolbarModel* toolbar_model, AutocompletePopupPositioner* popup_positioner)
|
| - : security_icon_align_(NULL),
|
| + : security_icon_event_box_(NULL),
|
| security_lock_icon_image_(NULL),
|
| security_warning_icon_image_(NULL),
|
| - info_label_align_(NULL),
|
| info_label_(NULL),
|
| - tab_to_search_(NULL),
|
| tab_to_search_box_(NULL),
|
| tab_to_search_label_(NULL),
|
| tab_to_search_hint_(NULL),
|
| @@ -140,7 +127,8 @@ void LocationBarViewGtk::Init(bool popup_window_mode) {
|
| popup_positioner_));
|
| location_entry_->Init();
|
|
|
| - hbox_.Own(gtk_hbox_new(FALSE, 0));
|
| + hbox_.Own(gtk_hbox_new(FALSE, kInnerPadding));
|
| + gtk_container_set_border_width(GTK_CONTAINER(hbox_.get()), kHboxBorder);
|
| // We will paint for the alignment, to paint the background and border.
|
| gtk_widget_set_app_paintable(hbox_.get(), TRUE);
|
| // Have GTK double buffer around the expose signal.
|
| @@ -167,20 +155,14 @@ void LocationBarViewGtk::Init(bool popup_window_mode) {
|
|
|
| // Tab to search (the keyword box on the left hand side).
|
| tab_to_search_label_ = gtk_label_new(NULL);
|
| - // We need an alignment to pad our box inside the edit area.
|
| - tab_to_search_ = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
|
| - gtk_alignment_set_padding(GTK_ALIGNMENT(tab_to_search_),
|
| - kKeywordTopBottomPadding, kKeywordTopBottomPadding,
|
| - kKeywordLeftRightPadding, kKeywordLeftRightPadding);
|
| -
|
| - // This crazy stack of alignments and event boxes creates a box around the
|
| - // keyword text with a border, background color, and padding around the text.
|
| +
|
| + // This creates a box around the keyword text with a border, background color,
|
| + // and padding around the text.
|
| tab_to_search_box_ = gtk_util::CreateGtkBorderBin(
|
| tab_to_search_label_, NULL, 1, 1, 2, 2);
|
| gtk_util::ActAsRoundedWindow(tab_to_search_box_, kBorderColor, kCornerSize,
|
| gtk_util::ROUNDED_ALL, gtk_util::BORDER_ALL);
|
| - gtk_container_add(GTK_CONTAINER(tab_to_search_), tab_to_search_box_);
|
| - gtk_box_pack_start(GTK_BOX(hbox_.get()), tab_to_search_, FALSE, FALSE, 0);
|
| + gtk_box_pack_start(GTK_BOX(hbox_.get()), tab_to_search_box_, FALSE, FALSE, 0);
|
|
|
| GtkWidget* align = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
|
| // TODO(erg): Like in BrowserToolbarGtk, this used to have a code path on
|
| @@ -191,13 +173,13 @@ void LocationBarViewGtk::Init(bool popup_window_mode) {
|
| gtk_alignment_set_padding(GTK_ALIGNMENT(align),
|
| kTopMargin + kBorderThickness,
|
| kBottomMargin + kBorderThickness,
|
| - kEditLeftRightPadding + kBorderThickness,
|
| - kEditLeftRightPadding + kBorderThickness);
|
| + kBorderThickness,
|
| + kBorderThickness);
|
| } else {
|
| gtk_alignment_set_padding(GTK_ALIGNMENT(align),
|
| kTopMargin + kBorderThickness,
|
| kBottomMargin + kBorderThickness,
|
| - kEditLeftRightPadding, kEditLeftRightPadding);
|
| + 0, 0);
|
| }
|
| gtk_container_add(GTK_CONTAINER(align), location_entry_->widget());
|
| gtk_box_pack_start(GTK_BOX(hbox_.get()), align, TRUE, TRUE, 0);
|
| @@ -223,13 +205,7 @@ void LocationBarViewGtk::Init(bool popup_window_mode) {
|
|
|
| // Pack info_label_ and security icons in hbox. We hide/show them
|
| // by SetSecurityIcon() and SetInfoText().
|
| - info_label_align_ = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
|
| - gtk_alignment_set_padding(GTK_ALIGNMENT(info_label_align_),
|
| - kTopMargin + kBorderThickness,
|
| - kBottomMargin + kBorderThickness,
|
| - 0, kEvTextPaddingRight);
|
| - gtk_container_add(GTK_CONTAINER(info_label_align_), info_label_);
|
| - gtk_box_pack_end(GTK_BOX(hbox_.get()), info_label_align_, FALSE, FALSE, 0);
|
| + gtk_box_pack_end(GTK_BOX(hbox_.get()), info_label_, FALSE, FALSE, 0);
|
|
|
| GtkWidget* security_icon_box = gtk_hbox_new(FALSE, 0);
|
| gtk_box_pack_start(GTK_BOX(security_icon_box),
|
| @@ -237,23 +213,18 @@ void LocationBarViewGtk::Init(bool popup_window_mode) {
|
| gtk_box_pack_start(GTK_BOX(security_icon_box),
|
| security_warning_icon_image_, FALSE, FALSE, 0);
|
|
|
| - security_icon_align_ = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
|
| - gtk_alignment_set_padding(GTK_ALIGNMENT(security_icon_align_),
|
| - kTopMargin + kBorderThickness,
|
| - kBottomMargin + kBorderThickness,
|
| - kSecurityIconPaddingLeft,
|
| - kSecurityIconPaddingRight);
|
| // GtkImage is a "no window" widget and requires a GtkEventBox to receive
|
| // events.
|
| - GtkWidget* event_box = gtk_event_box_new();
|
| + security_icon_event_box_ = gtk_event_box_new();
|
| // Make the event box not visible so it does not paint a background.
|
| - gtk_event_box_set_visible_window(GTK_EVENT_BOX(event_box), FALSE);
|
| - g_signal_connect(event_box, "button-press-event",
|
| + gtk_event_box_set_visible_window(GTK_EVENT_BOX(security_icon_event_box_),
|
| + FALSE);
|
| + g_signal_connect(security_icon_event_box_, "button-press-event",
|
| G_CALLBACK(&OnSecurityIconPressed), this);
|
|
|
| - gtk_container_add(GTK_CONTAINER(event_box), security_icon_box);
|
| - gtk_container_add(GTK_CONTAINER(security_icon_align_), event_box);
|
| - gtk_box_pack_end(GTK_BOX(hbox_.get()), security_icon_align_, FALSE, FALSE, 0);
|
| + gtk_container_add(GTK_CONTAINER(security_icon_event_box_), security_icon_box);
|
| + gtk_box_pack_end(GTK_BOX(hbox_.get()), security_icon_event_box_,
|
| + FALSE, FALSE, 0);
|
|
|
| registrar_.Add(this,
|
| NotificationType::BROWSER_THEME_CHANGED,
|
| @@ -323,9 +294,9 @@ void LocationBarViewGtk::OnChanged() {
|
|
|
| if (show_selected_keyword) {
|
| SetKeywordLabel(keyword);
|
| - gtk_widget_show_all(tab_to_search_);
|
| + gtk_widget_show_all(tab_to_search_box_);
|
| } else {
|
| - gtk_widget_hide_all(tab_to_search_);
|
| + gtk_widget_hide_all(tab_to_search_box_);
|
| }
|
|
|
| if (show_keyword_hint) {
|
| @@ -510,9 +481,9 @@ void LocationBarViewGtk::SetSecurityIcon(ToolbarModel::Icon icon) {
|
| gtk_widget_hide(GTK_WIDGET(security_lock_icon_image_));
|
| gtk_widget_hide(GTK_WIDGET(security_warning_icon_image_));
|
| if (icon != ToolbarModel::NO_ICON)
|
| - gtk_widget_show(GTK_WIDGET(security_icon_align_));
|
| + gtk_widget_show(GTK_WIDGET(security_icon_event_box_));
|
| else
|
| - gtk_widget_hide(GTK_WIDGET(security_icon_align_));
|
| + gtk_widget_hide(GTK_WIDGET(security_icon_event_box_));
|
| switch (icon) {
|
| case ToolbarModel::LOCK_ICON:
|
| gtk_widget_show(GTK_WIDGET(security_lock_icon_image_));
|
| @@ -535,12 +506,12 @@ void LocationBarViewGtk::SetInfoText() {
|
| if (info_text_type == ToolbarModel::INFO_EV_TEXT) {
|
| gtk_widget_modify_fg(GTK_WIDGET(info_label_), GTK_STATE_NORMAL,
|
| &kEvTextColor);
|
| - gtk_widget_show(GTK_WIDGET(info_label_align_));
|
| + gtk_widget_show(GTK_WIDGET(info_label_));
|
| } else {
|
| DCHECK_EQ(info_text_type, ToolbarModel::INFO_NO_INFO);
|
| DCHECK(info_text.empty());
|
| // Clear info_text. Should we reset the fg here?
|
| - gtk_widget_hide(GTK_WIDGET(info_label_align_));
|
| + gtk_widget_hide(GTK_WIDGET(info_label_));
|
| }
|
| gtk_label_set_text(GTK_LABEL(info_label_), WideToUTF8(info_text).c_str());
|
| gtk_widget_set_tooltip_text(GTK_WIDGET(info_label_),
|
|
|