summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions')
-rw-r--r--chrome/browser/extensions/api/extension_action/extension_action_api.cc6
-rw-r--r--chrome/browser/extensions/extension_action_manager.cc8
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(),