diff options
Diffstat (limited to 'chrome/browser/gtk')
-rwxr-xr-x | chrome/browser/gtk/tabs/tab_strip_gtk.cc | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/chrome/browser/gtk/tabs/tab_strip_gtk.cc b/chrome/browser/gtk/tabs/tab_strip_gtk.cc index daeaa5c..0867e8d 100755 --- a/chrome/browser/gtk/tabs/tab_strip_gtk.cc +++ b/chrome/browser/gtk/tabs/tab_strip_gtk.cc @@ -10,7 +10,6 @@ #include "app/slide_animation.h" #include "base/gfx/gtk_util.h" #include "base/gfx/point.h" -#include "chrome/browser/browser.h" #include "chrome/browser/browser_theme_provider.h" #include "chrome/browser/gtk/custom_button.h" #include "chrome/browser/gtk/dnd_registry.h" @@ -21,6 +20,14 @@ #include "grit/app_resources.h" #include "grit/theme_resources.h" +#if defined(LINUX2) +#include "chrome/browser/browser.h" +#include "chrome/browser/browser_list.h" +#include "chrome/browser/gtk/browser_window_gtk.h" +#include "chrome/browser/views/tabs/tab_overview_types.h" +#include "chrome/common/x11_util.h" +#endif + namespace { const int kDefaultAnimationDurationMs = 100; @@ -1581,6 +1588,14 @@ CustomDrawButton* TabStripGtk::MakeTabOverviewButton() { // static void TabStripGtk::OnTabOverviewButtonClicked(GtkWidget* widget, TabStripGtk* tabstrip) { - // TODO(sky): implement me. + Browser* browser = BrowserList::GetLastActive(); + DCHECK(browser); // In order for the user to click on the tab there should + // be an active browser. + TabOverviewTypes::Message message; + message.set_type(TabOverviewTypes::Message::WM_SWITCH_TO_OVERVIEW_MODE); + GtkWidget* browser_widget = GTK_WIDGET( + static_cast<BrowserWindowGtk*>(browser->window())->GetNativeHandle()); + message.set_param(0, x11_util::GetX11WindowFromGtkWidget(browser_widget)); + TabOverviewTypes::instance()->SendMessage(message); } #endif |