diff options
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r-- | chrome/browser/extensions/api/extension_action/extension_action_api.cc | 6 | ||||
-rw-r--r-- | chrome/browser/extensions/extension_action_manager.cc | 8 |
2 files changed, 11 insertions, 3 deletions
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 b536ed7..63e7752 100644 --- a/chrome/browser/extensions/api/extension_action/extension_action_api.cc +++ b/chrome/browser/extensions/api/extension_action/extension_action_api.cc @@ -25,6 +25,7 @@ #include "chrome/common/chrome_notification_types.h" #include "chrome/common/extensions/api/extension_action/action_info.h" #include "chrome/common/extensions/api/extension_action/browser_action_handler.h" +#include "chrome/common/extensions/api/extension_action/page_action_handler.h" #include "chrome/common/extensions/api/extension_action/script_badge_handler.h" #include "chrome/common/extensions/extension_manifest_constants.h" #include "chrome/common/extensions/manifest_handler.h" @@ -190,6 +191,11 @@ static base::LazyInstance<ProfileKeyedAPIFactory<ExtensionActionAPI> > ExtensionActionAPI::ExtensionActionAPI(Profile* profile) { ManifestHandler::Register(extension_manifest_keys::kBrowserAction, make_linked_ptr(new BrowserActionHandler)); + linked_ptr<PageActionHandler> page_action_handler(new PageActionHandler); + ManifestHandler::Register( + extension_manifest_keys::kPageAction, page_action_handler); + ManifestHandler::Register( + extension_manifest_keys::kPageActions, page_action_handler); ManifestHandler::Register(extension_manifest_keys::kScriptBadge, make_linked_ptr(new ScriptBadgeHandler)); diff --git a/chrome/browser/extensions/extension_action_manager.cc b/chrome/browser/extensions/extension_action_manager.cc index 468cf74..c60383e1 100644 --- a/chrome/browser/extensions/extension_action_manager.cc +++ b/chrome/browser/extensions/extension_action_manager.cc @@ -13,6 +13,8 @@ #include "chrome/browser/profiles/profile_keyed_service_factory.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/extensions/api/extension_action/action_info.h" +#include "chrome/common/extensions/api/extension_action/page_action_handler.h" +#include "chrome/common/extensions/api/extension_action/script_badge_handler.h" #include "chrome/common/extensions/extension.h" #include "chrome/common/extensions/feature_switch.h" #include "content/public/browser/notification_service.h" @@ -124,7 +126,7 @@ ExtensionAction* ExtensionActionManager::GetPageAction( return NULL; return GetOrCreateOrNull(&page_actions_, extension.id(), ActionInfo::TYPE_PAGE, - extension.page_action_info()); + ActionInfo::GetPageActionInfo(&extension)); } ExtensionAction* ExtensionActionManager::GetBrowserAction( @@ -132,10 +134,10 @@ ExtensionAction* ExtensionActionManager::GetBrowserAction( const ActionInfo* action_info = ActionInfo::GetBrowserActionInfo(&extension); ActionInfo::Type action_type = ActionInfo::TYPE_BROWSER; if (FeatureSwitch::script_badges()->IsEnabled() && - extension.page_action_info()) { + ActionInfo::GetPageActionInfo(&extension)) { // The action box changes the meaning of the page action area, so we // need to convert page actions into browser actions. - action_info = extension.page_action_info(); + action_info = ActionInfo::GetPageActionInfo(&extension); action_type = ActionInfo::TYPE_PAGE; } return GetOrCreateOrNull(&browser_actions_, extension.id(), |