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 |