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

Side by Side Diff: chrome/browser/views/toolbar_view.cc

Issue 17428: Issue 358: Can't open a new tab by middle-clicking home button... (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 9 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/views/location_bar_view.cc ('k') | chrome/views/controls/button/custom_button.h » ('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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/views/toolbar_view.h" 5 #include "chrome/browser/views/toolbar_view.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/path_service.h" 11 #include "base/path_service.h"
12 #include "chrome/app/chrome_dll_resource.h" 12 #include "chrome/app/chrome_dll_resource.h"
13 #include "chrome/browser/bookmarks/bookmark_model.h" 13 #include "chrome/browser/bookmarks/bookmark_model.h"
14 #include "chrome/browser/browser.h" 14 #include "chrome/browser/browser.h"
15 #include "chrome/browser/browser_process.h" 15 #include "chrome/browser/browser_process.h"
16 #include "chrome/browser/character_encoding.h" 16 #include "chrome/browser/character_encoding.h"
17 #include "chrome/browser/drag_utils.h" 17 #include "chrome/browser/drag_utils.h"
18 #include "chrome/browser/metrics/user_metrics.h" 18 #include "chrome/browser/metrics/user_metrics.h"
19 #include "chrome/browser/profile.h" 19 #include "chrome/browser/profile.h"
20 #include "chrome/browser/tab_contents/navigation_controller.h" 20 #include "chrome/browser/tab_contents/navigation_controller.h"
21 #include "chrome/browser/tab_contents/navigation_entry.h" 21 #include "chrome/browser/tab_contents/navigation_entry.h"
22 #include "chrome/browser/user_data_manager.h" 22 #include "chrome/browser/user_data_manager.h"
23 #include "chrome/browser/views/bookmark_menu_button.h" 23 #include "chrome/browser/views/bookmark_menu_button.h"
24 #include "chrome/browser/views/dom_view.h" 24 #include "chrome/browser/views/dom_view.h"
25 #include "chrome/browser/views/event_utils.h"
25 #include "chrome/browser/views/go_button.h" 26 #include "chrome/browser/views/go_button.h"
26 #include "chrome/browser/views/location_bar_view.h" 27 #include "chrome/browser/views/location_bar_view.h"
27 #include "chrome/browser/views/theme_helpers.h" 28 #include "chrome/browser/views/theme_helpers.h"
28 #include "chrome/browser/views/toolbar_star_toggle.h" 29 #include "chrome/browser/views/toolbar_star_toggle.h"
29 #include "chrome/browser/view_ids.h" 30 #include "chrome/browser/view_ids.h"
30 #include "chrome/common/chrome_constants.h" 31 #include "chrome/common/chrome_constants.h"
31 #include "chrome/common/chrome_switches.h" 32 #include "chrome/common/chrome_switches.h"
32 #include "chrome/common/drag_drop_types.h" 33 #include "chrome/common/drag_drop_types.h"
33 #include "chrome/common/gfx/chrome_canvas.h" 34 #include "chrome/common/gfx/chrome_canvas.h"
34 #include "chrome/common/l10n_util.h" 35 #include "chrome/common/l10n_util.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 return; 127 return;
127 128
128 profile_ = profile; 129 profile_ = profile;
129 location_bar_->SetProfile(profile); 130 location_bar_->SetProfile(profile);
130 } 131 }
131 132
132 void BrowserToolbarView::CreateLeftSideControls() { 133 void BrowserToolbarView::CreateLeftSideControls() {
133 ResourceBundle &rb = ResourceBundle::GetSharedInstance(); 134 ResourceBundle &rb = ResourceBundle::GetSharedInstance();
134 135
135 back_ = new views::ButtonDropDown(this, back_menu_model_.get()); 136 back_ = new views::ButtonDropDown(this, back_menu_model_.get());
137 back_->set_triggerable_event_flags(views::Event::EF_LEFT_BUTTON_DOWN |
138 views::Event::EF_MIDDLE_BUTTON_DOWN);
136 back_->set_tag(IDC_BACK); 139 back_->set_tag(IDC_BACK);
137 back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT, 140 back_->SetImageAlignment(views::ImageButton::ALIGN_RIGHT,
138 views::ImageButton::ALIGN_TOP); 141 views::ImageButton::ALIGN_TOP);
139 back_->SetImage(views::CustomButton::BS_NORMAL, rb.GetBitmapNamed(IDR_BACK)); 142 back_->SetImage(views::CustomButton::BS_NORMAL, rb.GetBitmapNamed(IDR_BACK));
140 back_->SetImage(views::CustomButton::BS_HOT, rb.GetBitmapNamed(IDR_BACK_H)); 143 back_->SetImage(views::CustomButton::BS_HOT, rb.GetBitmapNamed(IDR_BACK_H));
141 back_->SetImage(views::CustomButton::BS_PUSHED, 144 back_->SetImage(views::CustomButton::BS_PUSHED,
142 rb.GetBitmapNamed(IDR_BACK_P)); 145 rb.GetBitmapNamed(IDR_BACK_P));
143 back_->SetImage(views::CustomButton::BS_DISABLED, 146 back_->SetImage(views::CustomButton::BS_DISABLED,
144 rb.GetBitmapNamed(IDR_BACK_D)); 147 rb.GetBitmapNamed(IDR_BACK_D));
145 back_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_BACK)); 148 back_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_BACK));
146 back_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_BACK)); 149 back_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_BACK));
147 back_->SetID(VIEW_ID_BACK_BUTTON); 150 back_->SetID(VIEW_ID_BACK_BUTTON);
148 AddChildView(back_); 151 AddChildView(back_);
149 152
150 forward_ = new views::ButtonDropDown(this, forward_menu_model_.get()); 153 forward_ = new views::ButtonDropDown(this, forward_menu_model_.get());
154 forward_->set_triggerable_event_flags(views::Event::EF_LEFT_BUTTON_DOWN |
155 views::Event::EF_MIDDLE_BUTTON_DOWN);
151 forward_->set_tag(IDC_FORWARD); 156 forward_->set_tag(IDC_FORWARD);
152 forward_->SetImage(views::CustomButton::BS_NORMAL, 157 forward_->SetImage(views::CustomButton::BS_NORMAL,
153 rb.GetBitmapNamed(IDR_FORWARD)); 158 rb.GetBitmapNamed(IDR_FORWARD));
154 forward_->SetImage(views::CustomButton::BS_HOT, 159 forward_->SetImage(views::CustomButton::BS_HOT,
155 rb.GetBitmapNamed(IDR_FORWARD_H)); 160 rb.GetBitmapNamed(IDR_FORWARD_H));
156 forward_->SetImage(views::CustomButton::BS_PUSHED, 161 forward_->SetImage(views::CustomButton::BS_PUSHED,
157 rb.GetBitmapNamed(IDR_FORWARD_P)); 162 rb.GetBitmapNamed(IDR_FORWARD_P));
158 forward_->SetImage(views::CustomButton::BS_DISABLED, 163 forward_->SetImage(views::CustomButton::BS_DISABLED,
159 rb.GetBitmapNamed(IDR_FORWARD_D)); 164 rb.GetBitmapNamed(IDR_FORWARD_D));
160 forward_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_FORWARD)); 165 forward_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_FORWARD));
161 forward_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_FORWARD)); 166 forward_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_FORWARD));
162 forward_->SetID(VIEW_ID_FORWARD_BUTTON); 167 forward_->SetID(VIEW_ID_FORWARD_BUTTON);
163 AddChildView(forward_); 168 AddChildView(forward_);
164 169
165 reload_ = new views::ImageButton(this); 170 reload_ = new views::ImageButton(this);
166 reload_->set_tag(IDC_RELOAD); 171 reload_->set_tag(IDC_RELOAD);
167 reload_->SetImage(views::CustomButton::BS_NORMAL, 172 reload_->SetImage(views::CustomButton::BS_NORMAL,
168 rb.GetBitmapNamed(IDR_RELOAD)); 173 rb.GetBitmapNamed(IDR_RELOAD));
169 reload_->SetImage(views::CustomButton::BS_HOT, 174 reload_->SetImage(views::CustomButton::BS_HOT,
170 rb.GetBitmapNamed(IDR_RELOAD_H)); 175 rb.GetBitmapNamed(IDR_RELOAD_H));
171 reload_->SetImage(views::CustomButton::BS_PUSHED, 176 reload_->SetImage(views::CustomButton::BS_PUSHED,
172 rb.GetBitmapNamed(IDR_RELOAD_P)); 177 rb.GetBitmapNamed(IDR_RELOAD_P));
173 reload_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_RELOAD)); 178 reload_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_RELOAD));
174 reload_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_RELOAD)); 179 reload_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_RELOAD));
175 reload_->SetID(VIEW_ID_RELOAD_BUTTON); 180 reload_->SetID(VIEW_ID_RELOAD_BUTTON);
176 AddChildView(reload_); 181 AddChildView(reload_);
177 182
178 home_ = new views::ImageButton(this); 183 home_ = new views::ImageButton(this);
184 home_->set_triggerable_event_flags(views::Event::EF_LEFT_BUTTON_DOWN |
185 views::Event::EF_MIDDLE_BUTTON_DOWN);
179 home_->set_tag(IDC_HOME); 186 home_->set_tag(IDC_HOME);
180 home_->SetImage(views::CustomButton::BS_NORMAL, rb.GetBitmapNamed(IDR_HOME)); 187 home_->SetImage(views::CustomButton::BS_NORMAL, rb.GetBitmapNamed(IDR_HOME));
181 home_->SetImage(views::CustomButton::BS_HOT, rb.GetBitmapNamed(IDR_HOME_H)); 188 home_->SetImage(views::CustomButton::BS_HOT, rb.GetBitmapNamed(IDR_HOME_H));
182 home_->SetImage(views::CustomButton::BS_PUSHED, 189 home_->SetImage(views::CustomButton::BS_PUSHED,
183 rb.GetBitmapNamed(IDR_HOME_P)); 190 rb.GetBitmapNamed(IDR_HOME_P));
184 home_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_HOME)); 191 home_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_HOME));
185 home_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_HOME)); 192 home_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_HOME));
186 home_->SetID(VIEW_ID_HOME_BUTTON); 193 home_->SetID(VIEW_ID_HOME_BUTTON);
187 AddChildView(home_); 194 AddChildView(home_);
188 } 195 }
(...skipping 22 matching lines...) Expand all
211 star_->SetID(VIEW_ID_STAR_BUTTON); 218 star_->SetID(VIEW_ID_STAR_BUTTON);
212 AddChildView(star_); 219 AddChildView(star_);
213 220
214 location_bar_ = new LocationBarView(profile, browser_->command_updater(), 221 location_bar_ = new LocationBarView(profile, browser_->command_updater(),
215 model_, this, 222 model_, this,
216 display_mode_ == DISPLAYMODE_LOCATION); 223 display_mode_ == DISPLAYMODE_LOCATION);
217 AddChildView(location_bar_); 224 AddChildView(location_bar_);
218 location_bar_->Init(); 225 location_bar_->Init();
219 226
220 // The Go button. 227 // The Go button.
221 go_ = new GoButton(location_bar_, browser_->command_updater()); 228 go_ = new GoButton(location_bar_, browser_);
222 go_->SetImage(views::CustomButton::BS_NORMAL, rb.GetBitmapNamed(IDR_GO)); 229 go_->SetImage(views::CustomButton::BS_NORMAL, rb.GetBitmapNamed(IDR_GO));
223 go_->SetImage(views::CustomButton::BS_HOT, rb.GetBitmapNamed(IDR_GO_H)); 230 go_->SetImage(views::CustomButton::BS_HOT, rb.GetBitmapNamed(IDR_GO_H));
224 go_->SetImage(views::CustomButton::BS_PUSHED, rb.GetBitmapNamed(IDR_GO_P)); 231 go_->SetImage(views::CustomButton::BS_PUSHED, rb.GetBitmapNamed(IDR_GO_P));
225 go_->SetToggledImage(views::CustomButton::BS_NORMAL, 232 go_->SetToggledImage(views::CustomButton::BS_NORMAL,
226 rb.GetBitmapNamed(IDR_STOP)); 233 rb.GetBitmapNamed(IDR_STOP));
227 go_->SetToggledImage(views::CustomButton::BS_HOT, 234 go_->SetToggledImage(views::CustomButton::BS_HOT,
228 rb.GetBitmapNamed(IDR_STOP_H)); 235 rb.GetBitmapNamed(IDR_STOP_H));
229 go_->SetToggledImage(views::CustomButton::BS_PUSHED, 236 go_->SetToggledImage(views::CustomButton::BS_PUSHED,
230 rb.GetBitmapNamed(IDR_STOP_P)); 237 rb.GetBitmapNamed(IDR_STOP_P));
231 go_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_GO)); 238 go_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_GO));
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 break; 832 break;
826 case IDC_STAR: 833 case IDC_STAR:
827 button = star_; 834 button = star_;
828 break; 835 break;
829 } 836 }
830 if (button) 837 if (button)
831 button->SetEnabled(enabled); 838 button->SetEnabled(enabled);
832 } 839 }
833 840
834 void BrowserToolbarView::ButtonPressed(views::Button* sender) { 841 void BrowserToolbarView::ButtonPressed(views::Button* sender) {
835 browser_->ExecuteCommand(sender->tag()); 842 browser_->ExecuteCommandWithDisposition(
843 sender->tag(),
844 event_utils::DispositionFromEventFlags(sender->mouse_event_flags()));
836 } 845 }
837 846
838 // static 847 // static
839 int BrowserToolbarView::PopupTopSpacing() { 848 int BrowserToolbarView::PopupTopSpacing() {
840 return GetWidget()->AsWindow()->GetNonClientView()->UseNativeFrame() ? 849 return GetWidget()->AsWindow()->GetNonClientView()->UseNativeFrame() ?
841 0 : kPopupTopSpacingNonGlass; 850 0 : kPopupTopSpacingNonGlass;
842 } 851 }
843 852
844 void BrowserToolbarView::Observe(NotificationType type, 853 void BrowserToolbarView::Observe(NotificationType type,
845 const NotificationSource& source, 854 const NotificationSource& source,
(...skipping 19 matching lines...) Expand all
865 case IDC_COPY: 874 case IDC_COPY:
866 *accel = views::Accelerator(L'C', false, true, false); 875 *accel = views::Accelerator(L'C', false, true, false);
867 return true; 876 return true;
868 case IDC_PASTE: 877 case IDC_PASTE:
869 *accel = views::Accelerator(L'V', false, true, false); 878 *accel = views::Accelerator(L'V', false, true, false);
870 return true; 879 return true;
871 } 880 }
872 // Else, we retrieve the accelerator information from the frame. 881 // Else, we retrieve the accelerator information from the frame.
873 return GetWidget()->GetAccelerator(id, accel); 882 return GetWidget()->GetAccelerator(id, accel);
874 } 883 }
OLDNEW
« no previous file with comments | « chrome/browser/views/location_bar_view.cc ('k') | chrome/views/controls/button/custom_button.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698