Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(249)

Side by Side Diff: chrome/browser/gtk/browser_toolbar_gtk.cc

Issue 2779011: Make the reload button respond to middle-clicks like back/forward/home alread... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/find_bar_host_browsertest.cc ('k') | chrome/browser/views/toolbar_view.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/gtk/browser_toolbar_gtk.h" 5 #include "chrome/browser/gtk/browser_toolbar_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 #include <X11/XF86keysym.h> 9 #include <X11/XF86keysym.h>
10 10
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 if (theme_provider_->UseGtkTheme()) { 692 if (theme_provider_->UseGtkTheme()) {
693 gtk_util::DrawTextEntryBackground(offscreen_entry_.get(), 693 gtk_util::DrawTextEntryBackground(offscreen_entry_.get(),
694 location_hbox, &e->area, 694 location_hbox, &e->area,
695 &location_hbox->allocation); 695 &location_hbox->allocation);
696 } 696 }
697 697
698 return FALSE; 698 return FALSE;
699 } 699 }
700 700
701 void BrowserToolbarGtk::OnButtonClick(GtkWidget* button) { 701 void BrowserToolbarGtk::OnButtonClick(GtkWidget* button) {
702 if ((button == back_->widget()) || 702 if ((button == back_->widget()) || (button == forward_->widget())) {
703 (button == forward_->widget())) { 703 if (gtk_util::DispositionForCurrentButtonPressEvent() == CURRENT_TAB)
704 location_bar_->Revert(); 704 location_bar_->Revert();
705 return; 705 return;
706 } 706 }
707 707
708 int tag = -1; 708 int command = -1;
709 GdkModifierType modifier_state;
710 gtk_get_current_event_state(&modifier_state);
711 guint modifier_state_uint = modifier_state;
709 if (button == reload_->widget()) { 712 if (button == reload_->widget()) {
710 GdkModifierType modifier_state; 713 if (modifier_state_uint & GDK_SHIFT_MASK) {
711 if (gtk_get_current_event_state(&modifier_state) && 714 command = IDC_RELOAD_IGNORING_CACHE;
712 modifier_state & GDK_SHIFT_MASK) { 715 // Mask off shift so it isn't interpreted as affecting the disposition
713 tag = IDC_RELOAD_IGNORING_CACHE; 716 // below.
717 modifier_state_uint &= ~GDK_SHIFT_MASK;
714 } else { 718 } else {
715 tag = IDC_RELOAD; 719 command = IDC_RELOAD;
716 } 720 }
717 location_bar_->Revert(); 721 if (event_utils::DispositionFromEventFlags(modifier_state_uint) ==
722 CURRENT_TAB)
723 location_bar_->Revert();
718 } else if (home_.get() && button == home_->widget()) { 724 } else if (home_.get() && button == home_->widget()) {
719 tag = IDC_HOME; 725 command = IDC_HOME;
720 } 726 }
721 727
722 DCHECK_NE(tag, -1) << "Unexpected button click callback"; 728 DCHECK_NE(command, -1) << "Unexpected button click callback";
723 browser_->ExecuteCommandWithDisposition(tag, 729 browser_->ExecuteCommandWithDisposition(command,
724 gtk_util::DispositionForCurrentButtonPressEvent()); 730 event_utils::DispositionFromEventFlags(modifier_state_uint));
725 } 731 }
726 732
727 gboolean BrowserToolbarGtk::OnMenuButtonPressEvent(GtkWidget* button, 733 gboolean BrowserToolbarGtk::OnMenuButtonPressEvent(GtkWidget* button,
728 GdkEventButton* event) { 734 GdkEventButton* event) {
729 if (event->button != 1) 735 if (event->button != 1)
730 return FALSE; 736 return FALSE;
731 737
732 gtk_chrome_button_set_paint_state(GTK_CHROME_BUTTON(button), 738 gtk_chrome_button_set_paint_state(GTK_CHROME_BUTTON(button),
733 GTK_STATE_ACTIVE); 739 GTK_STATE_ACTIVE);
734 MenuGtk* menu = button == page_menu_button_.get() ? 740 MenuGtk* menu = button == page_menu_button_.get() ?
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
844 int x_offset = base::i18n::IsRTL() ? 850 int x_offset = base::i18n::IsRTL() ?
845 sender->allocation.width - kUpgradeDotOffset - badge.width() : 851 sender->allocation.width - kUpgradeDotOffset - badge.width() :
846 kUpgradeDotOffset; 852 kUpgradeDotOffset;
847 canvas.DrawBitmapInt( 853 canvas.DrawBitmapInt(
848 badge, 854 badge,
849 sender->allocation.x + x_offset, 855 sender->allocation.x + x_offset,
850 sender->allocation.y + sender->allocation.height - badge.height()); 856 sender->allocation.y + sender->allocation.height - badge.height());
851 857
852 return FALSE; 858 return FALSE;
853 } 859 }
OLDNEW
« no previous file with comments | « chrome/browser/find_bar_host_browsertest.cc ('k') | chrome/browser/views/toolbar_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698