| Index: chrome/common/extensions/permissions/permission_set.h
|
| diff --git a/chrome/common/extensions/permissions/permission_set.h b/chrome/common/extensions/permissions/permission_set.h
|
| index 76d652138f81e1b45150d5664499255a6a8ad3a0..85475feede832a50fc60413e64a9e9d55f43d611 100644
|
| --- a/chrome/common/extensions/permissions/permission_set.h
|
| +++ b/chrome/common/extensions/permissions/permission_set.h
|
| @@ -14,14 +14,13 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/singleton.h"
|
| #include "base/string16.h"
|
| +#include "chrome/common/extensions/extension.h"
|
| #include "chrome/common/extensions/permissions/api_permission.h"
|
| #include "chrome/common/extensions/permissions/permission_message.h"
|
| #include "chrome/common/extensions/url_pattern_set.h"
|
|
|
| namespace extensions {
|
|
|
| -class Extension;
|
| -
|
| // The PermissionSet is an immutable class that encapsulates an
|
| // extension's permissions. The class exposes set operations for combining and
|
| // manipulating the permissions.
|
| @@ -78,17 +77,15 @@ class PermissionSet
|
| // HasAnyAPIPermission("tabs") will return true.
|
| bool HasAnyAccessToAPI(const std::string& api_name) const;
|
|
|
| - // Gets a list of the distinct hosts for displaying to the user.
|
| - // NOTE: do not use this for comparing permissions, since this disgards some
|
| - // information.
|
| - std::set<std::string> GetDistinctHostsForDisplay() const;
|
| -
|
| // Gets the localized permission messages that represent this set.
|
| - PermissionMessages GetPermissionMessages() const;
|
| + // The set of permission messages shown varies by extension type.
|
| + PermissionMessages GetPermissionMessages(Extension::Type extension_type)
|
| + const;
|
|
|
| // Gets the localized permission messages that represent this set (represented
|
| - // as strings).
|
| - std::vector<string16> GetWarningMessages() const;
|
| + // as strings). The set of permission messages shown varies by extension type.
|
| + std::vector<string16> GetWarningMessages(Extension::Type extension_type)
|
| + const;
|
|
|
| // Returns true if this is an empty set (e.g., the default permission set).
|
| bool IsEmpty() const;
|
| @@ -132,6 +129,15 @@ class PermissionSet
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(PermissionsTest, HasLessHostPrivilegesThan);
|
| FRIEND_TEST_ALL_PREFIXES(PermissionsTest, GetWarningMessages_AudioVideo);
|
| + FRIEND_TEST_ALL_PREFIXES(PermissionsTest, GetDistinctHostsForDisplay);
|
| + FRIEND_TEST_ALL_PREFIXES(PermissionsTest,
|
| + GetDistinctHostsForDisplay_ComIsBestRcd);
|
| + FRIEND_TEST_ALL_PREFIXES(PermissionsTest,
|
| + GetDistinctHostsForDisplay_NetIs2ndBestRcd);
|
| + FRIEND_TEST_ALL_PREFIXES(PermissionsTest,
|
| + GetDistinctHostsForDisplay_OrgIs3rdBestRcd);
|
| + FRIEND_TEST_ALL_PREFIXES(PermissionsTest,
|
| + GetDistinctHostsForDisplay_FirstInListIs4thBestRcd);
|
| friend class base::RefCountedThreadSafe<PermissionSet>;
|
|
|
| ~PermissionSet();
|
| @@ -163,6 +169,11 @@ class PermissionSet
|
| bool HasLessHostPrivilegesThan(
|
| const PermissionSet* permissions) const;
|
|
|
| + // Gets a list of the distinct hosts for displaying to the user.
|
| + // NOTE: do not use this for comparing permissions, since this disgards some
|
| + // information.
|
| + std::set<std::string> GetDistinctHostsForDisplay() const;
|
| +
|
| // The api list is used when deciding if an extension can access certain
|
| // extension APIs and features.
|
| APIPermissionSet apis_;
|
|
|