[Extensions] Remove withheld permissions from install prompt
We no longer need to display withheld permissions in the
extension install prompt, even with the runtime host permissions
feature enabled. Clean up the relevant code.
Bug: 841099
Change-Id: If295d36859f8664928c83923a010057f2fb4d1c1
Reviewed-on: https://chromium-review.googlesource.com/1053178
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Scott Violet <[email protected]>
Reviewed-by: Karan Bhatia <[email protected]>
Commit-Queue: Devlin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#558882}
diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc
index 48e9bf1..ed7af21a 100644
--- a/chrome/browser/extensions/extension_install_prompt.cc
+++ b/chrome/browser/extensions/extension_install_prompt.cc
@@ -131,13 +131,9 @@
}
void ExtensionInstallPrompt::Prompt::AddPermissions(
- const PermissionMessages& permissions,
- PermissionsType permissions_type) {
- InstallPromptPermissions& install_permissions =
- GetPermissionsForType(permissions_type);
-
+ const PermissionMessages& permissions) {
for (const PermissionMessage& msg : permissions) {
- install_permissions.permissions.push_back(msg.message());
+ prompt_permissions_.permissions.push_back(msg.message());
// Add a dash to the front of each permission detail.
base::string16 details;
if (!msg.submessages().empty()) {
@@ -150,8 +146,8 @@
details = base::JoinString(detail_lines_with_bullets,
base::ASCIIToUTF16("\n"));
}
- install_permissions.details.push_back(details);
- install_permissions.is_showing_details.push_back(false);
+ prompt_permissions_.details.push_back(details);
+ prompt_permissions_.is_showing_details.push_back(false);
}
}
@@ -163,10 +159,6 @@
case PERMISSIONS_DETAILS:
prompt_permissions_.is_showing_details[index] = is_showing_details;
break;
- case WITHHELD_PERMISSIONS_DETAILS:
- withheld_prompt_permissions_.is_showing_details[index] =
- is_showing_details;
- break;
case RETAINED_FILES_DETAILS:
is_showing_details_for_retained_files_ = is_showing_details;
break;
@@ -333,43 +325,31 @@
return l10n_util::GetStringUTF16(id);
}
-base::string16 ExtensionInstallPrompt::Prompt::GetPermissionsHeading(
- PermissionsType permissions_type) const {
- switch (permissions_type) {
- case REGULAR_PERMISSIONS: {
- int id = -1;
- switch (type_) {
- case INSTALL_PROMPT:
- case INLINE_INSTALL_PROMPT:
- case EXTERNAL_INSTALL_PROMPT:
- case REMOTE_INSTALL_PROMPT:
- case DELEGATED_PERMISSIONS_PROMPT:
- id = IDS_EXTENSION_PROMPT_WILL_HAVE_ACCESS_TO;
- break;
- case RE_ENABLE_PROMPT:
- id = IDS_EXTENSION_PROMPT_WILL_NOW_HAVE_ACCESS_TO;
- break;
- case PERMISSIONS_PROMPT:
- id = IDS_EXTENSION_PROMPT_WANTS_ACCESS_TO;
- break;
- case POST_INSTALL_PERMISSIONS_PROMPT:
- case REPAIR_PROMPT:
- id = IDS_EXTENSION_PROMPT_CAN_ACCESS;
- break;
- case UNSET_PROMPT_TYPE:
- case NUM_PROMPT_TYPES:
- NOTREACHED();
- }
- return l10n_util::GetStringUTF16(id);
- }
- case WITHHELD_PERMISSIONS:
- return l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WITHHELD);
- case ALL_PERMISSIONS:
+base::string16 ExtensionInstallPrompt::Prompt::GetPermissionsHeading() const {
+ int id = -1;
+ switch (type_) {
+ case INSTALL_PROMPT:
+ case INLINE_INSTALL_PROMPT:
+ case EXTERNAL_INSTALL_PROMPT:
+ case REMOTE_INSTALL_PROMPT:
+ case DELEGATED_PERMISSIONS_PROMPT:
+ id = IDS_EXTENSION_PROMPT_WILL_HAVE_ACCESS_TO;
+ break;
+ case RE_ENABLE_PROMPT:
+ id = IDS_EXTENSION_PROMPT_WILL_NOW_HAVE_ACCESS_TO;
+ break;
+ case PERMISSIONS_PROMPT:
+ id = IDS_EXTENSION_PROMPT_WANTS_ACCESS_TO;
+ break;
+ case POST_INSTALL_PERMISSIONS_PROMPT:
+ case REPAIR_PROMPT:
+ id = IDS_EXTENSION_PROMPT_CAN_ACCESS;
+ break;
+ case UNSET_PROMPT_TYPE:
+ case NUM_PROMPT_TYPES:
NOTREACHED();
- return base::string16();
}
- NOTREACHED();
- return base::string16();
+ return l10n_util::GetStringUTF16(id);
}
base::string16 ExtensionInstallPrompt::Prompt::GetRetainedFilesHeading() const {
@@ -384,8 +364,7 @@
}
bool ExtensionInstallPrompt::Prompt::ShouldShowPermissions() const {
- return GetPermissionCount(ALL_PERMISSIONS) > 0 ||
- type_ == POST_INSTALL_PERMISSIONS_PROMPT;
+ return GetPermissionCount() > 0 || type_ == POST_INSTALL_PERMISSIONS_PROMPT;
}
bool ExtensionInstallPrompt::Prompt::ShouldUseTabModalDialog() const {
@@ -440,54 +419,24 @@
return base::string16();
}
-size_t ExtensionInstallPrompt::Prompt::GetPermissionCount(
- PermissionsType permissions_type) const {
- switch (permissions_type) {
- case REGULAR_PERMISSIONS:
- return prompt_permissions_.permissions.size();
- case WITHHELD_PERMISSIONS:
- return withheld_prompt_permissions_.permissions.size();
- case ALL_PERMISSIONS:
- return prompt_permissions_.permissions.size() +
- withheld_prompt_permissions_.permissions.size();
- default:
- NOTREACHED();
- return 0u;
- }
+size_t ExtensionInstallPrompt::Prompt::GetPermissionCount() const {
+ return prompt_permissions_.permissions.size();
}
-size_t ExtensionInstallPrompt::Prompt::GetPermissionsDetailsCount(
- PermissionsType permissions_type) const {
- switch (permissions_type) {
- case REGULAR_PERMISSIONS:
- return prompt_permissions_.details.size();
- case WITHHELD_PERMISSIONS:
- return withheld_prompt_permissions_.details.size();
- case ALL_PERMISSIONS:
- return prompt_permissions_.details.size() +
- withheld_prompt_permissions_.details.size();
- default:
- NOTREACHED();
- return 0u;
- }
+size_t ExtensionInstallPrompt::Prompt::GetPermissionsDetailsCount() const {
+ return prompt_permissions_.details.size();
}
base::string16 ExtensionInstallPrompt::Prompt::GetPermission(
- size_t index,
- PermissionsType permissions_type) const {
- const InstallPromptPermissions& install_permissions =
- GetPermissionsForType(permissions_type);
- CHECK_LT(index, install_permissions.permissions.size());
- return install_permissions.permissions[index];
+ size_t index) const {
+ CHECK_LT(index, prompt_permissions_.permissions.size());
+ return prompt_permissions_.permissions[index];
}
base::string16 ExtensionInstallPrompt::Prompt::GetPermissionsDetails(
- size_t index,
- PermissionsType permissions_type) const {
- const InstallPromptPermissions& install_permissions =
- GetPermissionsForType(permissions_type);
- CHECK_LT(index, install_permissions.details.size());
- return install_permissions.details[index];
+ size_t index) const {
+ CHECK_LT(index, prompt_permissions_.details.size());
+ return prompt_permissions_.details[index];
}
bool ExtensionInstallPrompt::Prompt::GetIsShowingDetails(
@@ -496,9 +445,6 @@
case PERMISSIONS_DETAILS:
CHECK_LT(index, prompt_permissions_.is_showing_details.size());
return prompt_permissions_.is_showing_details[index];
- case WITHHELD_PERMISSIONS_DETAILS:
- CHECK_LT(index, withheld_prompt_permissions_.is_showing_details.size());
- return withheld_prompt_permissions_.is_showing_details[index];
case RETAINED_FILES_DETAILS:
return is_showing_details_for_retained_files_;
case RETAINED_DEVICES_DETAILS:
@@ -531,22 +477,6 @@
return !retained_files_.empty() || !retained_device_messages_.empty();
}
-ExtensionInstallPrompt::Prompt::InstallPromptPermissions&
-ExtensionInstallPrompt::Prompt::GetPermissionsForType(
- PermissionsType permissions_type) {
- DCHECK_NE(ALL_PERMISSIONS, permissions_type);
- return permissions_type == REGULAR_PERMISSIONS ? prompt_permissions_
- : withheld_prompt_permissions_;
-}
-
-const ExtensionInstallPrompt::Prompt::InstallPromptPermissions&
-ExtensionInstallPrompt::Prompt::GetPermissionsForType(
- PermissionsType permissions_type) const {
- DCHECK_NE(ALL_PERMISSIONS, permissions_type);
- return permissions_type == REGULAR_PERMISSIONS ? prompt_permissions_
- : withheld_prompt_permissions_;
-}
-
bool ExtensionInstallPrompt::Prompt::ShouldDisplayRevokeFilesButton() const {
return !retained_files_.empty();
}
@@ -731,7 +661,7 @@
permissions_to_display = custom_permissions_.get();
} else if (extension_) {
// Initialize permissions if they have not already been set so that
- // withheld permissions are displayed properly in the install prompt.
+ // any transformations are correctly reflected in the install prompt.
extensions::PermissionsUpdater(
profile_, extensions::PermissionsUpdater::INIT_FLAG_TRANSIENT)
.InitializePermissions(extension_);
@@ -758,19 +688,7 @@
extensions::PermissionMessageProvider::Get();
prompt_->AddPermissions(message_provider->GetPermissionMessages(
- message_provider->GetAllPermissionIDs(
- *permissions_to_display, type)),
- REGULAR_PERMISSIONS);
-
- const PermissionSet* withheld =
- extension_ ? &extension_->permissions_data()->withheld_permissions()
- : nullptr;
- if (withheld && !withheld->IsEmpty()) {
- prompt_->AddPermissions(
- message_provider->GetPermissionMessages(
- message_provider->GetAllPermissionIDs(*withheld, type)),
- WITHHELD_PERMISSIONS);
- }
+ message_provider->GetAllPermissionIDs(*permissions_to_display, type)));
}
prompt_->set_extension(extension_);