| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |