| Index: chrome/browser/extensions/crx_installer.cc
|
| diff --git a/chrome/browser/extensions/crx_installer.cc b/chrome/browser/extensions/crx_installer.cc
|
| index 2205608e8ccda96230a45502ecb4a8a4d09b932d..721a89390067fc555527d78416c7b98450a3f4bd 100644
|
| --- a/chrome/browser/extensions/crx_installer.cc
|
| +++ b/chrome/browser/extensions/crx_installer.cc
|
| @@ -48,6 +48,7 @@
|
| #include "content/public/browser/resource_dispatcher_host.h"
|
| #include "content/public/browser/user_metrics.h"
|
| #include "extensions/common/manifest.h"
|
| +#include "extensions/common/permissions/permission_message_provider.h"
|
| #include "extensions/common/user_script.h"
|
| #include "grit/chromium_strings.h"
|
| #include "grit/generated_resources.h"
|
| @@ -272,9 +273,10 @@ CrxInstallerError CrxInstaller::AllowInstall(const Extension* extension) {
|
| if (error.empty()) {
|
| scoped_refptr<const PermissionSet> expected_permissions =
|
| PermissionsData::GetActivePermissions(dummy_extension.get());
|
| - valid = !(expected_permissions->HasLessPrivilegesThan(
|
| - PermissionsData::GetActivePermissions(extension),
|
| - extension->GetType()));
|
| + valid = !(PermissionMessageProvider::Get(extension->GetType())->
|
| + IsPrivilegeIncrease(
|
| + expected_permissions,
|
| + PermissionsData::GetActivePermissions(extension)));
|
| }
|
| }
|
| }
|
|
|