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

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

Issue 10049006: Add OAuth2 scopes to the ExtensionPermissionSet and granted permissions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 8 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
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/common/extensions/extension.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 adbc0a7f5e9eb2c64429feb3706abca105ba546a..7c9733dd5fe9532cde4e0b3154d7cadc291f3436 100644
--- a/chrome/browser/extensions/extension_prefs_unittest.cc
+++ b/chrome/browser/extensions/extension_prefs_unittest.cc
@@ -171,6 +171,12 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
api_perm_set2_.insert(ExtensionAPIPermission::kHistory);
+ scopes_set1_.insert("scope1");
+
+ scopes_set2_.insert("scope1");
+ scopes_set2_.insert("scope2");
+ scopes_set2_.insert("scope3");
+
AddPattern(&ehost_perm_set1_, "http://*.google.com/*");
AddPattern(&ehost_perm_set1_, "http://example.com/*");
AddPattern(&ehost_perm_set1_, "chrome://favicon/*");
@@ -195,8 +201,13 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
AddPattern(&shost_permissions_, "http://somesite.com/*");
AddPattern(&shost_permissions_, "http://example.com/*");
+ scope_permissions_.insert("scope1");
+ scope_permissions_.insert("scope2");
+ scope_permissions_.insert("scope3");
+
ExtensionAPIPermissionSet empty_set;
URLPatternSet empty_extent;
+ ExtensionOAuth2Scopes empty_scopes;
scoped_refptr<ExtensionPermissionSet> permissions;
scoped_refptr<ExtensionPermissionSet> granted_permissions;
@@ -216,6 +227,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
EXPECT_EQ(expected_apis, granted_permissions->apis());
EXPECT_TRUE(granted_permissions->effective_hosts().is_empty());
EXPECT_FALSE(granted_permissions->HasEffectiveFullAccess());
+ EXPECT_EQ(empty_scopes, granted_permissions->scopes());
granted_permissions = NULL;
// Add part of the explicit host permissions.
@@ -230,6 +242,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
granted_permissions->explicit_hosts());
EXPECT_EQ(ehost_perm_set1_,
granted_permissions->effective_hosts());
+ EXPECT_EQ(empty_scopes, granted_permissions->scopes());
// Add part of the scriptable host permissions.
permissions = new ExtensionPermissionSet(
@@ -243,14 +256,29 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
granted_permissions->explicit_hosts());
EXPECT_EQ(shost_perm_set1_,
granted_permissions->scriptable_hosts());
+ EXPECT_EQ(empty_scopes, granted_permissions->scopes());
URLPatternSet::CreateUnion(ehost_perm_set1_, shost_perm_set1_,
&effective_permissions_);
EXPECT_EQ(effective_permissions_, granted_permissions->effective_hosts());
- // Add the rest of both the permissions.
+ // Add part of the oauth2 scopes.
permissions = new ExtensionPermissionSet(
- api_perm_set2_, ehost_perm_set2_, shost_perm_set2_);
+ empty_set, empty_extent, empty_extent, scopes_set1_);
+ prefs()->AddGrantedPermissions(extension_id_, permissions.get());
+ granted_permissions = prefs()->GetGrantedPermissions(extension_id_);
+ EXPECT_FALSE(granted_permissions->IsEmpty());
+ EXPECT_FALSE(granted_permissions->HasEffectiveFullAccess());
+ EXPECT_EQ(expected_apis, granted_permissions->apis());
+ EXPECT_EQ(ehost_perm_set1_,
+ granted_permissions->explicit_hosts());
+ EXPECT_EQ(shost_perm_set1_,
+ granted_permissions->scriptable_hosts());
+ EXPECT_EQ(scopes_set1_, granted_permissions->scopes());
+
+ // Add the rest of the permissions.
+ permissions = new ExtensionPermissionSet(
+ api_perm_set2_, ehost_perm_set2_, shost_perm_set2_, scopes_set2_);
std::set_union(expected_apis.begin(), expected_apis.end(),
api_perm_set2_.begin(), api_perm_set2_.end(),
@@ -265,6 +293,7 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
granted_permissions->explicit_hosts());
EXPECT_EQ(shost_permissions_,
granted_permissions->scriptable_hosts());
+ EXPECT_EQ(scope_permissions_, granted_permissions->scopes());
effective_permissions_.ClearPatterns();
URLPatternSet::CreateUnion(ehost_permissions_, shost_permissions_,
&effective_permissions_);
@@ -281,6 +310,8 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
permissions->explicit_hosts());
EXPECT_EQ(shost_permissions_,
permissions->scriptable_hosts());
+ EXPECT_EQ(scope_permissions_,
+ permissions->scopes());
}
private:
@@ -291,10 +322,13 @@ class ExtensionPrefsGrantedPermissions : public ExtensionPrefsTest {
URLPatternSet ehost_perm_set2_;
URLPatternSet shost_perm_set1_;
URLPatternSet shost_perm_set2_;
+ ExtensionOAuth2Scopes scopes_set1_;
+ ExtensionOAuth2Scopes scopes_set2_;
ExtensionAPIPermissionSet api_permissions_;
URLPatternSet ehost_permissions_;
URLPatternSet shost_permissions_;
+ ExtensionOAuth2Scopes scope_permissions_;
URLPatternSet effective_permissions_;
};
TEST_F(ExtensionPrefsGrantedPermissions, GrantedPermissions) {}
@@ -319,7 +353,11 @@ class ExtensionPrefsActivePermissions : public ExtensionPrefsTest {
AddPattern(&shosts, "https://*.google.com/*");
AddPattern(&shosts, "http://reddit.com/r/test/*");
- active_perms_ = new ExtensionPermissionSet(api_perms, ehosts, shosts);
+ ExtensionOAuth2Scopes scopes;
+ scopes.insert("my-new-scope");
+
+ active_perms_ = new ExtensionPermissionSet(
+ api_perms, ehosts, shosts, scopes);
// Make sure the active permissions start empty.
scoped_refptr<ExtensionPermissionSet> active(
@@ -332,6 +370,7 @@ class ExtensionPrefsActivePermissions : public ExtensionPrefsTest {
EXPECT_EQ(active_perms_->apis(), active->apis());
EXPECT_EQ(active_perms_->explicit_hosts(), active->explicit_hosts());
EXPECT_EQ(active_perms_->scriptable_hosts(), active->scriptable_hosts());
+ EXPECT_EQ(active_perms_->scopes(), active->scopes());
EXPECT_EQ(*active_perms_, *active);
}
« no previous file with comments | « chrome/browser/extensions/extension_prefs.cc ('k') | chrome/common/extensions/extension.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698