| 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();
 | 
|  
 | 
| 
 |