Chromium Code Reviews| Index: chrome/common/extensions/extension.cc |
| diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc |
| index 2ed5e3d3698956936597de2c79902da18c3269ee..ddda21dbeb76ad42e030603a2da98092285bca4a 100644 |
| --- a/chrome/common/extensions/extension.cc |
| +++ b/chrome/common/extensions/extension.cc |
| @@ -2186,7 +2186,7 @@ bool Extension::LoadFileHandlers(string16* error) { |
| return true; |
| } |
| -bool Extension::LoadExtensionFeatures(const APIPermissionSet& api_permissions, |
| +bool Extension::LoadExtensionFeatures(APIPermissionSet& api_permissions, |
| string16* error) { |
| if (manifest_->HasKey(keys::kConvertedFromUserScript)) |
| manifest_->GetBoolean(keys::kConvertedFromUserScript, |
| @@ -2197,6 +2197,7 @@ bool Extension::LoadExtensionFeatures(const APIPermissionSet& api_permissions, |
| !LoadContentScripts(error) || |
| !LoadPageAction(error) || |
| !LoadBrowserAction(error) || |
| + !LoadSystemIndicator(api_permissions, error) || |
| !LoadScriptBadge(error) || |
| !LoadFileBrowserHandlers(error) || |
| !LoadChromeURLOverrides(error) || |
| @@ -2443,6 +2444,26 @@ bool Extension::LoadBrowserAction(string16* error) { |
| return true; |
| } |
| +bool Extension::LoadSystemIndicator(APIPermissionSet& api_permissions, |
| + string16* error) { |
| + if (!manifest_->HasKey(keys::kSystemIndicator)) { |
| + return true; |
| + } |
| + |
| + DictionaryValue* system_indicator_value = NULL; |
| + if (!manifest_->GetDictionary(keys::kSystemIndicator, |
| + &system_indicator_value)) { |
| + *error = ASCIIToUTF16(errors::kInvalidSystemIndicator); |
| + return false; |
| + } |
| + |
| + // Because the manifest was successfully parsed, auto-grant the permission. |
| + api_permissions.insert(APIPermission::kSystemIndicator); |
|
not at google - send to devlin
2012/11/20 23:58:08
I like this idea. We should make it happen for all
dewittj
2012/11/21 22:09:41
Will add to the rest of the _actions in a separate
not at google - send to devlin
2012/11/21 23:39:23
Ok.
The status of the Feature system is partially
|
| + |
| + // TODO(dewittj) Parse browser action section. |
| + return true; |
|
not at google - send to devlin
2012/11/20 23:58:08
Why not just implement it now?
dewittj
2012/11/21 22:09:41
I still have doubts about what the final format wi
not at google - send to devlin
2012/11/21 23:39:23
Yep sounds good, but I hope that any improvements
|
| +} |
| + |
| bool Extension::LoadScriptBadge(string16* error) { |
| if (manifest_->HasKey(keys::kScriptBadge)) { |
| if (!FeatureSwitch::script_badges()->IsEnabled()) { |