Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(290)

Side by Side Diff: chrome/browser/extensions/shared_module_apitest.cc

Issue 263703002: Allow shared modules to whitelist extensions that import them. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: feedback Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/crx_installer.cc ('k') | chrome/browser/extensions/shared_module_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698