Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/toolbar/wrench_menu_model.h" | 5 #include "chrome/browser/ui/toolbar/wrench_menu_model.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 23 #include "chrome/browser/signin/signin_manager_factory.h" | 23 #include "chrome/browser/signin/signin_manager_factory.h" |
| 24 #include "chrome/browser/signin/signin_ui_util.h" | 24 #include "chrome/browser/signin/signin_ui_util.h" |
| 25 #include "chrome/browser/task_manager/task_manager.h" | 25 #include "chrome/browser/task_manager/task_manager.h" |
| 26 #include "chrome/browser/ui/browser.h" | 26 #include "chrome/browser/ui/browser.h" |
| 27 #include "chrome/browser/ui/browser_commands.h" | 27 #include "chrome/browser/ui/browser_commands.h" |
| 28 #include "chrome/browser/ui/browser_finder.h" | 28 #include "chrome/browser/ui/browser_finder.h" |
| 29 #include "chrome/browser/ui/browser_window.h" | 29 #include "chrome/browser/ui/browser_window.h" |
| 30 #include "chrome/browser/ui/global_error/global_error.h" | 30 #include "chrome/browser/ui/global_error/global_error.h" |
| 31 #include "chrome/browser/ui/global_error/global_error_service.h" | 31 #include "chrome/browser/ui/global_error/global_error_service.h" |
| 32 #include "chrome/browser/ui/global_error/global_error_service_factory.h" | 32 #include "chrome/browser/ui/global_error/global_error_service_factory.h" |
| 33 #include "chrome/browser/ui/send_feedback_experiment.h" | |
| 33 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 34 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 34 #include "chrome/browser/ui/toolbar/bookmark_sub_menu_model.h" | 35 #include "chrome/browser/ui/toolbar/bookmark_sub_menu_model.h" |
| 35 #include "chrome/browser/ui/toolbar/encoding_menu_controller.h" | 36 #include "chrome/browser/ui/toolbar/encoding_menu_controller.h" |
| 36 #include "chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h" | 37 #include "chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h" |
| 37 #include "chrome/browser/upgrade_detector.h" | 38 #include "chrome/browser/upgrade_detector.h" |
| 38 #include "chrome/common/chrome_paths.h" | 39 #include "chrome/common/chrome_paths.h" |
| 39 #include "chrome/common/chrome_switches.h" | 40 #include "chrome/common/chrome_switches.h" |
| 40 #include "chrome/common/pref_names.h" | 41 #include "chrome/common/pref_names.h" |
| 41 #include "chrome/common/profiling.h" | 42 #include "chrome/common/profiling.h" |
| 42 #include "content/public/browser/host_zoom_map.h" | 43 #include "content/public/browser/host_zoom_map.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 78 // state. | 79 // state. |
| 79 string16 GetUpgradeDialogMenuItemName() { | 80 string16 GetUpgradeDialogMenuItemName() { |
| 80 if (UpgradeDetector::GetInstance()->is_outdated_install()) { | 81 if (UpgradeDetector::GetInstance()->is_outdated_install()) { |
| 81 return l10n_util::GetStringFUTF16( | 82 return l10n_util::GetStringFUTF16( |
| 82 IDS_UPGRADE_BUBBLE_MENU_ITEM, | 83 IDS_UPGRADE_BUBBLE_MENU_ITEM, |
| 83 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)); | 84 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME)); |
| 84 } else { | 85 } else { |
| 85 return l10n_util::GetStringUTF16(IDS_UPDATE_NOW); | 86 return l10n_util::GetStringUTF16(IDS_UPDATE_NOW); |
| 86 } | 87 } |
| 87 } | 88 } |
| 89 | |
| 88 } // namespace | 90 } // namespace |
| 89 | 91 |
| 90 //////////////////////////////////////////////////////////////////////////////// | 92 //////////////////////////////////////////////////////////////////////////////// |
| 91 // EncodingMenuModel | 93 // EncodingMenuModel |
| 92 | 94 |
| 93 EncodingMenuModel::EncodingMenuModel(Browser* browser) | 95 EncodingMenuModel::EncodingMenuModel(Browser* browser) |
| 94 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), | 96 : ALLOW_THIS_IN_INITIALIZER_LIST(ui::SimpleMenuModel(this)), |
| 95 browser_(browser) { | 97 browser_(browser) { |
| 96 Build(); | 98 Build(); |
| 97 } | 99 } |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 195 | 197 |
| 196 if (chrome::CanOpenTaskManager()) | 198 if (chrome::CanOpenTaskManager()) |
| 197 AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); | 199 AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); |
| 198 | 200 |
| 199 AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA); | 201 AddItemWithStringId(IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA); |
| 200 | 202 |
| 201 AddSeparator(ui::NORMAL_SEPARATOR); | 203 AddSeparator(ui::NORMAL_SEPARATOR); |
| 202 | 204 |
| 203 #if !defined(OS_CHROMEOS) | 205 #if !defined(OS_CHROMEOS) |
| 204 // Show IDC_FEEDBACK in "Tools" menu for non-ChromeOS platforms. | 206 // Show IDC_FEEDBACK in "Tools" menu for non-ChromeOS platforms. |
| 205 AddItemWithStringId(IDC_FEEDBACK, IDS_FEEDBACK); | 207 if (!chrome::send_feedback_experiment::UseAlternateLocation()) { |
| 206 AddSeparator(ui::NORMAL_SEPARATOR); | 208 AddItemWithStringId(IDC_FEEDBACK, |
| 209 chrome::send_feedback_experiment::UseAlternateText() ? | |
| 210 IDS_FEEDBACK_ALT : IDS_FEEDBACK); | |
|
sky
2013/03/15 23:23:42
indent 4 (same on 217)
Harry McCleave
2013/03/19 03:11:32
Done.
| |
| 211 AddSeparator(ui::NORMAL_SEPARATOR); | |
| 212 } | |
| 213 #else | |
| 214 if (chrome::send_feedback_experiment::UseAlternateLocation()) { | |
| 215 AddItemWithStringId(IDC_FEEDBACK, | |
| 216 chrome::send_feedback_experiment::UseAlternateText() ? | |
| 217 IDS_FEEDBACK_ALT : IDS_FEEDBACK); | |
| 218 AddSeparator(ui::NORMAL_SEPARATOR); | |
| 219 } | |
| 207 #endif | 220 #endif |
| 208 | 221 |
| 209 encoding_menu_model_.reset(new EncodingMenuModel(browser)); | 222 encoding_menu_model_.reset(new EncodingMenuModel(browser)); |
| 210 AddSubMenuWithStringId(IDC_ENCODING_MENU, IDS_ENCODING_MENU, | 223 AddSubMenuWithStringId(IDC_ENCODING_MENU, IDS_ENCODING_MENU, |
| 211 encoding_menu_model_.get()); | 224 encoding_menu_model_.get()); |
| 212 AddItemWithStringId(IDC_VIEW_SOURCE, IDS_VIEW_SOURCE); | 225 AddItemWithStringId(IDC_VIEW_SOURCE, IDS_VIEW_SOURCE); |
| 213 AddItemWithStringId(IDC_DEV_TOOLS, IDS_DEV_TOOLS); | 226 AddItemWithStringId(IDC_DEV_TOOLS, IDS_DEV_TOOLS); |
| 214 AddItemWithStringId(IDC_DEV_TOOLS_CONSOLE, IDS_DEV_TOOLS_CONSOLE); | 227 AddItemWithStringId(IDC_DEV_TOOLS_CONSOLE, IDS_DEV_TOOLS_CONSOLE); |
| 215 | 228 |
| 216 #if defined(ENABLE_PROFILING) && !defined(NO_TCMALLOC) | 229 #if defined(ENABLE_PROFILING) && !defined(NO_TCMALLOC) |
| (...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 603 if (!is_new_menu) { | 616 if (!is_new_menu) { |
| 604 AddItemWithStringId(IDC_HELP_PAGE_VIA_MENU, IDS_HELP_PAGE); | 617 AddItemWithStringId(IDC_HELP_PAGE_VIA_MENU, IDS_HELP_PAGE); |
| 605 | 618 |
| 606 if (browser_defaults::kShowHelpMenuItemIcon) { | 619 if (browser_defaults::kShowHelpMenuItemIcon) { |
| 607 ui::ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 620 ui::ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 608 SetIcon(GetIndexOfCommandId(IDC_HELP_PAGE_VIA_MENU), | 621 SetIcon(GetIndexOfCommandId(IDC_HELP_PAGE_VIA_MENU), |
| 609 rb.GetNativeImageNamed(IDR_HELP_MENU)); | 622 rb.GetNativeImageNamed(IDR_HELP_MENU)); |
| 610 } | 623 } |
| 611 } | 624 } |
| 612 | 625 |
| 613 if (browser_defaults::kShowFeedbackMenuItem) | 626 if (browser_defaults::kShowFeedbackMenuItem && |
| 614 AddItemWithStringId(IDC_FEEDBACK, IDS_FEEDBACK); | 627 !chrome::send_feedback_experiment::UseAlternateLocation()) { |
| 628 AddItemWithStringId(IDC_FEEDBACK, | |
| 629 chrome::send_feedback_experiment::UseAlternateText() ? | |
| 630 IDS_FEEDBACK_ALT : IDS_FEEDBACK); | |
| 631 } | |
| 615 | 632 |
| 616 AddGlobalErrorMenuItems(); | 633 AddGlobalErrorMenuItems(); |
| 617 | 634 |
| 618 if (is_new_menu) { | 635 if (is_new_menu) { |
| 619 AddSubMenuWithStringId(IDC_ZOOM_MENU, IDS_MORE_TOOLS_MENU, | 636 AddSubMenuWithStringId(IDC_ZOOM_MENU, IDS_MORE_TOOLS_MENU, |
| 620 tools_menu_model_.get()); | 637 tools_menu_model_.get()); |
| 621 } | 638 } |
| 622 | 639 |
| 623 bool show_exit_menu = browser_defaults::kShowExitMenuItem; | 640 if (browser_defaults::kShowExitMenuItem) |
| 624 #if defined(OS_WIN) && defined(USE_AURA) | 641 AddSeparator(ui::NORMAL_SEPARATOR); |
| 625 if (browser_->host_desktop_type() == chrome::HOST_DESKTOP_TYPE_ASH) | 642 |
| 626 show_exit_menu = false; | 643 #if !defined(OS_CHROMEOS) |
| 644 // For Send Feedback Link experiment (crbug.com/169339). | |
| 645 if (chrome::send_feedback_experiment::UseAlternateLocation()) { | |
| 646 AddItemWithStringId(IDC_FEEDBACK, | |
| 647 chrome::send_feedback_experiment::UseAlternateText() ? | |
|
sky
2013/03/15 23:23:42
You have this text four times, how about a GetAlte
Harry McCleave
2013/03/19 03:11:32
Done.
| |
| 648 IDS_FEEDBACK_ALT : IDS_FEEDBACK); | |
| 649 AddSeparator(ui::NORMAL_SEPARATOR); | |
| 650 } | |
| 627 #endif | 651 #endif |
| 628 if (show_exit_menu) { | 652 |
| 629 AddSeparator(ui::NORMAL_SEPARATOR); | 653 if (browser_defaults::kShowExitMenuItem) |
|
sky
2013/03/15 23:23:42
Doesn't this miss the logic on 625 old?
Harry McCleave
2013/03/19 03:11:32
Ah re-base my old nemesis (done).
| |
| 630 AddItemWithStringId(IDC_EXIT, IDS_EXIT); | 654 AddItemWithStringId(IDC_EXIT, IDS_EXIT); |
| 631 } | |
| 632 | 655 |
| 633 if (is_new_menu && supports_new_separators && | 656 if (is_new_menu && supports_new_separators && |
| 634 !ui::NativeTheme::IsNewMenuStyleEnabled()) { | 657 !ui::NativeTheme::IsNewMenuStyleEnabled()) { |
| 635 AddSeparator(ui::SPACING_SEPARATOR); | 658 AddSeparator(ui::SPACING_SEPARATOR); |
| 636 } | 659 } |
| 637 } | 660 } |
| 638 | 661 |
| 639 void WrenchMenuModel::AddGlobalErrorMenuItems() { | 662 void WrenchMenuModel::AddGlobalErrorMenuItems() { |
| 640 // TODO(sail): Currently we only build the wrench menu once per browser | 663 // TODO(sail): Currently we only build the wrench menu once per browser |
| 641 // window. This means that if a new error is added after the menu is built | 664 // window. This means that if a new error is added after the menu is built |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 724 &enable_increment, &enable_decrement); | 747 &enable_increment, &enable_decrement); |
| 725 } | 748 } |
| 726 zoom_label_ = l10n_util::GetStringFUTF16( | 749 zoom_label_ = l10n_util::GetStringFUTF16( |
| 727 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent)); | 750 IDS_ZOOM_PERCENT, base::IntToString16(zoom_percent)); |
| 728 } | 751 } |
| 729 | 752 |
| 730 void WrenchMenuModel::OnZoomLevelChanged( | 753 void WrenchMenuModel::OnZoomLevelChanged( |
| 731 const content::HostZoomMap::ZoomLevelChange& change) { | 754 const content::HostZoomMap::ZoomLevelChange& change) { |
| 732 UpdateZoomControls(); | 755 UpdateZoomControls(); |
| 733 } | 756 } |
| OLD | NEW |