summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-28 04:05:08 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-28 04:05:08 +0000
commitbc9833c3cc8a3ed4090da16270de39722a6be2b4 (patch)
tree6ba25e8a748cba3fa72fbe16306b8d8746e6ee06 /chrome
parent97ff8b508812e58e7071579511ab04ca21d577be (diff)
downloadchromium_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.grd8
-rw-r--r--chrome/browser/app_controller_mac.mm2
-rw-r--r--chrome/browser/extensions/extension_context_menu_model.cc4
-rw-r--r--chrome/browser/extensions/extension_error_ui_default.cc2
-rw-r--r--chrome/browser/notifications/message_center_notification_manager.cc2
-rw-r--r--chrome/browser/ui/browser_command_controller.cc2
-rw-r--r--chrome/browser/ui/browser_mac.cc2
-rw-r--r--chrome/browser/ui/chrome_pages.cc10
-rw-r--r--chrome/browser/ui/chrome_pages.h3
-rw-r--r--chrome/browser/ui/cocoa/extensions/extension_action_context_menu.mm4
-rw-r--r--chrome/browser/ui/views/ash/balloon_collection_impl_ash.cc2
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);
}