Index: chrome/browser/extensions/crx_installer_browsertest.cc |
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc |
index fe4ff2813e32a54de939c09105dd529644605610..65212398afe5a27119c804862ff44a81cad3b57c 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 @@ scoped_refptr<MockPromptProxy> CreateMockPromptProxyForBrowser( |
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 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, DoNotSync) { |
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 |