Index: chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
index 0da4bdc6f27f3ef3ad47d065beda98f71ec05e71..3914f5e80551a255f3fa07a38e6c844a323debce 100644 |
--- a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
+++ b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.cc |
@@ -24,6 +24,7 @@ |
#include "content/public/browser/render_view_host.h" |
#include "content/public/test/browser_test_utils.h" |
#include "content/public/test/test_utils.h" |
+#include "extensions/browser/api/management/management_api.h" |
#include "extensions/browser/extension_registry.h" |
#include "extensions/browser/extension_system.h" |
#include "extensions/browser/test_extension_registry_observer.h" |
@@ -36,7 +37,10 @@ ExtensionSettingsUIBrowserTest::ExtensionSettingsUIBrowserTest() |
: profile_(NULL), |
policy_provider_(TestManagementPolicyProvider::PROHIBIT_MODIFY_STATUS | |
TestManagementPolicyProvider::MUST_REMAIN_ENABLED | |
- TestManagementPolicyProvider::MUST_REMAIN_INSTALLED) {} |
+ TestManagementPolicyProvider::MUST_REMAIN_INSTALLED) { |
+ CHECK(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_)); |
+ test_data_dir_ = test_data_dir_.AppendASCII("extensions"); |
+} |
ExtensionSettingsUIBrowserTest::~ExtensionSettingsUIBrowserTest() {} |
@@ -54,26 +58,13 @@ void ExtensionSettingsUIBrowserTest::SetUpOnMainThread() { |
} |
void ExtensionSettingsUIBrowserTest::InstallGoodExtension() { |
- base::FilePath test_data_dir; |
- if (!PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir)) { |
- ADD_FAILURE(); |
- return; |
- } |
- base::FilePath extensions_data_dir = test_data_dir.AppendASCII("extensions"); |
- EXPECT_TRUE(InstallExtension(extensions_data_dir.AppendASCII("good.crx"))); |
+ EXPECT_TRUE(InstallExtension(test_data_dir_.AppendASCII("good.crx"))); |
} |
void ExtensionSettingsUIBrowserTest::InstallErrorsExtension() { |
- base::FilePath test_data_dir; |
- if (!PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir)) { |
- ADD_FAILURE(); |
- return; |
- } |
- base::FilePath extensions_data_dir = test_data_dir.AppendASCII("extensions"); |
- extensions_data_dir = extensions_data_dir.AppendASCII("error_console"); |
EXPECT_TRUE(InstallUnpackedExtension( |
- extensions_data_dir.AppendASCII("runtime_and_manifest_errors"), |
- "pdlpifnclfacjobnmbpngemkalkjamnf")); |
+ test_data_dir_.AppendASCII("error_console") |
+ .AppendASCII("runtime_and_manifest_errors"))); |
} |
void ExtensionSettingsUIBrowserTest::AddManagedPolicyProvider() { |
@@ -81,6 +72,19 @@ void ExtensionSettingsUIBrowserTest::AddManagedPolicyProvider() { |
extension_service->management_policy()->RegisterProvider(&policy_provider_); |
} |
+void ExtensionSettingsUIBrowserTest::SetAutoConfirmUninstall() { |
+ extensions::ManagementUninstallFunctionBase::SetAutoConfirmForTest(true); |
+} |
+ |
+void ExtensionSettingsUIBrowserTest::InstallSharedModule() { |
+ base::FilePath shared_module_path = |
+ test_data_dir_.AppendASCII("api_test").AppendASCII("shared_module"); |
+ EXPECT_TRUE(InstallUnpackedExtension( |
+ shared_module_path.AppendASCII("shared"))); |
+ EXPECT_TRUE(InstallUnpackedExtension( |
+ shared_module_path.AppendASCII("import_pass"))); |
+} |
+ |
class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt { |
public: |
explicit MockAutoConfirmExtensionInstallPrompt( |
@@ -96,7 +100,7 @@ class MockAutoConfirmExtensionInstallPrompt : public ExtensionInstallPrompt { |
}; |
const Extension* ExtensionSettingsUIBrowserTest::InstallUnpackedExtension( |
- const base::FilePath& path, const char* id) { |
+ const base::FilePath& path) { |
if (path.empty()) |
return NULL; |
@@ -106,13 +110,15 @@ const Extension* ExtensionSettingsUIBrowserTest::InstallUnpackedExtension( |
service->set_show_extensions_prompts(false); |
extensions::ExtensionRegistry* registry = |
extensions::ExtensionRegistry::Get(profile); |
- extensions::TestExtensionRegistryObserver observer(registry, id); |
- |
+ extensions::TestExtensionRegistryObserver observer(registry); |
extensions::UnpackedInstaller::Create(service)->Load(path); |
+ base::FilePath extension_path = base::MakeAbsoluteFilePath(path); |
+ const Extension* extension = nullptr; |
+ do { |
+ extension = observer.WaitForExtensionLoaded(); |
Dan Beam
2015/04/01 23:12:04
can this return nullptr?
Devlin
2015/04/02 00:01:38
Nope.
|
+ } while (extension->path() != extension_path); |
- // Test will timeout if extension is not loaded. |
- observer.WaitForExtensionLoaded(); |
- return service->GetExtensionById(last_loaded_extension_id(), false); |
+ return extension; |
} |
const Extension* ExtensionSettingsUIBrowserTest::InstallExtension( |