summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-28 00:00:49 +0000
committerderat@chromium.org <derat@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-28 00:00:49 +0000
commit403c148688f2c23d2c9b56fff236f4ddfe03377c (patch)
tree158a19de69c72631de04a195600b76a072095040
parentdabdb68e738bf1a9f0ae51e59c188d0ab784f106 (diff)
downloadchromium_src-403c148688f2c23d2c9b56fff236f4ddfe03377c.zip
chromium_src-403c148688f2c23d2c9b56fff236f4ddfe03377c.tar.gz
chromium_src-403c148688f2c23d2c9b56fff236f4ddfe03377c.tar.bz2
GTK: Activate window when "Get themes" button is clicked.
This is a direct copy of the Views fix from r29949. BUG=24866 TESTED=verified that minimized browser window gets restored under metacity Review URL: http://codereview.chromium.org/334048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30286 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/browser.cc6
-rw-r--r--chrome/browser/browser.h2
-rw-r--r--chrome/browser/gtk/options/content_page_gtk.cc6
-rw-r--r--chrome/browser/views/options/content_page_view.cc5
4 files changed, 12 insertions, 7 deletions
diff --git a/chrome/browser/browser.cc b/chrome/browser/browser.cc
index 292cea5..83f697f 100644
--- a/chrome/browser/browser.cc
+++ b/chrome/browser/browser.cc
@@ -1230,6 +1230,12 @@ void Browser::OpenExtensionsTab() {
PageTransition::AUTO_BOOKMARK, true, -1, false, NULL);
}
+void Browser::OpenThemeGalleryTabAndActivate() {
+ OpenURL(GURL(l10n_util::GetStringUTF8(IDS_THEMES_GALLERY_URL)),
+ GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK);
+ window_->Activate();
+}
+
#if defined(OS_CHROMEOS)
void Browser::ShowControlPanel() {
UserMetrics::RecordAction(L"ShowControlPanel", profile_);
diff --git a/chrome/browser/browser.h b/chrome/browser/browser.h
index c7d91e4..c3a2552 100644
--- a/chrome/browser/browser.h
+++ b/chrome/browser/browser.h
@@ -406,6 +406,8 @@ class Browser : public TabStripModelDelegate,
void OpenAboutChromeDialog();
void OpenHelpTab();
void OpenExtensionsTab();
+ // Used by the "Get themes" link in the options dialog.
+ void OpenThemeGalleryTabAndActivate();
#if defined(OS_CHROMEOS)
void ShowControlPanel();
#endif
diff --git a/chrome/browser/gtk/options/content_page_gtk.cc b/chrome/browser/gtk/options/content_page_gtk.cc
index 98fa532..3782605 100644
--- a/chrome/browser/gtk/options/content_page_gtk.cc
+++ b/chrome/browser/gtk/options/content_page_gtk.cc
@@ -7,7 +7,9 @@
#include "app/gfx/gtk_util.h"
#include "app/l10n_util.h"
#include "app/resource_bundle.h"
+#include "chrome/browser/browser.h"
#include "chrome/browser/browser_list.h"
+#include "chrome/browser/browser_window.h"
#include "chrome/browser/defaults.h"
#include "chrome/browser/gtk/clear_browsing_data_dialog_gtk.h"
#include "chrome/browser/gtk/gtk_chrome_link_button.h"
@@ -309,9 +311,7 @@ void ContentPageGtk::OnGetThemesButtonClicked(GtkButton* widget,
ContentPageGtk* page) {
page->UserMetricsRecordAction(L"Options_ThemesGallery",
page->profile()->GetPrefs());
- BrowserList::GetLastActive()->OpenURL(
- GURL(l10n_util::GetStringUTF8(IDS_THEMES_GALLERY_URL)),
- GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK);
+ BrowserList::GetLastActive()->OpenThemeGalleryTabAndActivate();
}
// static
diff --git a/chrome/browser/views/options/content_page_view.cc b/chrome/browser/views/options/content_page_view.cc
index f5e99ff..fef0cbc 100644
--- a/chrome/browser/views/options/content_page_view.cc
+++ b/chrome/browser/views/options/content_page_view.cc
@@ -144,10 +144,7 @@ void ContentPageView::ButtonPressed(
void ContentPageView::LinkActivated(views::Link* source, int event_flags) {
if (source == themes_gallery_link_) {
UserMetricsRecordAction(L"Options_ThemesGallery", profile()->GetPrefs());
- Browser* browser = BrowserList::GetLastActive();
- browser->OpenURL(GURL(l10n_util::GetString(IDS_THEMES_GALLERY_URL)),
- GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK);
- browser->window()->Activate();
+ BrowserList::GetLastActive()->OpenThemeGalleryTabAndActivate();
return;
}
DCHECK_EQ(source, sync_action_link_);