| Index: chrome/browser/extensions/api/permissions/permissions_api.cc
|
| diff --git a/chrome/browser/extensions/api/permissions/permissions_api.cc b/chrome/browser/extensions/api/permissions/permissions_api.cc
|
| index cbaf1d9055f362b27f2567d2e3381f4fe7008bc3..d39ab661c75f22e4bd5d18a6c67439ce924f2327 100644
|
| --- a/chrome/browser/extensions/api/permissions/permissions_api.cc
|
| +++ b/chrome/browser/extensions/api/permissions/permissions_api.cc
|
| @@ -147,7 +147,9 @@ PermissionsRequestFunction::~PermissionsRequestFunction() {}
|
| bool PermissionsRequestFunction::RunImpl() {
|
| results_ = Request::Results::Create(false);
|
|
|
| - if (!user_gesture() && !ignore_user_gesture_for_tests) {
|
| + if (!user_gesture() &&
|
| + !ignore_user_gesture_for_tests &&
|
| + extension_->location() != Manifest::COMPONENT) {
|
| error_ = kUserGestureRequiredError;
|
| return false;
|
| }
|
| @@ -211,7 +213,8 @@ bool PermissionsRequestFunction::RunImpl() {
|
| // are allowed to silently increase their permission level.
|
| bool has_no_warnings = requested_permissions_->GetWarningMessages(
|
| GetExtension()->GetType()).empty();
|
| - if (auto_confirm_for_tests == PROCEED || has_no_warnings) {
|
| + if (auto_confirm_for_tests == PROCEED || has_no_warnings ||
|
| + extension_->location() == Manifest::COMPONENT) {
|
| InstallUIProceed();
|
| } else if (auto_confirm_for_tests == ABORT) {
|
| // Pretend the user clicked cancel.
|
|
|