summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authoryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 12:17:37 +0000
committeryusukes@google.com <yusukes@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 12:17:37 +0000
commit04bbad202d07b9c32f47aa9332ef95d3686e68ef (patch)
treeb1982847a7a3b631c757fcd7574bc5fe410df791 /chrome
parentf32b56f5d31ec1a1cbdb0e8ee6541b3a75a3fd88 (diff)
downloadchromium_src-04bbad202d07b9c32f47aa9332ef95d3686e68ef.zip
chromium_src-04bbad202d07b9c32f47aa9332ef95d3686e68ef.tar.gz
chromium_src-04bbad202d07b9c32f47aa9332ef95d3686e68ef.tar.bz2
Modified the toolbar button handlers so that the handlers can revert the location bar when the button pressed is RELOAD, FORWARD, or BACK.
Note that this change does not handle F5 nor Ctrl-r key presses. That's intentional. Please see the comment #7 by pkasting in http://crbug.com/15464 . Windows change: http://codereview.chromium.org/155908 Mac change: http://codereview.chromium.org/164145 BUG=18710 TEST=The same as http://codereview.chromium.org/155908 Review URL: http://codereview.chromium.org/164137 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23016 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/gtk/browser_toolbar_gtk.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/chrome/browser/gtk/browser_toolbar_gtk.cc b/chrome/browser/gtk/browser_toolbar_gtk.cc
index 81ec816..2dd1260 100644
--- a/chrome/browser/gtk/browser_toolbar_gtk.cc
+++ b/chrome/browser/gtk/browser_toolbar_gtk.cc
@@ -171,10 +171,14 @@ void BrowserToolbarGtk::Init(Profile* profile,
back_.reset(new BackForwardButtonGtk(browser_, false));
gtk_box_pack_start(GTK_BOX(back_forward_hbox_), back_->widget(), FALSE,
FALSE, 0);
+ g_signal_connect(back_->widget(), "clicked",
+ G_CALLBACK(OnButtonClick), this);
forward_.reset(new BackForwardButtonGtk(browser_, true));
gtk_box_pack_start(GTK_BOX(back_forward_hbox_), forward_->widget(), FALSE,
FALSE, 0);
+ g_signal_connect(forward_->widget(), "clicked",
+ G_CALLBACK(OnButtonClick), this);
gtk_box_pack_start(GTK_BOX(toolbar_), back_forward_hbox_, FALSE, FALSE, 0);
reload_.reset(BuildToolbarButton(IDR_RELOAD, IDR_RELOAD_P, IDR_RELOAD_H, 0,
@@ -612,13 +616,21 @@ gboolean BrowserToolbarGtk::OnLocationHboxExpose(GtkWidget* location_hbox,
// static
void BrowserToolbarGtk::OnButtonClick(GtkWidget* button,
BrowserToolbarGtk* toolbar) {
+ if ((button == toolbar->back_->widget()) ||
+ (button == toolbar->forward_->widget())) {
+ toolbar->location_bar_->Revert();
+ return;
+ }
+
int tag = -1;
- if (button == toolbar->reload_->widget())
+ if (button == toolbar->reload_->widget()) {
tag = IDC_RELOAD;
- else if (toolbar->home_.get() && button == toolbar->home_->widget())
+ toolbar->location_bar_->Revert();
+ } else if (toolbar->home_.get() && button == toolbar->home_->widget()) {
tag = IDC_HOME;
- else if (button == toolbar->star_->widget())
+ } else if (button == toolbar->star_->widget()) {
tag = IDC_STAR;
+ }
DCHECK_NE(tag, -1) << "Unexpected button click callback";
toolbar->browser_->ExecuteCommandWithDisposition(tag,