summaryrefslogtreecommitdiffstats
path: root/chrome/utility
diff options
context:
space:
mode:
authoryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-04 09:04:37 +0000
committeryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-04 09:04:37 +0000
commite676f8f0050863331707210c9457162e03563ce3 (patch)
tree604fb9098821831debfe19c5044c2f19106e53c6 /chrome/utility
parent56b7e39f89c80273f23b4a0fe5aaa14431d16745 (diff)
downloadchromium_src-e676f8f0050863331707210c9457162e03563ce3.zip
chromium_src-e676f8f0050863331707210c9457162e03563ce3.tar.gz
chromium_src-e676f8f0050863331707210c9457162e03563ce3.tar.bz2
Refactor APIPermission to separate out specific permission registration.
Adds a delegate to the PermissionsInfo global to do the specific registration; adds a ScopedTestingPermissionsInfo for unit tests. Preparation for moving permissions to top-level extensions. Also adds a base class for unittests, ExtensionTest, to deal with manifest handler / permission setup. BUG=162530,172712 Review URL: https://chromiumcodereview.appspot.com/13370002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192252 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/utility')
-rw-r--r--chrome/utility/chrome_content_utility_client.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/utility/chrome_content_utility_client.cc b/chrome/utility/chrome_content_utility_client.cc
index d260631..fcbd16a 100644
--- a/chrome/utility/chrome_content_utility_client.cc
+++ b/chrome/utility/chrome_content_utility_client.cc
@@ -28,6 +28,7 @@
#include "chrome/common/extensions/extension_l10n_util.h"
#include "chrome/common/extensions/incognito_handler.h"
#include "chrome/common/extensions/manifest.h"
+#include "chrome/common/extensions/permissions/chrome_api_permissions.h"
#include "chrome/common/extensions/unpacker.h"
#include "chrome/common/extensions/update_manifest.h"
#include "chrome/common/safe_browsing/zip_analyzer.h"
@@ -145,6 +146,9 @@ void ChromeContentUtilityClient::OnUnpackExtension(
int creation_flags) {
CHECK(location > extensions::Manifest::INVALID_LOCATION);
CHECK(location < extensions::Manifest::NUM_LOCATIONS);
+ extensions::ChromeAPIPermissions permissions;
+ extensions::PermissionsInfo::GetInstance()->InitializeWithDelegate(
+ permissions);
RegisterExtensionManifestHandlers();
extensions::Unpacker unpacker(
extension_path,