Re-land the experimental permissions API for extensions.
The permissions API lets extensions specify optional permissions in their manifest that they can request at run-time. It currently supports API permissions through a white-list. Host permissions will come later. This also fixes some clang errors from the previous attempt.
BUG=48119, 70466, 84507
TEST=*Extension*
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=94288
Review URL: http://codereview.chromium.org/7432006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94326 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/extension_function_dispatcher.cc b/chrome/browser/extensions/extension_function_dispatcher.cc
index c8cbf9e2..15529b2 100644
--- a/chrome/browser/extensions/extension_function_dispatcher.cc
+++ b/chrome/browser/extensions/extension_function_dispatcher.cc
@@ -32,6 +32,7 @@
#include "chrome/browser/extensions/extension_module.h"
#include "chrome/browser/extensions/extension_omnibox_api.h"
#include "chrome/browser/extensions/extension_page_actions_module.h"
+#include "chrome/browser/extensions/extension_permissions_api.h"
#include "chrome/browser/extensions/extension_preference_api.h"
#include "chrome/browser/extensions/extension_processes_api.h"
#include "chrome/browser/extensions/extension_proxy_api.h"
@@ -393,6 +394,12 @@
// Experimental App API.
RegisterFunction<AppNotifyFunction>();
RegisterFunction<AppClearAllNotificationsFunction>();
+
+ // Permissions
+ RegisterFunction<ContainsPermissionsFunction>();
+ RegisterFunction<GetAllPermissionsFunction>();
+ RegisterFunction<RemovePermissionsFunction>();
+ RegisterFunction<RequestPermissionsFunction>();
}
void FactoryRegistry::GetAllNames(std::vector<std::string>* names) {