| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/extension_apitest.h" | 5 #include "chrome/browser/extensions/extension_apitest.h" |
| 6 | 6 |
| 7 using extensions::Extension; | 7 using extensions::Extension; |
| 8 | 8 |
| 9 // NB: We use LoadExtension instead of InstallExtension for shared modules so |
| 10 // the public-keys in their manifests are used to generate the extension ID, so |
| 11 // it can be imported correctly. We use InstallExtension otherwise so the loads |
| 12 // happen through the CRX installer which validates imports. |
| 13 |
| 9 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, SharedModule) { | 14 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, SharedModule) { |
| 10 // import_pass depends on this shared module. | 15 // import_pass depends on this shared module. |
| 11 // NB: We use LoadExtension instead of InstallExtension here so the public-key | |
| 12 // in 'shared' is used to generate the extension ID so it can be imported | |
| 13 // correctly. We use InstallExtension otherwise so the loads happen through | |
| 14 // the CRX installer which validates imports. | |
| 15 ASSERT_TRUE(LoadExtension( | 16 ASSERT_TRUE(LoadExtension( |
| 16 test_data_dir_.AppendASCII("shared_module").AppendASCII("shared"))); | 17 test_data_dir_.AppendASCII("shared_module").AppendASCII("shared"))); |
| 17 | 18 |
| 18 EXPECT_TRUE(RunExtensionTest("shared_module/import_pass")); | 19 EXPECT_TRUE(RunExtensionTest("shared_module/import_pass")); |
| 19 | 20 |
| 20 EXPECT_FALSE(InstallExtension( | 21 EXPECT_FALSE(InstallExtension( |
| 21 test_data_dir_.AppendASCII("shared_module") | 22 test_data_dir_.AppendASCII("shared_module") |
| 22 .AppendASCII("import_wrong_version"), 0)); | 23 .AppendASCII("import_wrong_version"), 0)); |
| 23 EXPECT_FALSE(InstallExtension( | 24 EXPECT_FALSE(InstallExtension( |
| 24 test_data_dir_.AppendASCII("shared_module") | 25 test_data_dir_.AppendASCII("shared_module") |
| 25 .AppendASCII("import_non_existent"), 0)); | 26 .AppendASCII("import_non_existent"), 0)); |
| 26 } | 27 } |
| 28 |
| 29 IN_PROC_BROWSER_TEST_F(ExtensionApiTest, SharedModuleWhitelist) { |
| 30 ASSERT_TRUE(LoadExtension( |
| 31 test_data_dir_.AppendASCII("shared_module") |
| 32 .AppendASCII("shared_whitelist"))); |
| 33 |
| 34 EXPECT_FALSE(InstallExtension( |
| 35 test_data_dir_.AppendASCII("shared_module") |
| 36 .AppendASCII("import_not_in_whitelist"), 0)); |
| 37 } |
| OLD | NEW |