Index: chrome/browser/extensions/extension_management_internal.h |
diff --git a/chrome/browser/extensions/extension_management_internal.h b/chrome/browser/extensions/extension_management_internal.h |
index d01bb339c9547c6b236612518172220044ee970a..bfdb32cfc5a732e9bc27709047c775307f6e2bdb 100644 |
--- a/chrome/browser/extensions/extension_management_internal.h |
+++ b/chrome/browser/extensions/extension_management_internal.h |
@@ -10,6 +10,7 @@ |
#include "base/macros.h" |
#include "chrome/browser/extensions/extension_management.h" |
#include "extensions/common/manifest.h" |
+#include "extensions/common/permissions/api_permission_set.h" |
namespace base { |
class DictionaryValue; |
@@ -55,6 +56,18 @@ struct IndividualSettings { |
ExtensionManagement::InstallationMode installation_mode; |
std::string update_url; |
+ // Permissions settings for extensions. These settings won't give granted |
+ // permissions to extensions automatically. Instead, these settings will |
+ // provide a list of blocked permissions for each extension. That is, if |
+ // an extension requires a permission which is on the blocklist for it, |
+ // this extension will not be allowed to be loaded. And if it contains a |
+ // blocked permission as optional requirement, it will be allowed to |
+ // be loaded (of course, with permission granted from other part of |
+ // extension system), but conflicting permissions will not be usable. |
+ // These settings will merge from the default settings, and unspecified |
+ // settings will take value from default settings. |
+ APIPermissionSet blocked_permissions; |
+ |
private: |
DISALLOW_ASSIGN(IndividualSettings); |
}; |