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

Side by Side Diff: chrome/common/extensions/extension_permission_set_unittest.cc

Issue 8662008: Implement chrome.systemPrivate.getIncognitoModeAvailability extension API function (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merged with ToT Created 9 years 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) 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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 } 192 }
193 193
194 TEST(ExtensionAPIPermissionTest, ComponentOnlyPermissions) { 194 TEST(ExtensionAPIPermissionTest, ComponentOnlyPermissions) {
195 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); 195 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
196 ExtensionAPIPermissionSet private_perms; 196 ExtensionAPIPermissionSet private_perms;
197 private_perms.insert(ExtensionAPIPermission::kChromeAuthPrivate); 197 private_perms.insert(ExtensionAPIPermission::kChromeAuthPrivate);
198 private_perms.insert(ExtensionAPIPermission::kChromeosInfoPrivate); 198 private_perms.insert(ExtensionAPIPermission::kChromeosInfoPrivate);
199 private_perms.insert(ExtensionAPIPermission::kFileBrowserPrivate); 199 private_perms.insert(ExtensionAPIPermission::kFileBrowserPrivate);
200 private_perms.insert(ExtensionAPIPermission::kMediaPlayerPrivate); 200 private_perms.insert(ExtensionAPIPermission::kMediaPlayerPrivate);
201 private_perms.insert(ExtensionAPIPermission::kMetricsPrivate); 201 private_perms.insert(ExtensionAPIPermission::kMetricsPrivate);
202 private_perms.insert(ExtensionAPIPermission::kSystemPrivate);
202 private_perms.insert(ExtensionAPIPermission::kWebstorePrivate); 203 private_perms.insert(ExtensionAPIPermission::kWebstorePrivate);
203 204
204 ExtensionAPIPermissionSet perms = info->GetAll(); 205 ExtensionAPIPermissionSet perms = info->GetAll();
205 int count = 0; 206 int count = 0;
206 for (ExtensionAPIPermissionSet::iterator i = perms.begin(); 207 for (ExtensionAPIPermissionSet::iterator i = perms.begin();
207 i != perms.end(); ++i) { 208 i != perms.end(); ++i) {
208 count += private_perms.count(*i); 209 count += private_perms.count(*i);
209 EXPECT_EQ(private_perms.count(*i) > 0, 210 EXPECT_EQ(private_perms.count(*i) > 0,
210 info->GetByID(*i)->is_component_only()); 211 info->GetByID(*i)->is_component_only());
211 } 212 }
212 213
213 EXPECT_EQ(6, count); 214 EXPECT_EQ(7, count);
214 } 215 }
215 216
216 TEST(ExtensionPermissionSetTest, EffectiveHostPermissions) { 217 TEST(ExtensionPermissionSetTest, EffectiveHostPermissions) {
217 scoped_refptr<Extension> extension; 218 scoped_refptr<Extension> extension;
218 scoped_refptr<const ExtensionPermissionSet> permissions; 219 scoped_refptr<const ExtensionPermissionSet> permissions;
219 220
220 extension = LoadManifest("effective_host_permissions", "empty.json"); 221 extension = LoadManifest("effective_host_permissions", "empty.json");
221 permissions = extension->GetActivePermissions(); 222 permissions = extension->GetActivePermissions();
222 EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().patterns().size()); 223 EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().patterns().size());
223 EXPECT_FALSE(permissions->HasEffectiveAccessToURL( 224 EXPECT_FALSE(permissions->HasEffectiveAccessToURL(
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 657
657 // This permission requires explicit user action (context menu handler) 658 // This permission requires explicit user action (context menu handler)
658 // so we won't prompt for it for now. 659 // so we won't prompt for it for now.
659 skip.insert(ExtensionAPIPermission::kFileBrowserHandler); 660 skip.insert(ExtensionAPIPermission::kFileBrowserHandler);
660 661
661 // If you've turned on the experimental command-line flag, we don't need 662 // If you've turned on the experimental command-line flag, we don't need
662 // to warn you further. 663 // to warn you further.
663 skip.insert(ExtensionAPIPermission::kExperimental); 664 skip.insert(ExtensionAPIPermission::kExperimental);
664 665
665 // These are private. 666 // These are private.
666 skip.insert(ExtensionAPIPermission::kWebstorePrivate); 667 skip.insert(ExtensionAPIPermission::kChromeAuthPrivate);
668 skip.insert(ExtensionAPIPermission::kChromeosInfoPrivate);
669 skip.insert(ExtensionAPIPermission::kChromePrivate);
667 skip.insert(ExtensionAPIPermission::kFileBrowserPrivate); 670 skip.insert(ExtensionAPIPermission::kFileBrowserPrivate);
671 skip.insert(ExtensionAPIPermission::kInputMethodPrivate);
668 skip.insert(ExtensionAPIPermission::kMediaPlayerPrivate); 672 skip.insert(ExtensionAPIPermission::kMediaPlayerPrivate);
669 skip.insert(ExtensionAPIPermission::kMetricsPrivate); 673 skip.insert(ExtensionAPIPermission::kMetricsPrivate);
670 skip.insert(ExtensionAPIPermission::kChromeAuthPrivate); 674 skip.insert(ExtensionAPIPermission::kSystemPrivate);
671 skip.insert(ExtensionAPIPermission::kChromePrivate);
672 skip.insert(ExtensionAPIPermission::kChromeosInfoPrivate);
673 skip.insert(ExtensionAPIPermission::kWebSocketProxyPrivate); 675 skip.insert(ExtensionAPIPermission::kWebSocketProxyPrivate);
674 skip.insert(ExtensionAPIPermission::kInputMethodPrivate); 676 skip.insert(ExtensionAPIPermission::kWebstorePrivate);
675 677
676 // Warned as part of host permissions. 678 // Warned as part of host permissions.
677 skip.insert(ExtensionAPIPermission::kDevtools); 679 skip.insert(ExtensionAPIPermission::kDevtools);
678 680
679 // Platform apps. TODO(miket): must we skip? 681 // Platform apps. TODO(miket): must we skip?
680 skip.insert(ExtensionAPIPermission::kSocket); 682 skip.insert(ExtensionAPIPermission::kSocket);
681 683
682 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance(); 684 ExtensionPermissionsInfo* info = ExtensionPermissionsInfo::GetInstance();
683 ExtensionAPIPermissionSet permissions = info->GetAll(); 685 ExtensionAPIPermissionSet permissions = info->GetAll();
684 for (ExtensionAPIPermissionSet::const_iterator i = permissions.begin(); 686 for (ExtensionAPIPermissionSet::const_iterator i = permissions.begin();
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
1125 AddPattern(&non_empty_extent, "http://www.google.com/*"); 1127 AddPattern(&non_empty_extent, "http://www.google.com/*");
1126 1128
1127 perm_set = new ExtensionPermissionSet( 1129 perm_set = new ExtensionPermissionSet(
1128 empty_apis, non_empty_extent, empty_extent); 1130 empty_apis, non_empty_extent, empty_extent);
1129 EXPECT_FALSE(perm_set->IsEmpty()); 1131 EXPECT_FALSE(perm_set->IsEmpty());
1130 1132
1131 perm_set = new ExtensionPermissionSet( 1133 perm_set = new ExtensionPermissionSet(
1132 empty_apis, empty_extent, non_empty_extent); 1134 empty_apis, empty_extent, non_empty_extent);
1133 EXPECT_FALSE(perm_set->IsEmpty()); 1135 EXPECT_FALSE(perm_set->IsEmpty());
1134 } 1136 }
OLDNEW
« no previous file with comments | « chrome/common/extensions/extension_permission_set.cc ('k') | chrome/test/data/extensions/api_test/system/manifest.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698