| 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);
|
| }
|
|
|
|
|