summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/browser_main.cc4
-rw-r--r--chrome/browser/gtk/bookmark_manager_gtk.cc1
-rw-r--r--chrome/browser/gtk/browser_window_gtk.cc1
-rw-r--r--chrome/browser/gtk/hung_renderer_dialog_gtk.cc1
-rw-r--r--chrome/browser/gtk/keyword_editor_view.cc1
-rw-r--r--chrome/browser/gtk/options/fonts_languages_window_gtk.cc1
-rw-r--r--chrome/browser/gtk/options/options_window_gtk.cc1
-rw-r--r--chrome/browser/gtk/options/passwords_exceptions_window_gtk.cc1
-rw-r--r--chrome/browser/gtk/page_info_window_gtk.cc1
-rw-r--r--chrome/browser/gtk/process_singleton_dialog.cc1
-rw-r--r--chrome/browser/gtk/task_manager_gtk.cc1
-rw-r--r--chrome/common/gtk_util.cc20
-rw-r--r--chrome/common/gtk_util.h3
13 files changed, 23 insertions, 14 deletions
diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc
index d487b33..d9963c1 100644
--- a/chrome/browser/browser_main.cc
+++ b/chrome/browser/browser_main.cc
@@ -451,6 +451,10 @@ int BrowserMain(const MainFunctionParams& parameters) {
}
#endif // !defined(OS_MACOSX)
+#if defined(OS_LINUX)
+ gtk_util::SetDefaultWindowIcon();
+#endif
+
#if defined(OS_WIN)
// This is experimental code. See first_run_win.cc for more info.
if (parsed_command_line.HasSwitch(switches::kTryChromeAgain)) {
diff --git a/chrome/browser/gtk/bookmark_manager_gtk.cc b/chrome/browser/gtk/bookmark_manager_gtk.cc
index 8c33312..278f8ac 100644
--- a/chrome/browser/gtk/bookmark_manager_gtk.cc
+++ b/chrome/browser/gtk/bookmark_manager_gtk.cc
@@ -308,7 +308,6 @@ BookmarkManagerGtk::BookmarkManagerGtk(Profile* profile)
ignore_rightclicks_(false) {
InitWidgets();
ConnectAccelerators();
- gtk_util::SetWindowIcon(GTK_WINDOW(window_));
model_->AddObserver(this);
if (model_->IsLoaded())
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc
index d3adae5..acb9745 100644
--- a/chrome/browser/gtk/browser_window_gtk.cc
+++ b/chrome/browser/gtk/browser_window_gtk.cc
@@ -513,7 +513,6 @@ BrowserWindowGtk::BrowserWindowGtk(Browser* browser)
gtk_window_group_add_window(gtk_window_group_new(), window_);
g_object_unref(gtk_window_get_group(window_));
- gtk_util::SetWindowIcon(window_);
SetGeometryHints();
ConnectHandlersToSignals();
ConnectAccelerators();
diff --git a/chrome/browser/gtk/hung_renderer_dialog_gtk.cc b/chrome/browser/gtk/hung_renderer_dialog_gtk.cc
index 2c91ab7..8c67ab4 100644
--- a/chrome/browser/gtk/hung_renderer_dialog_gtk.cc
+++ b/chrome/browser/gtk/hung_renderer_dialog_gtk.cc
@@ -74,7 +74,6 @@ void HungRendererDialogGtk::Init() {
l10n_util::GetStringUTF8(IDS_BROWSER_HANGMONITOR_RENDERER_WAIT).c_str(),
GTK_RESPONSE_OK,
NULL));
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
gtk_dialog_set_default_response(dialog_, GTK_RESPONSE_OK);
g_signal_connect(dialog_, "response", G_CALLBACK(OnDialogResponseThunk),
this);
diff --git a/chrome/browser/gtk/keyword_editor_view.cc b/chrome/browser/gtk/keyword_editor_view.cc
index f3e6e19..763ab32 100644
--- a/chrome/browser/gtk/keyword_editor_view.cc
+++ b/chrome/browser/gtk/keyword_editor_view.cc
@@ -92,7 +92,6 @@ void KeywordEditorView::Init() {
GTK_STOCK_CLOSE,
GTK_RESPONSE_CLOSE,
NULL);
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
gtk_window_set_default_size(GTK_WINDOW(dialog_), kDialogDefaultWidth,
kDialogDefaultHeight);
diff --git a/chrome/browser/gtk/options/fonts_languages_window_gtk.cc b/chrome/browser/gtk/options/fonts_languages_window_gtk.cc
index af0242e..5898b4a 100644
--- a/chrome/browser/gtk/options/fonts_languages_window_gtk.cc
+++ b/chrome/browser/gtk/options/fonts_languages_window_gtk.cc
@@ -72,7 +72,6 @@ FontsLanguagesWindowGtk::FontsLanguagesWindowGtk(Profile* profile)
GTK_STOCK_CLOSE,
GTK_RESPONSE_CLOSE,
NULL);
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
gtk_window_set_default_size(GTK_WINDOW(dialog_), 500, -1);
gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog_)->vbox),
diff --git a/chrome/browser/gtk/options/options_window_gtk.cc b/chrome/browser/gtk/options/options_window_gtk.cc
index 28b9820..2f5c750 100644
--- a/chrome/browser/gtk/options/options_window_gtk.cc
+++ b/chrome/browser/gtk/options/options_window_gtk.cc
@@ -97,7 +97,6 @@ OptionsWindowGtk::OptionsWindowGtk(Profile* profile)
gtk_window_set_default_size(GTK_WINDOW(dialog_), 500, -1);
gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog_)->vbox),
gtk_util::kContentAreaSpacing);
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
notebook_ = gtk_notebook_new();
diff --git a/chrome/browser/gtk/options/passwords_exceptions_window_gtk.cc b/chrome/browser/gtk/options/passwords_exceptions_window_gtk.cc
index 1f1587b..d163a4f 100644
--- a/chrome/browser/gtk/options/passwords_exceptions_window_gtk.cc
+++ b/chrome/browser/gtk/options/passwords_exceptions_window_gtk.cc
@@ -83,7 +83,6 @@ PasswordsExceptionsWindowGtk::PasswordsExceptionsWindowGtk(Profile* profile)
kPasswordsExceptionsWindowInitialHeight);
gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog_)->vbox),
gtk_util::kContentAreaSpacing);
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
notebook_ = gtk_notebook_new();
diff --git a/chrome/browser/gtk/page_info_window_gtk.cc b/chrome/browser/gtk/page_info_window_gtk.cc
index 3a6ec47..dc3b6f6 100644
--- a/chrome/browser/gtk/page_info_window_gtk.cc
+++ b/chrome/browser/gtk/page_info_window_gtk.cc
@@ -84,7 +84,6 @@ PageInfoWindowGtk::PageInfoWindowGtk(gfx::NativeWindow parent,
gtk_window_set_default_size(GTK_WINDOW(dialog_), 500, -1);
gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog_)->vbox),
gtk_util::kContentAreaSpacing);
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
g_signal_connect(dialog_, "response", G_CALLBACK(OnDialogResponse), NULL);
g_signal_connect(dialog_, "destroy", G_CALLBACK(OnDestroy), this);
diff --git a/chrome/browser/gtk/process_singleton_dialog.cc b/chrome/browser/gtk/process_singleton_dialog.cc
index f63e789..a922bda 100644
--- a/chrome/browser/gtk/process_singleton_dialog.cc
+++ b/chrome/browser/gtk/process_singleton_dialog.cc
@@ -26,7 +26,6 @@ ProcessSingletonDialog::ProcessSingletonDialog(const std::string& message) {
l10n_util::GetStringUTF8(IDS_PRODUCT_NAME).c_str());
gtk_dialog_add_button(GTK_DIALOG(dialog_), GTK_STOCK_QUIT,
GTK_RESPONSE_REJECT);
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
g_signal_connect(G_OBJECT(dialog_), "response",
G_CALLBACK(OnResponse), this);
diff --git a/chrome/browser/gtk/task_manager_gtk.cc b/chrome/browser/gtk/task_manager_gtk.cc
index e9d4095..58c2d72 100644
--- a/chrome/browser/gtk/task_manager_gtk.cc
+++ b/chrome/browser/gtk/task_manager_gtk.cc
@@ -351,7 +351,6 @@ void TaskManagerGtk::Init() {
gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog_)->vbox),
gtk_util::kContentAreaSpacing);
- gtk_util::SetWindowIcon(GTK_WINDOW(dialog_));
g_signal_connect(G_OBJECT(dialog_), "response", G_CALLBACK(OnResponse), this);
g_signal_connect(G_OBJECT(dialog_), "button-release-event",
diff --git a/chrome/common/gtk_util.cc b/chrome/common/gtk_util.cc
index 31f9b82..16ce02b 100644
--- a/chrome/common/gtk_util.cc
+++ b/chrome/common/gtk_util.cc
@@ -49,6 +49,15 @@ gboolean OnMouseButtonReleased(GtkWidget* widget, GdkEventButton* event,
return TRUE;
}
+// Ownership of |icon_list| is passed to the caller.
+GList* GetIconList() {
+ ResourceBundle& rb = ResourceBundle::GetSharedInstance();
+ GList* icon_list = NULL;
+ icon_list = g_list_append(icon_list, rb.GetPixbufNamed(IDR_PRODUCT_ICON_32));
+ icon_list = g_list_append(icon_list, rb.GetPixbufNamed(IDR_PRODUCT_LOGO_16));
+ return icon_list;
+}
+
} // namespace
namespace event_utils {
@@ -310,14 +319,17 @@ bool WidgetContainsCursor(GtkWidget* widget) {
}
void SetWindowIcon(GtkWindow* window) {
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- GList* icon_list = NULL;
- icon_list = g_list_append(icon_list, rb.GetPixbufNamed(IDR_PRODUCT_ICON_32));
- icon_list = g_list_append(icon_list, rb.GetPixbufNamed(IDR_PRODUCT_LOGO_16));
+ GList* icon_list = GetIconList();
gtk_window_set_icon_list(window, icon_list);
g_list_free(icon_list);
}
+void SetDefaultWindowIcon() {
+ GList* icon_list = GetIconList();
+ gtk_window_set_default_icon_list(icon_list);
+ g_list_free(icon_list);
+}
+
GtkWidget* AddButtonToDialog(GtkWidget* dialog, const gchar* text,
const gchar* stock_id, gint response_id) {
GtkWidget* button = gtk_button_new_with_label(text);
diff --git a/chrome/common/gtk_util.h b/chrome/common/gtk_util.h
index 024bf02..3811d74 100644
--- a/chrome/common/gtk_util.h
+++ b/chrome/common/gtk_util.h
@@ -130,6 +130,9 @@ bool WidgetContainsCursor(GtkWidget* widget);
// border or alt-tab list).
void SetWindowIcon(GtkWindow* window);
+// Sets the default window icon for windows created in this app.
+void SetDefaultWindowIcon();
+
// Adds an action button with the given text to the dialog. Only useful when you
// want a stock icon but not the stock text to go with it. Returns the button.
GtkWidget* AddButtonToDialog(GtkWidget* dialog, const gchar* text,