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. |