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

Unified Diff: chrome/browser/extensions/extension_prefs_unittest.cc

Issue 7003098: Start refractoring extension permissions into ExtensionPermissionSet. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix a bad merge Created 9 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_prefs_unittest.cc
diff --git a/chrome/browser/extensions/extension_prefs_unittest.cc b/chrome/browser/extensions/extension_prefs_unittest.cc
index 673044a4a189d8dcf76a7cd7ef769713e7a7e4dd..57e0cf41ee4dd4805eeb66be9b65923aa1e80d1c 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -14,6 +14,7 @@
#include "chrome/browser/prefs/scoped_user_pref_update.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_permission_set.h"
#include "content/browser/browser_thread.h"
#include "content/common/notification_details.h"
#include "content/common/notification_observer_mock.h"
@@ -43,10 +44,10 @@ static void AddPattern(URLPatternSet* extent, const std::string& pattern) {
extent->AddPattern(URLPattern(schemes, pattern));
}
-static void AssertEqualExtents(URLPatternSet* extent1,
- URLPatternSet* extent2) {
- URLPatternList patterns1 = extent1->patterns();
- URLPatternList patterns2 = extent2->patterns();
+static void AssertEqualExtents(const URLPatternSet& extent1,
+ const URLPatternSet& extent2) {
+ URLPatternList patterns1 = extent1.patterns();
+ URLPatternList patterns2 = extent2.patterns();
std::set<std::string> strings1;
EXPECT_EQ(patterns1.size(), patterns2.size());
@@ -204,12 +205,10 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
virtual void Initialize() {
extension_id_ = prefs_.AddExtensionAndReturnId("test");
- api_perm_set1_.insert("tabs");
- api_perm_set1_.insert("bookmarks");
- api_perm_set1_.insert("something_random");
+ api_perm_set1_.insert(ExtensionAPIPermission::Tab());
+ api_perm_set1_.insert(ExtensionAPIPermission::Bookmark());
- api_perm_set2_.insert("history");
- api_perm_set2_.insert("unknown2");
+ api_perm_set2_.insert(ExtensionAPIPermission::History());
AddPattern(&host_perm_set1_, "http://*.google.com/*");
AddPattern(&host_perm_set1_, "http://example.com/*");
@@ -228,75 +227,78 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
AddPattern(&host_permissions_, "chrome://favicon/*");
AddPattern(&host_permissions_, "https://*.google.com/*");
- std::set<std::string> empty_set;
- std::set<std::string> api_perms;
- bool full_access = false;
- URLPatternSet host_perms;
+ std::set<ExtensionAPIPermission> empty_set;
URLPatternSet empty_extent;
+ scoped_ptr<ExtensionPermissionSet> permissions;
+ scoped_ptr<ExtensionPermissionSet> granted_permissions;
// Make sure both granted api and host permissions start empty.
- EXPECT_FALSE(prefs()->GetGrantedPermissions(
- extension_id_, &full_access, &api_perms, &host_perms));
-
- EXPECT_TRUE(api_perms.empty());
- EXPECT_TRUE(host_perms.is_empty());
+ bool initialized = false;
+ granted_permissions.reset(
+ prefs()->GetGrantedPermissions(extension_id_, &initialized));
+ EXPECT_TRUE(granted_permissions.get());
+ EXPECT_FALSE(initialized);
+ EXPECT_TRUE(granted_permissions->IsEmpty());
+ permissions.reset(
+ new ExtensionPermissionSet(false, api_perm_set1_, empty_extent));
// Add part of the api permissions.
- prefs()->AddGrantedPermissions(
- extension_id_, false, api_perm_set1_, empty_extent);
- EXPECT_TRUE(prefs()->GetGrantedPermissions(
- extension_id_, &full_access, &api_perms, &host_perms));
- EXPECT_EQ(api_perm_set1_, api_perms);
- EXPECT_TRUE(host_perms.is_empty());
- EXPECT_FALSE(full_access);
- host_perms.ClearPatterns();
- api_perms.clear();
+ prefs()->AddGrantedPermissions(extension_id_, *permissions);
+ granted_permissions.reset(
+ prefs()->GetGrantedPermissions(extension_id_, &initialized));
+ EXPECT_FALSE(granted_permissions->IsEmpty());
+ EXPECT_TRUE(initialized);
+ EXPECT_EQ(api_perm_set1_, granted_permissions->apis());
+ EXPECT_TRUE(granted_permissions->effective_hosts().is_empty());
+ EXPECT_FALSE(granted_permissions->native_code());
+ granted_permissions.reset();
// Add part of the host permissions.
- prefs()->AddGrantedPermissions(
- extension_id_, false, empty_set, host_perm_set1_);
- EXPECT_TRUE(prefs()->GetGrantedPermissions(
- extension_id_, &full_access, &api_perms, &host_perms));
- EXPECT_FALSE(full_access);
- EXPECT_EQ(api_perm_set1_, api_perms);
- AssertEqualExtents(&host_perm_set1_, &host_perms);
- host_perms.ClearPatterns();
- api_perms.clear();
+ permissions.reset(
+ new ExtensionPermissionSet(false, empty_set, host_perm_set1_));
+ prefs()->AddGrantedPermissions(extension_id_, *permissions);
+
+ // Make sure we can pass NULL in for initialized.
+ granted_permissions.reset(
+ prefs()->GetGrantedPermissions(extension_id_, NULL));
+ EXPECT_FALSE(granted_permissions->IsEmpty());
+ EXPECT_FALSE(granted_permissions->native_code());
+ EXPECT_EQ(api_perm_set1_, granted_permissions->apis());
+ AssertEqualExtents(host_perm_set1_, granted_permissions->effective_hosts());
// Add the rest of both the api and host permissions.
- prefs()->AddGrantedPermissions(extension_id_,
- true,
- api_perm_set2_,
- host_perm_set2_);
-
- EXPECT_TRUE(prefs()->GetGrantedPermissions(
- extension_id_, &full_access, &api_perms, &host_perms));
- EXPECT_TRUE(full_access);
- EXPECT_EQ(api_permissions_, api_perms);
- AssertEqualExtents(&host_permissions_, &host_perms);
+ permissions.reset(
+ new ExtensionPermissionSet(true, api_perm_set2_, host_perm_set2_));
+ prefs()->AddGrantedPermissions(extension_id_, *permissions);
+ initialized = false;
+ granted_permissions.reset(
+ prefs()->GetGrantedPermissions(extension_id_, &initialized));
+ EXPECT_FALSE(granted_permissions->IsEmpty());
+ EXPECT_TRUE(initialized);
+ EXPECT_TRUE(granted_permissions->native_code());
+ EXPECT_EQ(api_permissions_, granted_permissions->apis());
+ AssertEqualExtents(host_permissions_,
+ granted_permissions->effective_hosts());
}
virtual void Verify() {
- std::set<std::string> api_perms;
- URLPatternSet host_perms;
- bool full_access;
-
- EXPECT_TRUE(prefs()->GetGrantedPermissions(
- extension_id_, &full_access, &api_perms, &host_perms));
- EXPECT_EQ(api_permissions_, api_perms);
- EXPECT_TRUE(full_access);
- AssertEqualExtents(&host_permissions_, &host_perms);
+ bool initialized = false;
+ scoped_ptr<ExtensionPermissionSet> permissions(
+ prefs()->GetGrantedPermissions(extension_id_, &initialized));
+ EXPECT_TRUE(initialized);
+ EXPECT_EQ(api_permissions_, permissions->apis());
+ EXPECT_TRUE(permissions->native_code());
+ AssertEqualExtents(host_permissions_, permissions->effective_hosts());
}
private:
std::string extension_id_;
- std::set<std::string> api_perm_set1_;
- std::set<std::string> api_perm_set2_;
+ std::set<ExtensionAPIPermission> api_perm_set1_;
+ std::set<ExtensionAPIPermission> api_perm_set2_;
URLPatternSet host_perm_set1_;
URLPatternSet host_perm_set2_;
-
- std::set<std::string> api_permissions_;
+ std::set<ExtensionAPIPermission> api_permissions_;
URLPatternSet host_permissions_;
};
TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {}

Powered by Google App Engine
This is Rietveld 408576698