Chromium Code Reviews| Index: chrome/browser/extensions/extension_install_prompt.h |
| diff --git a/chrome/browser/extensions/extension_install_prompt.h b/chrome/browser/extensions/extension_install_prompt.h |
| index 54fa47ee81ca1b27736357dbdec3facab34f05e3..5b0d0451a67f7a17be112bb8a059b39f90efb535 100644 |
| --- a/chrome/browser/extensions/extension_install_prompt.h |
| +++ b/chrome/browser/extensions/extension_install_prompt.h |
| @@ -80,9 +80,16 @@ class ExtensionInstallPrompt |
| enum DetailsType { |
| PERMISSIONS_DETAILS = 0, |
| + WITHHELD_PERMISSIONS_DETAILS, |
| RETAINED_FILES_DETAILS, |
| }; |
| + enum PermissionsType { |
| + REGULAR_PERMISSIONS = 0, |
| + WITHHELD_PERMISSIONS, |
| + ALL_PERMISSIONS, |
| + }; |
| + |
| static std::string PromptTypeToString(PromptType type); |
| // Extra information needed to display an installation or uninstallation |
| @@ -96,9 +103,11 @@ class ExtensionInstallPrompt |
| explicit Prompt(PromptType type); |
| // Sets the permission list for this prompt. |
| - void SetPermissions(const std::vector<base::string16>& permissions); |
| + void SetPermissions(const std::vector<base::string16>& permissions, |
| + PermissionsType permissions_type); |
| // Sets the permission list details for this prompt. |
| - void SetPermissionsDetails(const std::vector<base::string16>& details); |
| + void SetPermissionsDetails(const std::vector<base::string16>& details, |
| + PermissionsType permissions_type); |
| void SetIsShowingDetails(DetailsType type, |
| size_t index, |
| bool is_showing_details); |
| @@ -119,7 +128,8 @@ class ExtensionInstallPrompt |
| base::string16 GetAcceptButtonLabel() const; |
| bool HasAbortButtonLabel() const; |
| base::string16 GetAbortButtonLabel() const; |
| - base::string16 GetPermissionsHeading() const; |
| + base::string16 GetPermissionsHeading( |
| + PermissionsType permissions_type) const; |
| base::string16 GetRetainedFilesHeading() const; |
| bool ShouldShowPermissions() const; |
| @@ -136,10 +146,13 @@ class ExtensionInstallPrompt |
| void AppendRatingStars(StarAppender appender, void* data) const; |
| base::string16 GetRatingCount() const; |
| base::string16 GetUserCount() const; |
| - size_t GetPermissionCount() const; |
| - size_t GetPermissionsDetailsCount() const; |
| - base::string16 GetPermission(size_t index) const; |
| - base::string16 GetPermissionsDetails(size_t index) const; |
| + size_t GetPermissionCount(PermissionsType permissions_type) const; |
| + size_t GetPermissionsDetailsCount(PermissionsType permissions_type) const; |
| + base::string16 GetPermission(size_t index, |
| + PermissionsType permissions_type) const; |
| + base::string16 GetPermissionsDetails( |
| + size_t index, |
| + PermissionsType permissions_type) const; |
| bool GetIsShowingDetails(DetailsType type, size_t index) const; |
| size_t GetRetainedFileCount() const; |
| base::string16 GetRetainedFile(size_t index) const; |
| @@ -174,6 +187,14 @@ class ExtensionInstallPrompt |
| } |
| private: |
| + struct PermissionsInfo { |
|
Devlin
2014/09/04 22:06:08
We already have a PermissionsInfo, so this may be
gpdavis
2014/09/05 20:23:01
Done.
|
| + PermissionsInfo(); |
| + ~PermissionsInfo(); |
|
Devlin
2014/09/04 22:06:08
nit: newline between destructor and members.
gpdavis
2014/09/05 20:23:01
Done.
|
| + std::vector<base::string16> permissions; |
| + std::vector<base::string16> details; |
| + std::vector<bool> is_showing_details; |
| + }; |
| + |
| friend class base::RefCountedThreadSafe<Prompt>; |
|
Devlin
2014/09/04 22:06:08
nit: leave friend class above the struct.
gpdavis
2014/09/05 20:23:02
Done.
|
| virtual ~Prompt(); |
| @@ -184,9 +205,10 @@ class ExtensionInstallPrompt |
| // Permissions that are being requested (may not be all of an extension's |
| // permissions if only additional ones are being requested) |
| - std::vector<base::string16> permissions_; |
| - std::vector<base::string16> details_; |
| - std::vector<bool> is_showing_details_for_permissions_; |
| + PermissionsInfo permissions_info_; |
| + // Permissions that will be withheld upon install. |
| + PermissionsInfo withheld_permissions_info_; |
| + |
| bool is_showing_details_for_retained_files_; |
| // The extension or bundle being installed. |