Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(281)

Unified Diff: chrome/browser/extensions/extension_install_prompt.h

Issue 501273002: Update extension install prompt to reflect withheld permissions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor changes Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698