Update the CrxInstaller and UnpackedInstaller to use the ExtensionInstallChecker
This patch removes the deprecated ExtensionInstaller and uses
ExtensionInstallChecker in CrxInstaller and UnpackedInstaller.
BUG=386404
TEST=browser_tests
[email protected] (for include in supervised_user_service_unittest.cc)
Review URL: https://codereview.chromium.org/381553002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@282250 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc
index fe4ff281..6521239 100644
--- a/chrome/browser/extensions/crx_installer_browsertest.cc
+++ b/chrome/browser/extensions/crx_installer_browsertest.cc
@@ -4,6 +4,7 @@
#include "base/at_exit.h"
#include "base/memory/ref_counted.h"
+#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/download/download_crx_util.h"
#include "chrome/browser/extensions/browser_action_test_util.h"
#include "chrome/browser/extensions/crx_installer.h"
@@ -24,6 +25,7 @@
#include "content/public/test/download_test_observer.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_system.h"
+#include "extensions/browser/management_policy.h"
#include "extensions/common/extension.h"
#include "extensions/common/feature_switch.h"
#include "extensions/common/file_util.h"
@@ -137,6 +139,21 @@
browser->tab_strip_model()->GetActiveWebContents());
}
+class ManagementPolicyMock : public extensions::ManagementPolicy::Provider {
+ public:
+ ManagementPolicyMock() {}
+
+ virtual std::string GetDebugPolicyProviderName() const OVERRIDE {
+ return "ManagementPolicyMock";
+ }
+
+ virtual bool UserMayLoad(const Extension* extension,
+ base::string16* error) const OVERRIDE {
+ *error = base::UTF8ToUTF16("Dummy error message");
+ return false;
+ }
+};
+
} // namespace
class ExtensionCrxInstallerTest : public ExtensionBrowserTest {
@@ -550,4 +567,14 @@
browser()->profile()));
}
+IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, ManagementPolicy) {
+ ManagementPolicyMock policy;
+ extensions::ExtensionSystem::Get(profile())
+ ->management_policy()
+ ->RegisterProvider(&policy);
+
+ base::FilePath crx_path = test_data_dir_.AppendASCII("crx_installer/v1.crx");
+ EXPECT_FALSE(InstallExtension(crx_path, 0));
+}
+
} // namespace extensions