OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/common/extensions/extension_permission_set.h" | 5 #include "chrome/common/extensions/extension_permission_set.h" |
6 | 6 |
7 #include "base/json/json_value_serializer.h" | 7 #include "base/json/json_value_serializer.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 EXPECT_EQ(hosted_perms.size(), info->get_hosted_app_permission_count()); | 165 EXPECT_EQ(hosted_perms.size(), info->get_hosted_app_permission_count()); |
166 } | 166 } |
167 | 167 |
168 TEST(ExtensionAPIPermissionTest, ComponentOnlyPermissions) { | 168 TEST(ExtensionAPIPermissionTest, ComponentOnlyPermissions) { |
169 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); | 169 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); |
170 ExtensionAPIPermissionSet private_perms; | 170 ExtensionAPIPermissionSet private_perms; |
171 private_perms.insert(ExtensionAPIPermission::kChromeAuthPrivate); | 171 private_perms.insert(ExtensionAPIPermission::kChromeAuthPrivate); |
172 private_perms.insert(ExtensionAPIPermission::kChromeosInfoPrivate); | 172 private_perms.insert(ExtensionAPIPermission::kChromeosInfoPrivate); |
173 private_perms.insert(ExtensionAPIPermission::kFileBrowserPrivate); | 173 private_perms.insert(ExtensionAPIPermission::kFileBrowserPrivate); |
174 private_perms.insert(ExtensionAPIPermission::kMediaPlayerPrivate); | 174 private_perms.insert(ExtensionAPIPermission::kMediaPlayerPrivate); |
| 175 private_perms.insert(ExtensionAPIPermission::kMetricsPrivate); |
175 private_perms.insert(ExtensionAPIPermission::kWebstorePrivate); | 176 private_perms.insert(ExtensionAPIPermission::kWebstorePrivate); |
176 | 177 |
177 ExtensionAPIPermissionSet perms = info->GetAll(); | 178 ExtensionAPIPermissionSet perms = info->GetAll(); |
178 int count = 0; | 179 int count = 0; |
179 for (ExtensionAPIPermissionSet::iterator i = perms.begin(); | 180 for (ExtensionAPIPermissionSet::iterator i = perms.begin(); |
180 i != perms.end(); ++i) { | 181 i != perms.end(); ++i) { |
181 count += private_perms.count(*i); | 182 count += private_perms.count(*i); |
182 EXPECT_EQ(private_perms.count(*i) > 0, | 183 EXPECT_EQ(private_perms.count(*i) > 0, |
183 info->GetByID(*i)->is_component_only()); | 184 info->GetByID(*i)->is_component_only()); |
184 } | 185 } |
185 | 186 |
186 EXPECT_EQ(5, count); | 187 EXPECT_EQ(6, count); |
187 } | 188 } |
188 | 189 |
189 TEST(ExtensionPermissionSetTest, EffectiveHostPermissions) { | 190 TEST(ExtensionPermissionSetTest, EffectiveHostPermissions) { |
190 scoped_refptr<Extension> extension; | 191 scoped_refptr<Extension> extension; |
191 scoped_refptr<const ExtensionPermissionSet> permissions; | 192 scoped_refptr<const ExtensionPermissionSet> permissions; |
192 | 193 |
193 extension = LoadManifest("effective_host_permissions", "empty.json"); | 194 extension = LoadManifest("effective_host_permissions", "empty.json"); |
194 permissions = extension->GetActivePermissions(); | 195 permissions = extension->GetActivePermissions(); |
195 EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().patterns().size()); | 196 EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().patterns().size()); |
196 EXPECT_FALSE(permissions->HasEffectiveAccessToURL( | 197 EXPECT_FALSE(permissions->HasEffectiveAccessToURL( |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
632 skip.insert(ExtensionAPIPermission::kFileBrowserHandler); | 633 skip.insert(ExtensionAPIPermission::kFileBrowserHandler); |
633 | 634 |
634 // If you've turned on the experimental command-line flag, we don't need | 635 // If you've turned on the experimental command-line flag, we don't need |
635 // to warn you further. | 636 // to warn you further. |
636 skip.insert(ExtensionAPIPermission::kExperimental); | 637 skip.insert(ExtensionAPIPermission::kExperimental); |
637 | 638 |
638 // These are private. | 639 // These are private. |
639 skip.insert(ExtensionAPIPermission::kWebstorePrivate); | 640 skip.insert(ExtensionAPIPermission::kWebstorePrivate); |
640 skip.insert(ExtensionAPIPermission::kFileBrowserPrivate); | 641 skip.insert(ExtensionAPIPermission::kFileBrowserPrivate); |
641 skip.insert(ExtensionAPIPermission::kMediaPlayerPrivate); | 642 skip.insert(ExtensionAPIPermission::kMediaPlayerPrivate); |
| 643 skip.insert(ExtensionAPIPermission::kMetricsPrivate); |
642 skip.insert(ExtensionAPIPermission::kChromeAuthPrivate); | 644 skip.insert(ExtensionAPIPermission::kChromeAuthPrivate); |
643 skip.insert(ExtensionAPIPermission::kChromePrivate); | 645 skip.insert(ExtensionAPIPermission::kChromePrivate); |
644 skip.insert(ExtensionAPIPermission::kChromeosInfoPrivate); | 646 skip.insert(ExtensionAPIPermission::kChromeosInfoPrivate); |
645 skip.insert(ExtensionAPIPermission::kWebSocketProxyPrivate); | 647 skip.insert(ExtensionAPIPermission::kWebSocketProxyPrivate); |
646 skip.insert(ExtensionAPIPermission::kInputMethodPrivate); | 648 skip.insert(ExtensionAPIPermission::kInputMethodPrivate); |
647 | 649 |
648 // Warned as part of host permissions. | 650 // Warned as part of host permissions. |
649 skip.insert(ExtensionAPIPermission::kDevtools); | 651 skip.insert(ExtensionAPIPermission::kDevtools); |
650 | 652 |
651 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); | 653 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1094 AddPattern(&non_empty_extent, "http://www.google.com/*"); | 1096 AddPattern(&non_empty_extent, "http://www.google.com/*"); |
1095 | 1097 |
1096 perm_set = new ExtensionPermissionSet( | 1098 perm_set = new ExtensionPermissionSet( |
1097 empty_apis, non_empty_extent, empty_extent); | 1099 empty_apis, non_empty_extent, empty_extent); |
1098 EXPECT_FALSE(perm_set->IsEmpty()); | 1100 EXPECT_FALSE(perm_set->IsEmpty()); |
1099 | 1101 |
1100 perm_set = new ExtensionPermissionSet( | 1102 perm_set = new ExtensionPermissionSet( |
1101 empty_apis, empty_extent, non_empty_extent); | 1103 empty_apis, empty_extent, non_empty_extent); |
1102 EXPECT_FALSE(perm_set->IsEmpty()); | 1104 EXPECT_FALSE(perm_set->IsEmpty()); |
1103 } | 1105 } |
OLD | NEW |