Index: extensions/common/manifest_handler.cc |
diff --git a/extensions/common/manifest_handler.cc b/extensions/common/manifest_handler.cc |
index 43e6bd80e2563d57c1075a0f52ac7b8556e5e973..944389d6a9fc235df27fc1678f93ea72469f10de 100644 |
--- a/extensions/common/manifest_handler.cc |
+++ b/extensions/common/manifest_handler.cc |
@@ -9,6 +9,8 @@ |
#include "base/logging.h" |
#include "base/stl_util.h" |
#include "chrome/common/extensions/extension.h" |
+#include "extensions/common/permissions/manifest_permission.h" |
+#include "extensions/common/permissions/manifest_permission_set.h" |
namespace extensions { |
@@ -57,6 +59,15 @@ void ManifestHandler::Register() { |
GetRegistry()->RegisterManifestHandler(keys[i], this_linked); |
} |
+ManifestPermission* ManifestHandler::CreatePermission() { |
+ return NULL; |
+} |
+ |
+ManifestPermission* ManifestHandler::CreateInitialRequiredPermission( |
+ const Extension* extension) { |
+ return NULL; |
+} |
+ |
// static |
void ManifestHandler::FinalizeRegistration() { |
GetRegistry()->Finalize(); |
@@ -80,6 +91,18 @@ bool ManifestHandler::ValidateExtension(const Extension* extension, |
} |
// static |
+ManifestPermission* ManifestHandler::CreatePermission(const std::string& name) { |
+ return GetRegistry()->CreatePermission(name); |
+} |
+ |
+// static |
+void ManifestHandler::AddExtensionInitialRequiredPermissions( |
+ const Extension* extension, ManifestPermissionSet* permission_set) { |
+ return GetRegistry()->AddExtensionInitialRequiredPermissions(extension, |
+ permission_set); |
+} |
+ |
+// static |
const std::vector<std::string> ManifestHandler::SingleKey( |
const std::string& key) { |
return std::vector<std::string>(1, key); |
@@ -144,6 +167,27 @@ bool ManifestHandlerRegistry::ValidateExtension( |
return true; |
} |
+ManifestPermission* ManifestHandlerRegistry::CreatePermission( |
+ const std::string& name) { |
+ ManifestHandlerMap::const_iterator it = handlers_.find(name); |
+ if (it == handlers_.end()) |
+ return NULL; |
+ |
+ return it->second->CreatePermission(); |
+} |
+ |
+void ManifestHandlerRegistry::AddExtensionInitialRequiredPermissions( |
+ const Extension* extension, ManifestPermissionSet* permission_set) { |
+ for (ManifestHandlerMap::const_iterator it = handlers_.begin(); |
+ it != handlers_.end(); ++it) { |
+ ManifestPermission* permission = |
+ it->second->CreateInitialRequiredPermission(extension); |
+ if (permission) { |
+ permission_set->insert(permission); |
+ } |
+ } |
+} |
+ |
// static |
ManifestHandlerRegistry* ManifestHandlerRegistry::SetForTesting( |
ManifestHandlerRegistry* new_registry) { |