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

Side by Side Diff: extensions/common/extension_messages_unittest.cc

Issue 2957233002: Fix parsing of effective TLD wildcarding across IPC. (Closed)
Patch Set: Created 3 years, 5 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/crx_file/id_util.h" 5 #include "components/crx_file/id_util.h"
6 #include "extensions/common/extension.h" 6 #include "extensions/common/extension.h"
7 #include "extensions/common/extension_builder.h" 7 #include "extensions/common/extension_builder.h"
8 #include "extensions/common/extension_messages.h" 8 #include "extensions/common/extension_messages.h"
9 #include "extensions/common/manifest_handlers/permissions_parser.h" 9 #include "extensions/common/manifest_handlers/permissions_parser.h"
10 #include "extensions/common/permissions/extensions_api_permissions.h" 10 #include "extensions/common/permissions/extensions_api_permissions.h"
(...skipping 16 matching lines...) Expand all
27 EXPECT_TRUE(extension1.manifest()->Equals(extension2.manifest())); 27 EXPECT_TRUE(extension1.manifest()->Equals(extension2.manifest()));
28 const PermissionsData::TabPermissionsMap& second_tab_permissions = 28 const PermissionsData::TabPermissionsMap& second_tab_permissions =
29 extension2.permissions_data()->tab_specific_permissions(); 29 extension2.permissions_data()->tab_specific_permissions();
30 for (const auto& tab_permissions : 30 for (const auto& tab_permissions :
31 extension1.permissions_data()->tab_specific_permissions()) { 31 extension1.permissions_data()->tab_specific_permissions()) {
32 ASSERT_NE(0u, second_tab_permissions.count(tab_permissions.first)); 32 ASSERT_NE(0u, second_tab_permissions.count(tab_permissions.first));
33 EXPECT_EQ(*tab_permissions.second, 33 EXPECT_EQ(*tab_permissions.second,
34 *(second_tab_permissions.at(tab_permissions.first))) 34 *(second_tab_permissions.at(tab_permissions.first)))
35 << tab_permissions.first; 35 << tab_permissions.first;
36 } 36 }
37 EXPECT_EQ(extension1.permissions_data()->policy_blocked_hosts(),
38 extension2.permissions_data()->policy_blocked_hosts());
39 EXPECT_EQ(extension1.permissions_data()->policy_allowed_hosts(),
40 extension2.permissions_data()->policy_allowed_hosts());
41 }
42
43 static void AddPattern(URLPatternSet* extent, const std::string& pattern) {
lazyboy 2017/06/30 20:43:22 nit: since this is already in anonymous namespace,
nrpeter 2017/06/30 21:22:15 Done.
44 URLPattern parsed(URLPattern::SCHEME_ALL);
45 parsed.Parse(pattern, URLPattern::ALLOW_WILDCARD_FOR_EFFECTIVE_TLD);
46 extent->AddPattern(parsed);
37 } 47 }
38 48
39 } // namespace 49 } // namespace
40 50
41 TEST(ExtensionMessageTypesTest, TestLoadedParams) { 51 TEST(ExtensionMessageTypesTest, TestLoadedParams) {
42 std::unique_ptr<base::DictionaryValue> manifest = 52 std::unique_ptr<base::DictionaryValue> manifest =
43 DictionaryBuilder() 53 DictionaryBuilder()
44 .Set("name", "extension") 54 .Set("name", "extension")
45 .Set("description", "an extension") 55 .Set("description", "an extension")
46 .Set("permissions", ListBuilder().Append("alarms").Build()) 56 .Set("permissions", ListBuilder().Append("alarms").Build())
47 .Set("manifest_version", 2) 57 .Set("manifest_version", 2)
48 .Set("version", "0.1") 58 .Set("version", "0.1")
49 .Build(); 59 .Build();
50 scoped_refptr<const Extension> extension = 60 scoped_refptr<const Extension> extension =
51 ExtensionBuilder() 61 ExtensionBuilder()
52 .SetManifest(std::move(manifest)) 62 .SetManifest(std::move(manifest))
53 .SetID(crx_file::id_util::GenerateId("foo")) 63 .SetID(crx_file::id_util::GenerateId("foo"))
54 .Build(); 64 .Build();
55 const PermissionSet& required_permissions = 65 const PermissionSet& required_permissions =
56 PermissionsParser::GetRequiredPermissions(extension.get()); 66 PermissionsParser::GetRequiredPermissions(extension.get());
57 LOG(WARNING) << required_permissions.apis().size(); 67 LOG(WARNING) << required_permissions.apis().size();
58 EXPECT_TRUE( 68 EXPECT_TRUE(
59 extension->permissions_data()->HasAPIPermission(APIPermission::kAlarms)); 69 extension->permissions_data()->HasAPIPermission(APIPermission::kAlarms));
60 APIPermissionSet tab_permissions; 70 APIPermissionSet tab_permissions;
61 tab_permissions.insert(APIPermission::kDns); 71 tab_permissions.insert(APIPermission::kDns);
62 extension->permissions_data()->UpdateTabSpecificPermissions( 72 extension->permissions_data()->UpdateTabSpecificPermissions(
63 1, PermissionSet(tab_permissions, ManifestPermissionSet(), 73 1, PermissionSet(tab_permissions, ManifestPermissionSet(),
64 URLPatternSet(), URLPatternSet())); 74 URLPatternSet(), URLPatternSet()));
75 URLPatternSet runtime_blocked_hosts;
76 AddPattern(&runtime_blocked_hosts, "*://*.example.*/*");
77 URLPatternSet runtime_allowed_hosts;
78 AddPattern(&runtime_allowed_hosts, "*://good.example.com/*");
79 extension->permissions_data()->SetPolicyHostRestrictions(
80 runtime_blocked_hosts, runtime_allowed_hosts);
65 81
66 ExtensionMsg_Loaded_Params params_in(extension.get(), true); 82 ExtensionMsg_Loaded_Params params_in(extension.get(), true);
67 EXPECT_EQ(extension->id(), params_in.id); 83 EXPECT_EQ(extension->id(), params_in.id);
68 84
69 { 85 {
70 // First, test just converting back to an extension. 86 // First, test just converting back to an extension.
71 std::string error; 87 std::string error;
72 scoped_refptr<const Extension> extension_out = 88 scoped_refptr<const Extension> extension_out =
73 params_in.ConvertToExtension(&error); 89 params_in.ConvertToExtension(&error);
74 EXPECT_TRUE(error.empty()); 90 EXPECT_TRUE(error.empty());
(...skipping 21 matching lines...) Expand all
96 std::string error; 112 std::string error;
97 scoped_refptr<const Extension> extension_out = 113 scoped_refptr<const Extension> extension_out =
98 params_out.ConvertToExtension(&error); 114 params_out.ConvertToExtension(&error);
99 EXPECT_TRUE(error.empty()); 115 EXPECT_TRUE(error.empty());
100 ASSERT_TRUE(extension_out); 116 ASSERT_TRUE(extension_out);
101 CompareExtension(*extension, *extension_out); 117 CompareExtension(*extension, *extension_out);
102 } 118 }
103 } 119 }
104 120
105 } // namespace extensions 121 } // namespace extensions
OLDNEW
« extensions/common/extension_messages.cc ('K') | « extensions/common/extension_messages.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698