summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-05 21:54:35 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-05 21:54:35 +0000
commitc8083e008224f6a74c233809650ff82c74623b5c (patch)
treee60427e5abaf870d050eba9790f199a6b61f39fb
parent48bcd577222463f9737710977dfd7461d0588824 (diff)
downloadchromium_src-c8083e008224f6a74c233809650ff82c74623b5c.zip
chromium_src-c8083e008224f6a74c233809650ff82c74623b5c.tar.gz
chromium_src-c8083e008224f6a74c233809650ff82c74623b5c.tar.bz2
Handle mouse back and forward buttons for page navigation.
BUG=11439 Review URL: http://codereview.chromium.org/108038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15340 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/gtk/browser_window_gtk.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc
index 61bc7d8..631c8ba 100644
--- a/chrome/browser/gtk/browser_window_gtk.cc
+++ b/chrome/browser/gtk/browser_window_gtk.cc
@@ -195,6 +195,20 @@ gboolean OnKeyPress(GtkWindow* window, GdkEventKey* event, Browser* browser) {
return TRUE;
}
+gboolean OnButtonPressEvent(GtkWidget* widget, GdkEventButton* event,
+ Browser* browser) {
+ // TODO(jhawkins): Investigate the possibility of the button numbers being
+ // different for other mice.
+ if (event->button == 8) {
+ browser->GoBack(CURRENT_TAB);
+ return TRUE;
+ } else if (event->button == 9) {
+ browser->GoForward(CURRENT_TAB);
+ return TRUE;
+ }
+ return FALSE;
+}
+
} // namespace
// TODO(estade): Break up this constructor into helper functions to improve
@@ -219,6 +233,8 @@ BrowserWindowGtk::BrowserWindowGtk(Browser* browser)
G_CALLBACK(MainWindowStateChanged), this);
g_signal_connect(window_, "key-press-event",
G_CALLBACK(OnKeyPress), browser_.get());
+ g_signal_connect(window_, "button-press-event",
+ G_CALLBACK(OnButtonPressEvent), browser_.get());
ConnectAccelerators();
bounds_ = GetInitialWindowBounds(window_);