Index: chrome/common/extensions/permissions/permissions_data_unittest.cc |
diff --git a/chrome/common/extensions/permissions/permissions_data_unittest.cc b/chrome/common/extensions/permissions/permissions_data_unittest.cc |
index a38b10c0aba5460ca2b0eebc1e5c08f71a3f40af..2b91573fa362df36d0a0f1f328ff4383e0bb2226 100644 |
--- a/chrome/common/extensions/permissions/permissions_data_unittest.cc |
+++ b/chrome/common/extensions/permissions/permissions_data_unittest.cc |
@@ -215,6 +215,22 @@ TEST(PermissionsDataTest, EffectiveHostPermissions) { |
EXPECT_TRUE(hosts.MatchesURL(GURL("https://test/"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
EXPECT_TRUE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
+ |
+ // Tab-specific permissions should be included in the effective hosts. |
+ GURL tab_url("http://www.example.com/"); |
+ URLPatternSet new_hosts; |
+ new_hosts.AddOrigin(URLPattern::SCHEME_ALL, tab_url); |
+ extension->permissions_data()->UpdateTabSpecificPermissions( |
+ 1, |
+ new PermissionSet(APIPermissionSet(), |
+ ManifestPermissionSet(), |
+ new_hosts, |
+ URLPatternSet())); |
+ EXPECT_TRUE(extension->permissions_data()->GetEffectiveHostPermissions(). |
+ MatchesURL(tab_url)); |
+ extension->permissions_data()->ClearTabSpecificPermissions(1); |
+ EXPECT_FALSE(extension->permissions_data()->GetEffectiveHostPermissions(). |
+ MatchesURL(tab_url)); |
} |
TEST(PermissionsDataTest, SocketPermissions) { |