diff options
Diffstat (limited to 'extensions/common/extensions_client.h')
-rw-r--r-- | extensions/common/extensions_client.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/extensions/common/extensions_client.h b/extensions/common/extensions_client.h index 83550a9..eb3ebfe 100644 --- a/extensions/common/extensions_client.h +++ b/extensions/common/extensions_client.h @@ -5,12 +5,15 @@ #ifndef EXTENSIONS_COMMON_EXTENSIONS_CLIENT_H_ #define EXTENSIONS_COMMON_EXTENSIONS_CLIENT_H_ +#include <set> #include <string> namespace extensions { class FeatureProvider; +class PermissionMessage; class PermissionsProvider; +class URLPatternSet; // Sets up global state for the extensions system. Should be Set() once in each // process. This should be implemented by the client of the extensions system. @@ -26,6 +29,14 @@ class ExtensionsClient { // Called at startup. Registers the handlers for parsing manifests. virtual void RegisterManifestHandlers() const = 0; + // Takes the list of all hosts and filters out those with special + // permission strings. Adds the regular hosts to |new_hosts|, + // and adds the special permission messages to |messages|. + virtual void FilterHostPermissions( + const URLPatternSet& hosts, + URLPatternSet* new_hosts, + std::set<PermissionMessage>* messages) const = 0; + // Return the extensions client. static ExtensionsClient* Get(); |