diff --git a/chrome/browser/gtk/bookmark_bar_gtk.cc b/chrome/browser/gtk/bookmark_bar_gtk.cc index 67207d23a219363aff967580afa9e473f7fcbf9b..1ecf5c9e282053558d6e94ad2cf4c250418ac74e 100644 --- a/chrome/browser/gtk/bookmark_bar_gtk.cc +++ b/chrome/browser/gtk/bookmark_bar_gtk.cc @@ -593,8 +593,6 @@ void BookmarkBarGtk::ConnectFolderButtonEvents(GtkWidget* widget) { G_CALLBACK(OnButtonPressed), this); g_signal_connect(G_OBJECT(widget), "clicked", G_CALLBACK(OnFolderClicked), this); - - ViewIDUtil::SetID(widget, VIEW_ID_BOOKMARK_MENU); } const BookmarkNode* BookmarkBarGtk::GetNodeForToolButton(GtkWidget* widget) { diff --git a/chrome/browser/gtk/gtk_chrome_button.cc b/chrome/browser/gtk/gtk_chrome_button.cc index 35cd4f24bee38424c686dad94186021124f53187..01d6db709816e38d7eb6fd449d2469105a2ee5ef 100644 --- a/chrome/browser/gtk/gtk_chrome_button.cc +++ b/chrome/browser/gtk/gtk_chrome_button.cc @@ -44,7 +44,7 @@ static void gtk_chrome_button_class_init(GtkChromeButtonClass* button_class) { " GtkButton::child-displacement-x = 0" " GtkButton::child-displacement-y = 0" "}" - "widget \"*chrome-button\" style \"chrome-button\""); + "widget_class \"*.<GtkChromeButton>\" style \"chrome-button\""); GObjectClass* gobject_class = G_OBJECT_CLASS(button_class); GtkWidgetClass* widget_class = reinterpret_cast<GtkWidgetClass*>( @@ -81,7 +81,6 @@ static void gtk_chrome_button_init(GtkChromeButton* button) { priv->paint_state = -1; priv->use_gtk_rendering = FALSE; - gtk_widget_set_name(GTK_WIDGET(button), "chrome-button"); gtk_widget_set_app_paintable(GTK_WIDGET(button), TRUE); GTK_WIDGET_UNSET_FLAGS(button, GTK_CAN_FOCUS); diff --git a/chrome/browser/gtk/gtk_chrome_link_button.cc b/chrome/browser/gtk/gtk_chrome_link_button.cc index defb188fbbffe7a4ce87e1a4c66b3a57ddc103de..886da8e0916a066d2dab8e8f5304318c94dbed31 100644 --- a/chrome/browser/gtk/gtk_chrome_link_button.cc +++ b/chrome/browser/gtk/gtk_chrome_link_button.cc @@ -30,7 +30,7 @@ void SetLinkButtonStyle() { " xthickness = 0" " ythickness = 0" "}" - "widget \"*chrome-link-button\" style \"chrome-link-button\""); + "widget_class \"*.<GtkChromeLinkButton>\" style \"chrome-link-button\""); } } // namespace @@ -187,7 +187,6 @@ static void gtk_chrome_link_button_init(GtkChromeLinkButton* button) { button->text = NULL; gtk_container_add(GTK_CONTAINER(button), button->label); - gtk_widget_set_name(GTK_WIDGET(button), "chrome-link-button"); gtk_widget_set_app_paintable(GTK_WIDGET(button), TRUE); } diff --git a/chrome/browser/gtk/view_id_util.cc b/chrome/browser/gtk/view_id_util.cc index fe6501fd71bad4edfa6dc3132d679eab220f2be4..9a8a8759efdcc2a7d00f71ce7705765d3516da15 100644 --- a/chrome/browser/gtk/view_id_util.cc +++ b/chrome/browser/gtk/view_id_util.cc @@ -5,9 +5,12 @@ #include "chrome/browser/gtk/view_id_util.h" #include <stdint.h> +#include <string> #include <gtk/gtk.h> +#include "base/logging.h" + namespace { const char kViewIDString[] = "__VIEW_ID__"; @@ -54,9 +57,66 @@ void SearchForWidgetWithViewID(GtkWidget* widget, gpointer data) { } } +const char* GetNameFromID(ViewID id) { + switch (id) { + case VIEW_ID_TOOLBAR: + return "chrome-toolbar"; + + case VIEW_ID_BACK_BUTTON: + return "chrome-toolbar-back-button"; + + case VIEW_ID_FORWARD_BUTTON: + return "chrome-toolbar-forward-button"; + + case VIEW_ID_RELOAD_BUTTON: + return "chrome-toolbar-reload-button"; + + case VIEW_ID_HOME_BUTTON: + return "chrome-toolbar-home-button"; + + case VIEW_ID_STAR_BUTTON: + return "chrome-toolbar-star-button"; + + case VIEW_ID_LOCATION_BAR: + return "chrome-location-bar"; + + case VIEW_ID_GO_BUTTON: + return "chrome-toolbar-go-button"; + + case VIEW_ID_PAGE_MENU: + return "chrome-page-menu"; + + case VIEW_ID_APP_MENU: + return "chrome-app-menu"; + + case VIEW_ID_AUTOCOMPLETE: + return "chrome-autocomplete-edit"; + + case VIEW_ID_BOOKMARK_MENU: + return "chrome-bookmark-menu"; + + case VIEW_ID_BOOKMARK_BAR: + return "chrome-bookmark-bar"; + + case VIEW_ID_FIND_IN_PAGE_TEXT_FIELD: + return "chrome-find-in-page-entry"; + + // These are never hit because the tab container uses the delegate to + // set its ID. + case VIEW_ID_TAB_CONTAINER: + case VIEW_ID_TAB_CONTAINER_FOCUS_VIEW: + default: + NOTREACHED(); + return NULL; + } +} + } // namespace void ViewIDUtil::SetID(GtkWidget* widget, ViewID id) { + const char* name = GetNameFromID(id); + if (name) + gtk_widget_set_name(widget, name); g_object_set_data(G_OBJECT(widget), kViewIDString, reinterpret_cast<void*>(id)); } diff --git a/chrome/browser/gtk/view_id_util.h b/chrome/browser/gtk/view_id_util.h index 1ec65e868894c235cadcd8b32be077c727310676..23e67a62e4a82264cfd4fdf696260572b99f7460 100644 --- a/chrome/browser/gtk/view_id_util.h +++ b/chrome/browser/gtk/view_id_util.h @@ -17,6 +17,8 @@ class ViewIDUtil { virtual GtkWidget* GetWidgetForViewID(ViewID id) = 0; }; + // If you set the ID via this function, it will also set the name of your + // widget to a human-readable value for debugging. static void SetID(GtkWidget* widget, ViewID id); static GtkWidget* GetWidget(GtkWidget* root, ViewID id);