| Index: chrome/browser/extensions/extension_install_prompt.cc
|
| diff --git a/chrome/browser/extensions/extension_install_prompt.cc b/chrome/browser/extensions/extension_install_prompt.cc
|
| index 00146cf1364c30d980fbbddfbca2e15075278bb8..45047b8bf9355ed813eb16a00f251142e19ee139 100644
|
| --- a/chrome/browser/extensions/extension_install_prompt.cc
|
| +++ b/chrome/browser/extensions/extension_install_prompt.cc
|
| @@ -36,6 +36,7 @@
|
| #include "extensions/common/manifest.h"
|
| #include "extensions/common/manifest_constants.h"
|
| #include "extensions/common/manifest_handlers/icons_handler.h"
|
| +#include "extensions/common/manifest_handlers/permissions_parser.h"
|
| #include "extensions/common/permissions/permission_message_provider.h"
|
| #include "extensions/common/permissions/permission_set.h"
|
| #include "extensions/common/permissions/permissions_data.h"
|
| @@ -924,6 +925,15 @@ void ExtensionInstallPrompt::ShowConfirmation() {
|
| .InitializePermissions(extension_);
|
| permissions_to_display =
|
| extension_->permissions_data()->active_permissions();
|
| + // For delegated installs, all optional permissions are pre-approved by the
|
| + // person who triggers the install, so add them to the list.
|
| + if (prompt_->type() == DELEGATED_PERMISSIONS_PROMPT) {
|
| + scoped_refptr<const PermissionSet> optional_permissions =
|
| + extensions::PermissionsParser::GetOptionalPermissions(extension_);
|
| + permissions_to_display = PermissionSet::CreateUnion(
|
| + permissions_to_display.get(),
|
| + optional_permissions.get());
|
| + }
|
| }
|
|
|
| if (permissions_to_display.get() &&
|
|
|