diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-28 04:05:08 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-28 04:05:08 +0000 |
commit | bc9833c3cc8a3ed4090da16270de39722a6be2b4 (patch) | |
tree | 6ba25e8a748cba3fa72fbe16306b8d8746e6ee06 /chrome | |
parent | 97ff8b508812e58e7071579511ab04ca21d577be (diff) | |
download | chromium_src-bc9833c3cc8a3ed4090da16270de39722a6be2b4.zip chromium_src-bc9833c3cc8a3ed4090da16270de39722a6be2b4.tar.gz chromium_src-bc9833c3cc8a3ed4090da16270de39722a6be2b4.tar.bz2 |
The context menu for extension actions should show a Manage item, not just
"Manage Extensions...". This wasn't implemented back when the menu was
implemented because the ability to go to the manage page and highlight an
extension wasn't there. Now it is.
TBR=sky@chromium.org, thakis@chromium.org
BUG=173892
TEST=Right click a browser action (with at least a few extensions installed)
and select Manage. That should take you to the Extensions page with the right
extension scrolled to and highlighted.
Original patch by finnur: https://codereview.chromium.org/12224028/
Review URL: https://chromiumcodereview.appspot.com/12377003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185147 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/app/generated_resources.grd | 8 | ||||
-rw-r--r-- | chrome/browser/app_controller_mac.mm | 2 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_context_menu_model.cc | 4 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_error_ui_default.cc | 2 | ||||
-rw-r--r-- | chrome/browser/notifications/message_center_notification_manager.cc | 2 | ||||
-rw-r--r-- | chrome/browser/ui/browser_command_controller.cc | 2 | ||||
-rw-r--r-- | chrome/browser/ui/browser_mac.cc | 2 | ||||
-rw-r--r-- | chrome/browser/ui/chrome_pages.cc | 10 | ||||
-rw-r--r-- | chrome/browser/ui/chrome_pages.h | 3 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/extensions/extension_action_context_menu.mm | 4 | ||||
-rw-r--r-- | chrome/browser/ui/views/ash/balloon_collection_impl_ash.cc | 2 |
11 files changed, 25 insertions, 16 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index c8d6a71..27a54d0 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -5406,8 +5406,8 @@ Public Exponent (<ph name="PUBLIC_EXPONENT_NUM_BITS">$3<ex>24</ex></ph> bits): <message name="IDS_EXTENSIONS_HIDE_BUTTON" desc="The text for the Hide context menu item (sentence case)."> Hide button </message> - <message name="IDS_MANAGE_EXTENSIONS" desc="The 'Manage Extensions...' text in the context menu for when right-clicking on extension icons (sentence case)."> - Manage extensions... + <message name="IDS_MANAGE_EXTENSION" desc="The 'Manage' text in the context menu for when right-clicking on extension icons (sentence case)."> + Manage </message> <message name="IDS_EXTENSION_ACTION_INSPECT_POPUP" desc="The text for the right-click menu of page and browser actions which shows the popup and opens the developer tools (sentence case)."> Inspect popup @@ -5423,8 +5423,8 @@ Public Exponent (<ph name="PUBLIC_EXPONENT_NUM_BITS">$3<ex>24</ex></ph> bits): <message name="IDS_EXTENSIONS_HIDE_BUTTON" desc="The text for the Hide context menu item (title case)."> Hide Button </message> - <message name="IDS_MANAGE_EXTENSIONS" desc="The 'Manage Extensions...' text in the context menu for when right-clicking on extension icons (title case)."> - Manage Extensions... + <message name="IDS_MANAGE_EXTENSION" desc="The 'Manage' text in the context menu for when right-clicking on extension icons (title case)."> + Manage </message> <message name="IDS_EXTENSION_ACTION_INSPECT_POPUP" desc="The text for the right-click menu of page and browser actions which shows the popup and opens the developer tools (title case)."> Inspect Popup diff --git a/chrome/browser/app_controller_mac.mm b/chrome/browser/app_controller_mac.mm index 93e807c..e7d6e3f 100644 --- a/chrome/browser/app_controller_mac.mm +++ b/chrome/browser/app_controller_mac.mm @@ -914,7 +914,7 @@ void RecordLastRunAppBundlePath() { break; case IDC_MANAGE_EXTENSIONS: if (Browser* browser = ActivateBrowser(lastProfile)) - chrome::ShowExtensions(browser); + chrome::ShowExtensions(browser, std::string()); else chrome::OpenExtensionsWindow(lastProfile); break; diff --git a/chrome/browser/extensions/extension_context_menu_model.cc b/chrome/browser/extensions/extension_context_menu_model.cc index 8443324..68f444a 100644 --- a/chrome/browser/extensions/extension_context_menu_model.cc +++ b/chrome/browser/extensions/extension_context_menu_model.cc @@ -130,7 +130,7 @@ void ExtensionContextMenuModel::ExecuteCommand(int command_id) { break; } case MANAGE: { - chrome::ShowExtensions(browser_); + chrome::ShowExtensions(browser_, extension->id()); break; } case INSPECT_POPUP: { @@ -177,7 +177,7 @@ void ExtensionContextMenuModel::InitMenu(const Extension* extension) { if (extension_action_manager->GetBrowserAction(*extension)) AddItemWithStringId(HIDE, IDS_EXTENSIONS_HIDE_BUTTON); AddSeparator(ui::NORMAL_SEPARATOR); - AddItemWithStringId(MANAGE, IDS_MANAGE_EXTENSIONS); + AddItemWithStringId(MANAGE, IDS_MANAGE_EXTENSION); } const Extension* ExtensionContextMenuModel::GetExtension() const { diff --git a/chrome/browser/extensions/extension_error_ui_default.cc b/chrome/browser/extensions/extension_error_ui_default.cc index 905ebeb..476184c 100644 --- a/chrome/browser/extensions/extension_error_ui_default.cc +++ b/chrome/browser/extensions/extension_error_ui_default.cc @@ -36,7 +36,7 @@ bool ExtensionErrorUIDefault::ShowErrorInBubbleView() { void ExtensionErrorUIDefault::ShowExtensions() { DCHECK(browser_); - chrome::ShowExtensions(browser_); + chrome::ShowExtensions(browser_, std::string()); } ExtensionErrorUIDefault::ExtensionGlobalError::ExtensionGlobalError( diff --git a/chrome/browser/notifications/message_center_notification_manager.cc b/chrome/browser/notifications/message_center_notification_manager.cc index a0a31f0..205e325 100644 --- a/chrome/browser/notifications/message_center_notification_manager.cc +++ b/chrome/browser/notifications/message_center_notification_manager.cc @@ -204,7 +204,7 @@ void MessageCenterNotificationManager::ShowSettings( if (profile_notification->GetExtensionId().empty()) chrome::ShowContentSettings(browser, CONTENT_SETTINGS_TYPE_NOTIFICATIONS); else - chrome::ShowExtensions(browser); + chrome::ShowExtensions(browser, std::string()); } void MessageCenterNotificationManager::ShowSettingsDialog( diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc index 4eb144b..9ccabe2 100644 --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc @@ -642,7 +642,7 @@ void BrowserCommandController::ExecuteCommandWithDisposition( ShowDownloads(browser_); break; case IDC_MANAGE_EXTENSIONS: - ShowExtensions(browser_); + ShowExtensions(browser_, std::string()); break; case IDC_OPTIONS: ShowSettings(browser_); diff --git a/chrome/browser/ui/browser_mac.cc b/chrome/browser/ui/browser_mac.cc index cb3b827..d557eac 100644 --- a/chrome/browser/ui/browser_mac.cc +++ b/chrome/browser/ui/browser_mac.cc @@ -87,7 +87,7 @@ void OpenExtensionsWindow(Profile* profile) { Browser* browser = new Browser(Browser::CreateParams(profile, chrome::HOST_DESKTOP_TYPE_NATIVE)); - ShowExtensions(browser); + ShowExtensions(browser, std::string()); browser->window()->Show(); } diff --git a/chrome/browser/ui/chrome_pages.cc b/chrome/browser/ui/chrome_pages.cc index 5db3ed3..e289afb 100644 --- a/chrome/browser/ui/chrome_pages.cc +++ b/chrome/browser/ui/chrome_pages.cc @@ -95,11 +95,19 @@ void ShowDownloads(Browser* browser) { GetSingletonTabNavigateParams(browser, GURL(kChromeUIDownloadsURL))); } -void ShowExtensions(Browser* browser) { +void ShowExtensions(Browser* browser, + const std::string& extension_to_highlight) { content::RecordAction(UserMetricsAction("ShowExtensions")); NavigateParams params( GetSingletonTabNavigateParams(browser, GURL(kChromeUIExtensionsURL))); params.path_behavior = NavigateParams::IGNORE_AND_NAVIGATE; + if (!extension_to_highlight.empty()) { + GURL::Replacements replacements; + std::string query("id="); + query += extension_to_highlight; + replacements.SetQueryStr(query); + params.url = params.url.ReplaceComponents(replacements); + } ShowSingletonTabOverwritingNTP(browser, params); } diff --git a/chrome/browser/ui/chrome_pages.h b/chrome/browser/ui/chrome_pages.h index bc8c3d1..bc46c1e 100644 --- a/chrome/browser/ui/chrome_pages.h +++ b/chrome/browser/ui/chrome_pages.h @@ -37,7 +37,8 @@ void ShowBookmarkManager(Browser* browser); void ShowBookmarkManagerForNode(Browser* browser, int64 node_id); void ShowHistory(Browser* browser); void ShowDownloads(Browser* browser); -void ShowExtensions(Browser* browser); +void ShowExtensions(Browser* browser, + const std::string& extension_to_highlight); void ShowConflicts(Browser* browser); void ShowFeedbackPage(Browser* browser, const std::string& description_template, diff --git a/chrome/browser/ui/cocoa/extensions/extension_action_context_menu.mm b/chrome/browser/ui/cocoa/extensions/extension_action_context_menu.mm index 4de7d5e..56df34a 100644 --- a/chrome/browser/ui/cocoa/extensions/extension_action_context_menu.mm +++ b/chrome/browser/ui/cocoa/extensions/extension_action_context_menu.mm @@ -147,7 +147,7 @@ enum { l10n_util::GetNSStringWithFixup(IDS_EXTENSIONS_UNINSTALL), l10n_util::GetNSStringWithFixup(IDS_EXTENSIONS_HIDE_BUTTON), [NSMenuItem separatorItem], - l10n_util::GetNSStringWithFixup(IDS_MANAGE_EXTENSIONS), + l10n_util::GetNSStringWithFixup(IDS_MANAGE_EXTENSION), l10n_util::GetNSStringWithFixup(IDS_EXTENSION_ACTION_INSPECT_POPUP), nil]; @@ -222,7 +222,7 @@ enum { break; } case kExtensionContextManage: { - chrome::ShowExtensions(browser_); + chrome::ShowExtensions(browser_, extension_->id()); break; } case kExtensionContextInspect: { diff --git a/chrome/browser/ui/views/ash/balloon_collection_impl_ash.cc b/chrome/browser/ui/views/ash/balloon_collection_impl_ash.cc index 1add268..56d898a 100644 --- a/chrome/browser/ui/views/ash/balloon_collection_impl_ash.cc +++ b/chrome/browser/ui/views/ash/balloon_collection_impl_ash.cc @@ -85,7 +85,7 @@ void BalloonCollectionImplAsh::ShowSettings( chrome::FindOrCreateTabbedBrowser(profile, chrome::HOST_DESKTOP_TYPE_ASH); if (GetBalloonExtension(balloon)) - chrome::ShowExtensions(browser); + chrome::ShowExtensions(browser, std::string()); else chrome::ShowContentSettings(browser, CONTENT_SETTINGS_TYPE_NOTIFICATIONS); } |