Chromium Code Reviews| Index: chrome/browser/extensions/api/extension_action/extension_action_api.cc |
| diff --git a/chrome/browser/extensions/api/extension_action/extension_action_api.cc b/chrome/browser/extensions/api/extension_action/extension_action_api.cc |
| index 98e73ee428297faf8f31e47801af00e6872994d5..4ac070901e45be68dbe5b5f352dd4b37f98b086f 100644 |
| --- a/chrome/browser/extensions/api/extension_action/extension_action_api.cc |
| +++ b/chrome/browser/extensions/api/extension_action/extension_action_api.cc |
| @@ -4,7 +4,7 @@ |
| #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" |
| -#include <string> |
| +#include <set> |
|
Finnur
2013/10/15 10:44:21
Where's std::set used?
justinlin
2013/10/16 07:06:48
Done.
|
| #include "base/base64.h" |
| #include "base/lazy_instance.h" |
| @@ -25,6 +25,7 @@ |
| #include "chrome/browser/extensions/tab_helper.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/extensions/api/extension_action/action_info.h" |
| +#include "chrome/common/extensions/features/simple_feature.h" |
|
Finnur
2013/10/15 10:44:21
Don't need this?
justinlin
2013/10/16 07:06:48
Done.
|
| #include "chrome/common/render_messages.h" |
| #include "content/public/browser/navigation_entry.h" |
| #include "content/public/browser/notification_service.h" |
| @@ -32,6 +33,7 @@ |
| #include "ui/gfx/image/image.h" |
| #include "ui/gfx/image/image_skia.h" |
| +using chrome::VersionInfo; |
|
Finnur
2013/10/15 10:44:21
Don't need this, right?
justinlin
2013/10/16 07:06:48
Done.
|
| using content::WebContents; |
| namespace page_actions_keys = extension_page_actions_api_constants; |
| @@ -209,6 +211,7 @@ ExtensionActionAPI::ExtensionActionAPI(Profile* profile) { |
| registry->RegisterFunction<BrowserActionGetPopupFunction>(); |
| registry->RegisterFunction<BrowserActionEnableFunction>(); |
| registry->RegisterFunction<BrowserActionDisableFunction>(); |
| + registry->RegisterFunction<BrowserActionOpenPopupFunction>(); |
| // Page Actions |
| registry->RegisterFunction<EnablePageActionsFunction>(); |
| @@ -805,6 +808,26 @@ bool ExtensionActionGetBadgeBackgroundColorFunction::RunExtensionAction() { |
| return true; |
| } |
| +bool BrowserActionOpenPopupFunction::RunImpl() { |
| + ExtensionService* service = |
| + extensions::ExtensionSystem::Get(profile_)->extension_service(); |
| + if (!service) { |
| + SetResult(new base::DictionaryValue()); |
| + return false; |
|
Finnur
2013/10/15 10:44:21
Do you see these (service and model below) being N
justinlin
2013/10/16 07:06:48
yea, I think extension_service() would not be NULL
|
| + } |
| + |
| + ExtensionToolbarModel *model = service->toolbar_model(); |
|
Finnur
2013/10/15 10:44:21
Foo* foo
not
Foo *foo.
justinlin
2013/10/16 07:06:48
Done.
|
| + if (!model) { |
| + SetResult(new base::DictionaryValue()); |
| + return false; |
| + } |
| + |
| + model->ShowBrowserActionPopup(extension_); |
| + |
| + SetResult(new base::DictionaryValue()); |
| + return true; |
| +} |
| + |
| // |
| // ScriptBadgeGetAttentionFunction |
| // |