Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef EXTENSIONS_COMMON_PERMISSIONS_PERMISSION_MESSAGE_PROVIDER_H_ | 5 #ifndef EXTENSIONS_COMMON_PERMISSIONS_PERMISSION_MESSAGE_PROVIDER_H_ |
| 6 #define EXTENSIONS_COMMON_PERMISSIONS_PERMISSION_MESSAGE_PROVIDER_H_ | 6 #define EXTENSIONS_COMMON_PERMISSIONS_PERMISSION_MESSAGE_PROVIDER_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "extensions/common/manifest.h" | 10 #include "extensions/common/manifest.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 71 | 71 |
| 72 // Calculates and returns the full list of permission messages for the given | 72 // Calculates and returns the full list of permission messages for the given |
| 73 // |permissions|. This involves converting the given PermissionIDs into | 73 // |permissions|. This involves converting the given PermissionIDs into |
| 74 // localized messages, as well as coalescing and parameterizing any messages | 74 // localized messages, as well as coalescing and parameterizing any messages |
| 75 // that require the permission ID's argument in their message. | 75 // that require the permission ID's argument in their message. |
| 76 // TODO(sashab): Rename this to GetPermissionMessages() once the current one | 76 // TODO(sashab): Rename this to GetPermissionMessages() once the current one |
| 77 // is deprecated. | 77 // is deprecated. |
| 78 virtual CoalescedPermissionMessages GetCoalescedPermissionMessages( | 78 virtual CoalescedPermissionMessages GetCoalescedPermissionMessages( |
| 79 const PermissionIDSet& permissions) const = 0; | 79 const PermissionIDSet& permissions) const = 0; |
| 80 | 80 |
| 81 // Gets the localized permission messages that represent this set (represented | |
| 82 // as strings). The set of permission messages shown varies by extension type. | |
| 83 // Any permissions added by API, host or manifest permissions need to be added | |
| 84 // to |permissions| before this function is called. | |
| 85 // Deprecated; use GetPermissionMessageStrings instead. | |
| 86 // TODO(treib): Remove this once we've switched to the new system. | |
| 87 virtual std::vector<base::string16> GetLegacyWarningMessages( | |
| 88 const PermissionSet* permissions, | |
| 89 Manifest::Type extension_type) const = 0; | |
| 90 | |
| 91 // Gets the localized permission details for messages that represent this set | |
| 92 // (represented as strings). The set of permission messages shown varies by | |
| 93 // extension type. | |
| 94 // Deprecated; use GetPermissionMessageStrings instead. | |
| 95 // TODO(treib): Remove this once we've switched to the new system. | |
| 96 virtual std::vector<base::string16> GetLegacyWarningMessagesDetails( | |
| 97 const PermissionSet* permissions, | |
| 98 Manifest::Type extension_type) const = 0; | |
| 99 | |
| 100 // Returns true if |new_permissions| has a greater privilege level than | 81 // Returns true if |new_permissions| has a greater privilege level than |
| 101 // |old_permissions|. | 82 // |old_permissions|. |
| 102 // Whether certain permissions are considered varies by extension type. | 83 // Whether certain permissions are considered varies by extension type. |
| 103 // TODO(sashab): Add an implementation of this method that uses | 84 // TODO(sashab): Add an implementation of this method that uses |
| 104 // PermissionIDSet instead, then deprecate this one. | 85 // PermissionIDSet instead, then deprecate this one. |
| 105 virtual bool IsPrivilegeIncrease( | 86 virtual bool IsPrivilegeIncrease( |
| 106 const PermissionSet* old_permissions, | 87 const PermissionSet* old_permissions, |
| 107 const PermissionSet* new_permissions, | 88 const PermissionSet* new_permissions, |
| 108 Manifest::Type extension_type) const = 0; | 89 Manifest::Type extension_type) const = 0; |
| 109 | 90 |
| 110 // Given the permissions for an extension, finds the IDs of all the | 91 // Given the permissions for an extension, finds the IDs of all the |
| 111 // permissions for that extension (including API, manifest and host | 92 // permissions for that extension (including API, manifest and host |
| 112 // permissions). | 93 // permissions). |
| 113 // TODO(sashab): This uses the legacy PermissionSet type. Deprecate or rename | 94 // TODO(sashab): This uses the legacy PermissionSet type. Deprecate or rename |
| 114 // this type, and make this take as little as is needed to work out the | 95 // this type, and make this take as little as is needed to work out the |
| 115 // PermissionIDSet. | 96 // PermissionIDSet. |
| 116 virtual PermissionIDSet GetAllPermissionIDs( | 97 virtual PermissionIDSet GetAllPermissionIDs( |
| 117 const PermissionSet* permissions, | 98 const PermissionSet* permissions, |
| 118 Manifest::Type extension_type) const = 0; | 99 Manifest::Type extension_type) const = 0; |
| 100 | |
| 101 private: | |
|
Yoyo Zhou
2015/03/30 20:29:27
Cool!
| |
| 102 // Gets the localized permission messages that represent this set (represented | |
| 103 // as strings). The set of permission messages shown varies by extension type. | |
| 104 // Any permissions added by API, host or manifest permissions need to be added | |
| 105 // to |permissions| before this function is called. | |
| 106 // Deprecated; use GetPermissionMessageStrings instead. | |
| 107 // TODO(treib): Remove this once we've switched to the new system. | |
| 108 virtual std::vector<base::string16> GetLegacyWarningMessages( | |
| 109 const PermissionSet* permissions, | |
| 110 Manifest::Type extension_type) const = 0; | |
| 111 | |
| 112 // Gets the localized permission details for messages that represent this set | |
| 113 // (represented as strings). The set of permission messages shown varies by | |
| 114 // extension type. | |
| 115 // Deprecated; use GetPermissionMessageStrings instead. | |
| 116 // TODO(treib): Remove this once we've switched to the new system. | |
| 117 virtual std::vector<base::string16> GetLegacyWarningMessagesDetails( | |
| 118 const PermissionSet* permissions, | |
| 119 Manifest::Type extension_type) const = 0; | |
| 119 }; | 120 }; |
| 120 | 121 |
| 121 } // namespace extensions | 122 } // namespace extensions |
| 122 | 123 |
| 123 #endif // EXTENSIONS_COMMON_PERMISSIONS_PERMISSION_MESSAGE_PROVIDER_H_ | 124 #endif // EXTENSIONS_COMMON_PERMISSIONS_PERMISSION_MESSAGE_PROVIDER_H_ |
| OLD | NEW |