diff options
Diffstat (limited to 'chrome/common/extensions/extension.cc')
-rw-r--r-- | chrome/common/extensions/extension.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc index 1ea3041d..4d9cf10 100644 --- a/chrome/common/extensions/extension.cc +++ b/chrome/common/extensions/extension.cc @@ -908,8 +908,9 @@ bool Extension::LoadIsApp(const DictionaryValue* manifest, if (CommandLine::ForCurrentProcess()->HasSwitch( switches::kEnablePlatformApps)) { - if (manifest->HasKey(keys::kPlatformApp)) - is_platform_app_ = true; + if (manifest->HasKey(keys::kPlatformApp)) { + manifest->GetBoolean(keys::kPlatformApp, &is_platform_app_); + } } return true; @@ -2863,6 +2864,14 @@ bool Extension::CanSpecifyAPIPermission( } } + if (permission->is_platform_app_only()) { + if (!is_platform_app()) { + *error = ExtensionErrorUtils::FormatErrorMessage( + errors::kPermissionNotAllowed, permission->name()); + return false; + } + } + return true; } |