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

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: Made destructor virtual 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 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
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::kMetricsPrivate);
176 private_perms.insert(ExtensionAPIPermission::kSystemPrivate);
176 private_perms.insert(ExtensionAPIPermission::kWebstorePrivate); 177 private_perms.insert(ExtensionAPIPermission::kWebstorePrivate);
177 178
178 ExtensionAPIPermissionSet perms = info->GetAll(); 179 ExtensionAPIPermissionSet perms = info->GetAll();
179 int count = 0; 180 int count = 0;
180 for (ExtensionAPIPermissionSet::iterator i = perms.begin(); 181 for (ExtensionAPIPermissionSet::iterator i = perms.begin();
181 i != perms.end(); ++i) { 182 i != perms.end(); ++i) {
182 count += private_perms.count(*i); 183 count += private_perms.count(*i);
183 EXPECT_EQ(private_perms.count(*i) > 0, 184 EXPECT_EQ(private_perms.count(*i) > 0,
184 info->GetByID(*i)->is_component_only()); 185 info->GetByID(*i)->is_component_only());
185 } 186 }
186 187
187 EXPECT_EQ(6, count); 188 EXPECT_EQ(7, count);
188 } 189 }
189 190
190 TEST(ExtensionPermissionSetTest, EffectiveHostPermissions) { 191 TEST(ExtensionPermissionSetTest, EffectiveHostPermissions) {
191 scoped_refptr<Extension> extension; 192 scoped_refptr<Extension> extension;
192 scoped_refptr<const ExtensionPermissionSet> permissions; 193 scoped_refptr<const ExtensionPermissionSet> permissions;
193 194
194 extension = LoadManifest("effective_host_permissions", "empty.json"); 195 extension = LoadManifest("effective_host_permissions", "empty.json");
195 permissions = extension->GetActivePermissions(); 196 permissions = extension->GetActivePermissions();
196 EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().patterns().size()); 197 EXPECT_EQ(0u, extension->GetEffectiveHostPermissions().patterns().size());
197 EXPECT_FALSE(permissions->HasEffectiveAccessToURL( 198 EXPECT_FALSE(permissions->HasEffectiveAccessToURL(
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 629
629 // This permission requires explicit user action (context menu handler) 630 // This permission requires explicit user action (context menu handler)
630 // so we won't prompt for it for now. 631 // so we won't prompt for it for now.
631 skip.insert(ExtensionAPIPermission::kFileBrowserHandler); 632 skip.insert(ExtensionAPIPermission::kFileBrowserHandler);
632 633
633 // If you've turned on the experimental command-line flag, we don't need 634 // If you've turned on the experimental command-line flag, we don't need
634 // to warn you further. 635 // to warn you further.
635 skip.insert(ExtensionAPIPermission::kExperimental); 636 skip.insert(ExtensionAPIPermission::kExperimental);
636 637
637 // These are private. 638 // These are private.
638 skip.insert(ExtensionAPIPermission::kWebstorePrivate); 639 skip.insert(ExtensionAPIPermission::kChromeAuthPrivate);
640 skip.insert(ExtensionAPIPermission::kChromeosInfoPrivate);
641 skip.insert(ExtensionAPIPermission::kChromePrivate);
639 skip.insert(ExtensionAPIPermission::kFileBrowserPrivate); 642 skip.insert(ExtensionAPIPermission::kFileBrowserPrivate);
643 skip.insert(ExtensionAPIPermission::kInputMethodPrivate);
640 skip.insert(ExtensionAPIPermission::kMediaPlayerPrivate); 644 skip.insert(ExtensionAPIPermission::kMediaPlayerPrivate);
641 skip.insert(ExtensionAPIPermission::kMetricsPrivate); 645 skip.insert(ExtensionAPIPermission::kMetricsPrivate);
642 skip.insert(ExtensionAPIPermission::kChromeAuthPrivate); 646 skip.insert(ExtensionAPIPermission::kSystemPrivate);
643 skip.insert(ExtensionAPIPermission::kChromePrivate);
644 skip.insert(ExtensionAPIPermission::kChromeosInfoPrivate);
645 skip.insert(ExtensionAPIPermission::kWebSocketProxyPrivate); 647 skip.insert(ExtensionAPIPermission::kWebSocketProxyPrivate);
646 skip.insert(ExtensionAPIPermission::kInputMethodPrivate); 648 skip.insert(ExtensionAPIPermission::kWebstorePrivate);
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();
652 ExtensionAPIPermissionSet permissions = info->GetAll(); 654 ExtensionAPIPermissionSet permissions = info->GetAll();
653 for (ExtensionAPIPermissionSet::const_iterator i = permissions.begin(); 655 for (ExtensionAPIPermissionSet::const_iterator i = permissions.begin();
654 i != permissions.end(); ++i) { 656 i != permissions.end(); ++i) {
655 ExtensionAPIPermission* permission = info->GetByID(*i); 657 ExtensionAPIPermission* permission = info->GetByID(*i);
656 EXPECT_TRUE(permission); 658 EXPECT_TRUE(permission);
(...skipping 437 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698