| Index: chrome/common/extensions/manifest_handlers/settings_overrides_handler.cc
|
| diff --git a/chrome/common/extensions/manifest_handlers/settings_overrides_handler.cc b/chrome/common/extensions/manifest_handlers/settings_overrides_handler.cc
|
| index b36b40adcf93c82b6289324e110ec7d82d812cda..e94d0ed45a24ea54dd6c947f9d81f30a68534c06 100644
|
| --- a/chrome/common/extensions/manifest_handlers/settings_overrides_handler.cc
|
| +++ b/chrome/common/extensions/manifest_handlers/settings_overrides_handler.cc
|
| @@ -13,9 +13,9 @@
|
| #include "extensions/common/extension_set.h"
|
| #include "extensions/common/feature_switch.h"
|
| #include "extensions/common/manifest_constants.h"
|
| +#include "extensions/common/manifest_handlers/permissions_parser.h"
|
| #include "extensions/common/permissions/api_permission_set.h"
|
| #include "extensions/common/permissions/manifest_permission.h"
|
| -#include "extensions/common/permissions/permissions_data.h"
|
| #include "extensions/common/permissions/permissions_info.h"
|
| #include "extensions/common/permissions/settings_override_permission.h"
|
| #include "grit/generated_resources.h"
|
| @@ -280,26 +280,33 @@ bool SettingsOverridesHandler::Parse(Extension* extension,
|
| info->manifest_permission.reset(new ManifestPermissionImpl(
|
| SettingsOverrides::RemovesBookmarkButton(*info)));
|
|
|
| - APIPermissionSet* permission_set =
|
| - PermissionsData::GetInitialAPIPermissions(extension);
|
| - DCHECK(permission_set);
|
| if (info->search_engine) {
|
| - permission_set->insert(new SettingsOverrideAPIPermission(
|
| - PermissionsInfo::GetInstance()->GetByID(APIPermission::kSearchProvider),
|
| - RemoveWwwPrefix(CreateManifestURL(info->search_engine->search_url)->
|
| - GetOrigin().host())));
|
| + PermissionsParser::AddAPIPermission(
|
| + extension,
|
| + new SettingsOverrideAPIPermission(
|
| + PermissionsInfo::GetInstance()->GetByID(
|
| + APIPermission::kSearchProvider),
|
| + RemoveWwwPrefix(CreateManifestURL(info->search_engine->search_url)
|
| + ->GetOrigin()
|
| + .host())));
|
| }
|
| if (!info->startup_pages.empty()) {
|
| - permission_set->insert(new SettingsOverrideAPIPermission(
|
| - PermissionsInfo::GetInstance()->GetByID(APIPermission::kStartupPages),
|
| - // We only support one startup page even though the type of the manifest
|
| - // property is a list, only the first one is used.
|
| - RemoveWwwPrefix(info->startup_pages[0].GetContent())));
|
| + PermissionsParser::AddAPIPermission(
|
| + extension,
|
| + new SettingsOverrideAPIPermission(
|
| + PermissionsInfo::GetInstance()->GetByID(
|
| + APIPermission::kStartupPages),
|
| + // We only support one startup page even though the type of the
|
| + // manifest
|
| + // property is a list, only the first one is used.
|
| + RemoveWwwPrefix(info->startup_pages[0].GetContent())));
|
| }
|
| if (info->homepage) {
|
| - permission_set->insert(new SettingsOverrideAPIPermission(
|
| - PermissionsInfo::GetInstance()->GetByID(APIPermission::kHomepage),
|
| - RemoveWwwPrefix(info->homepage.get()->GetContent())));
|
| + PermissionsParser::AddAPIPermission(
|
| + extension,
|
| + new SettingsOverrideAPIPermission(
|
| + PermissionsInfo::GetInstance()->GetByID(APIPermission::kHomepage),
|
| + RemoveWwwPrefix(info->homepage.get()->GetContent())));
|
| }
|
| extension->SetManifestData(manifest_keys::kSettingsOverride,
|
| info.release());
|
|
|