Chromium Code Reviews| Index: chrome/common/extensions/extension.h |
| diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h |
| index b9ec910046a724bdb2ff5a654044551b0c43f7c1..b898dad05d4eebe5c8309f2f734ff0fd361d092e 100644 |
| --- a/chrome/common/extensions/extension.h |
| +++ b/chrome/common/extensions/extension.h |
| @@ -123,13 +123,20 @@ 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. |
|
Erik does not do reviews
2010/12/03 23:40:41
add (NOTE: when de-duping hosts with common RCDs,
|
| + 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[]; |
| @@ -453,6 +460,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(); |