| 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..5201575a942eb124cb55e900aac42e016b107a27 100644
|
| --- a/chrome/common/extensions/api/extension_action/action_info.cc
|
| +++ b/chrome/common/extensions/api/extension_action/action_info.cc
|
| @@ -29,6 +29,13 @@ ActionInfoData::ActionInfoData(ActionInfo* info) : action_info(info) {
|
| ActionInfoData::~ActionInfoData() {
|
| }
|
|
|
| +static const ActionInfo* GetActionInfo(const Extension* extension,
|
| + const std::string& key) {
|
| + ActionInfoData* data = static_cast<ActionInfoData*>(
|
| + extension->GetManifestData(key));
|
| + return data ? data->action_info.get() : NULL;
|
| +}
|
| +
|
| } // namespace
|
|
|
| ActionInfo::ActionInfo() {
|
| @@ -38,10 +45,19 @@ ActionInfo::~ActionInfo() {
|
| }
|
|
|
| // static
|
| +const ActionInfo* ActionInfo::GetBrowserActionInfo(const Extension* extension) {
|
| + return GetActionInfo(extension, extension_manifest_keys::kBrowserAction);
|
| +}
|
| +
|
| +// static
|
| const ActionInfo* ActionInfo::GetScriptBadgeInfo(const Extension* extension) {
|
| - ActionInfoData* data = static_cast<ActionInfoData*>(
|
| - extension->GetManifestData(extension_manifest_keys::kScriptBadge));
|
| - return data ? data->action_info.get() : NULL;
|
| + return GetActionInfo(extension, extension_manifest_keys::kScriptBadge);
|
| +}
|
| +
|
| +// static
|
| +void ActionInfo::SetBrowserActionInfo(Extension* extension, ActionInfo* info) {
|
| + extension->SetManifestData(extension_manifest_keys::kBrowserAction,
|
| + new ActionInfoData(info));
|
| }
|
|
|
| // static
|
|
|