Index: chrome/common/extensions/api/extension_action/action_info.cc |
diff --git a/chrome/common/extensions/api/extension_action/action_info.cc b/chrome/common/extensions/api/extension_action/action_info.cc |
index 7d7ac1030313954e349b2a6378df3de760be470e..c43da20334aa0e768ea6b3d0a91201a584f140d0 100644 |
--- a/chrome/common/extensions/api/extension_action/action_info.cc |
+++ b/chrome/common/extensions/api/extension_action/action_info.cc |
@@ -38,6 +38,13 @@ ActionInfo::~ActionInfo() { |
} |
// static |
+const ActionInfo* ActionInfo::GetPageActionInfo(const Extension* extension) { |
+ ActionInfoData* data = static_cast<ActionInfoData*>( |
+ extension->GetManifestData(extension_manifest_keys::kPageAction)); |
+ return data ? data->action_info.get() : NULL; |
+} |
+ |
+// static |
const ActionInfo* ActionInfo::GetScriptBadgeInfo(const Extension* extension) { |
ActionInfoData* data = static_cast<ActionInfoData*>( |
extension->GetManifestData(extension_manifest_keys::kScriptBadge)); |
@@ -45,9 +52,23 @@ const ActionInfo* ActionInfo::GetScriptBadgeInfo(const Extension* extension) { |
} |
// static |
+void ActionInfo::SetPageActionInfo(Extension* extension, ActionInfo* info) { |
+ extension->SetManifestData(extension_manifest_keys::kPageAction, |
+ new ActionInfoData(info)); |
+} |
+ |
+// static |
void ActionInfo::SetScriptBadgeInfo(Extension* extension, ActionInfo* info) { |
extension->SetManifestData(extension_manifest_keys::kScriptBadge, |
new ActionInfoData(info)); |
} |
+// static |
+bool ActionInfo::IsVerboseInstallMessage(const Extension* extension) { |
+ const ActionInfo* page_action_info = GetPageActionInfo(extension); |
+ return page_action_info && |
+ (extension->page_action_command() || |
+ !page_action_info->default_icon.empty()); |
+} |
+ |
} // namespace extensions |