Chromium Code Reviews| Index: chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
| diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
| index 0f3c95541c1fbb3c41d70fa65dd552e1b7f18a6b..2cec27978f699aecf6b12c53ab16908137d796b6 100644 |
| --- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
| +++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc |
| @@ -28,6 +28,8 @@ |
| #include "chrome/browser/prefs/pref_service.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/tab_contents/background_contents.h" |
| +#include "chrome/browser/ui/browser_finder.h" |
| +#include "chrome/browser/ui/browser_window.h" |
| #include "chrome/browser/ui/webui/extensions/extension_icon_source.h" |
| #include "chrome/browser/view_type_utils.h" |
| #include "chrome/common/chrome_notification_types.h" |
| @@ -52,6 +54,8 @@ |
| #include "ui/base/l10n/l10n_util.h" |
| #include "ui/base/resource/resource_bundle.h" |
| +using content::OpenURLParams; |
| +using content::Referrer; |
| using content::RenderViewHost; |
| using content::WebContents; |
| using extensions::Extension; |
| @@ -317,6 +321,9 @@ void ExtensionSettingsHandler::RegisterMessages() { |
| web_ui()->RegisterMessageCallback("extensionSettingsOptions", |
| base::Bind(&ExtensionSettingsHandler::HandleOptionsMessage, |
| base::Unretained(this))); |
| + web_ui()->RegisterMessageCallback("extensionSettingsActivity", |
| + base::Bind(&ExtensionSettingsHandler::HandleActivityMessage, |
| + base::Unretained(this))); |
| web_ui()->RegisterMessageCallback("extensionSettingsShowButton", |
| base::Bind(&ExtensionSettingsHandler::HandleShowButtonMessage, |
| base::Unretained(this))); |
| @@ -669,6 +676,23 @@ void ExtensionSettingsHandler::HandleOptionsMessage(const ListValue* args) { |
| extension, NULL); |
| } |
| +void ExtensionSettingsHandler::HandleActivityMessage(const ListValue* args) { |
|
Evan Stade
2012/05/29 22:12:38
GenericHandler kind of already does this.
Eric Dingle
2012/05/30 14:13:37
Done.
|
| + const Extension* extension = GetActiveExtension(args); |
| + if (!extension) |
| + return; |
| + |
| + std::string url = chrome::kChromeUIExtensionActivityURL; |
| + url.append("?extensionId="); |
| + url.append(extension->id()); |
| + OpenURLParams params(GURL(url), Referrer(), SINGLETON_TAB, |
| + content::PAGE_TRANSITION_LINK, false); |
| + |
| + Browser* browser = browser::FindOrCreateTabbedBrowser( |
| + Profile::FromWebUI(web_ui())->GetOriginalProfile()); |
| + browser->OpenURL(params); |
| + browser->window()->Show(); |
| +} |
| + |
| void ExtensionSettingsHandler::HandleShowButtonMessage(const ListValue* args) { |
| const Extension* extension = GetActiveExtension(args); |
| if (!extension) |