| Index: chrome/common/extensions/extension.h
|
| diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h
|
| index a8a05f5d6cca9751fe51d06ab41517aafc3f219f..0d171d8c4b23fcff7fa4ad5b9f50338555e33503 100644
|
| --- a/chrome/common/extensions/extension.h
|
| +++ b/chrome/common/extensions/extension.h
|
| @@ -123,13 +123,21 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
|
| // should display at install time.
|
| std::vector<string16> GetPermissionMessages() const;
|
|
|
| - // Returns the distinct hosts that should be displayed in the install UI. This
|
| - // discards some of the detail that is present in the manifest to make it as
|
| - // easy as possible to process by users. In particular we disregard the scheme
|
| - // and path components of URLPatterns and de-dupe the result.
|
| - static std::vector<std::string> GetDistinctHosts(
|
| - const URLPatternList& host_patterns);
|
| - std::vector<std::string> GetDistinctHosts() const;
|
| + // Returns the distinct hosts that should be displayed in the install UI
|
| + // for the URL patterns |list|. This discards some of the detail that is
|
| + // present in the manifest to make it as easy as possible to process by
|
| + // users. In particular we disregard the scheme and path components of
|
| + // URLPatterns and de-dupe the result, which includes filtering out common
|
| + // hosts with differing RCDs. (NOTE: when de-duping hosts with common RCDs,
|
| + // the first pattern is returned and the rest discarded)
|
| + static std::vector<std::string> GetDistinctHostsForDisplay(
|
| + const URLPatternList& list);
|
| +
|
| + // Compares two URLPatternLists for security equality by returning whether
|
| + // the URL patterns in |new_list| contain additional distinct hosts compared
|
| + // to |old_list|.
|
| + static bool IsElevatedHostList(
|
| + const URLPatternList& old_list, const URLPatternList& new_list);
|
|
|
| // Icon sizes used by the extension system.
|
| static const int kIconSizes[];
|
| @@ -456,6 +464,22 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
|
| // sure the drive letter is uppercase.
|
| static FilePath MaybeNormalizePath(const FilePath& path);
|
|
|
| + // Returns the distinct hosts that can be displayed in the install UI or be
|
| + // used for privilege comparisons. This discards some of the detail that is
|
| + // present in the manifest to make it as easy as possible to process by users.
|
| + // In particular we disregard the scheme and path components of URLPatterns
|
| + // and de-dupe the result, which includes filtering out common hosts with
|
| + // differing RCDs. If |include_rcd| is true, then the de-duped result
|
| + // will be the first full entry, including its RCD. So if the list was
|
| + // "*.google.co.uk" and "*.google.com", the returned value would just be
|
| + // "*.google.co.uk". Keeping the RCD in the result is useful for display
|
| + // purposes when you want to show the user one sample hostname from the list.
|
| + // If you need to compare two URLPatternLists for security equality, then set
|
| + // |include_rcd| to false, which will return a result like "*.google.",
|
| + // regardless of the order of the patterns.
|
| + static std::vector<std::string> GetDistinctHosts(
|
| + const URLPatternList& host_patterns, bool include_rcd);
|
| +
|
| Extension(const FilePath& path, Location location);
|
| ~Extension();
|
|
|
|
|