Index: extensions/common/permissions/permissions_data_unittest.cc |
diff --git a/extensions/common/permissions/permissions_data_unittest.cc b/extensions/common/permissions/permissions_data_unittest.cc |
index ff5ca86d9981e46e70479779d4c1541abb33116c..f7fad22953167edb19fd4a07003960367aa8033b 100644 |
--- a/extensions/common/permissions/permissions_data_unittest.cc |
+++ b/extensions/common/permissions/permissions_data_unittest.cc |
@@ -46,8 +46,8 @@ bool CheckSocketPermission( |
const char* host, |
int port) { |
SocketPermission::CheckParam param(type, host, port); |
- return PermissionsData::ForExtension(extension) |
- ->CheckAPIPermissionWithParam(APIPermission::kSocket, ¶m); |
+ return extension->permissions_data()->CheckAPIPermissionWithParam( |
+ APIPermission::kSocket, ¶m); |
} |
// Creates and returns an extension with the given |id|, |host_permissions|, and |
@@ -81,10 +81,10 @@ bool RequiresActionForScriptExecution(const std::string& extension_id, |
GetExtensionWithHostPermission(extension_id, |
host_permissions, |
location); |
- return PermissionsData::ForExtension(extension) |
- ->RequiresActionForScriptExecution(extension, |
- -1, // Ignore tab id for these. |
- GURL::EmptyGURL()); |
+ return extension->permissions_data()->RequiresActionForScriptExecution( |
+ extension, |
+ -1, // Ignore tab id for these. |
+ GURL::EmptyGURL()); |
} |
} // namespace |
@@ -95,52 +95,42 @@ TEST(ExtensionPermissionsTest, EffectiveHostPermissions) { |
extension = LoadManifest("effective_host_permissions", "empty.json"); |
EXPECT_EQ(0u, |
- PermissionsData::ForExtension(extension) |
+ extension->permissions_data() |
->GetEffectiveHostPermissions() |
.patterns() |
.size()); |
EXPECT_FALSE(hosts.MatchesURL(GURL("http://www.google.com"))); |
- EXPECT_FALSE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_FALSE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", "one_host.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
EXPECT_FALSE(hosts.MatchesURL(GURL("https://www.google.com"))); |
- EXPECT_FALSE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_FALSE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", |
"one_host_wildcard.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://foo.google.com"))); |
- EXPECT_FALSE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_FALSE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", "two_hosts.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.reddit.com"))); |
- EXPECT_FALSE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_FALSE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", |
"https_not_considered.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("https://google.com"))); |
- EXPECT_FALSE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_FALSE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", |
"two_content_scripts.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.reddit.com"))); |
EXPECT_TRUE(extension->GetActivePermissions()->HasEffectiveAccessToURL( |
@@ -148,34 +138,27 @@ TEST(ExtensionPermissionsTest, EffectiveHostPermissions) { |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://news.ycombinator.com"))); |
EXPECT_TRUE(extension->GetActivePermissions()->HasEffectiveAccessToURL( |
GURL("http://news.ycombinator.com"))); |
- EXPECT_FALSE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_FALSE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", "all_hosts.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://test/"))); |
EXPECT_FALSE(hosts.MatchesURL(GURL("https://test/"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_TRUE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", "all_hosts2.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://test/"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_TRUE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
extension = LoadManifest("effective_host_permissions", "all_hosts3.json"); |
- hosts = |
- PermissionsData::ForExtension(extension)->GetEffectiveHostPermissions(); |
+ hosts = extension->permissions_data()->GetEffectiveHostPermissions(); |
EXPECT_FALSE(hosts.MatchesURL(GURL("http://test/"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("https://test/"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasEffectiveAccessToAllHosts()); |
+ EXPECT_TRUE(extension->permissions_data()->HasEffectiveAccessToAllHosts()); |
} |
TEST(ExtensionPermissionsTest, SocketPermissions) { |
@@ -250,18 +233,17 @@ TEST(ExtensionPermissionsTest, RequiresActionForScriptExecution) { |
ManifestPermissionSet(), |
allowed_hosts, |
URLPatternSet())); |
- PermissionsData::ForExtension(extension) |
- ->UpdateTabSpecificPermissions(0, tab_permissions); |
- EXPECT_FALSE(PermissionsData::ForExtension(extension) |
- ->RequiresActionForScriptExecution( |
- extension, 0, GURL("https://www.google.com/"))); |
+ extension->permissions_data()->UpdateTabSpecificPermissions(0, |
+ tab_permissions); |
+ EXPECT_FALSE(extension->permissions_data()->RequiresActionForScriptExecution( |
+ extension, 0, GURL("https://www.google.com/"))); |
} |
TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyAPIPermissions) { |
scoped_refptr<Extension> extension; |
extension = LoadManifest("permissions", "many-apis.json"); |
std::vector<base::string16> warnings = |
- PermissionsData::ForExtension(extension)->GetPermissionMessageStrings(); |
+ extension->permissions_data()->GetPermissionMessageStrings(); |
// Warning for "tabs" is suppressed by "history" permission. |
ASSERT_EQ(5u, warnings.size()); |
EXPECT_EQ("Read and modify your data on api.flickr.com", |
@@ -277,10 +259,9 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHostsPermissions) { |
scoped_refptr<Extension> extension; |
extension = LoadManifest("permissions", "more-than-3-hosts.json"); |
std::vector<base::string16> warnings = |
- PermissionsData::ForExtension(extension)->GetPermissionMessageStrings(); |
+ extension->permissions_data()->GetPermissionMessageStrings(); |
std::vector<base::string16> warnings_details = |
- PermissionsData::ForExtension(extension) |
- ->GetPermissionMessageDetailsStrings(); |
+ extension->permissions_data()->GetPermissionMessageDetailsStrings(); |
ASSERT_EQ(1u, warnings.size()); |
ASSERT_EQ(1u, warnings_details.size()); |
EXPECT_EQ("Read and modify your data on 5 websites", |
@@ -296,7 +277,7 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_LocationApiPermission) { |
Manifest::COMPONENT, |
Extension::NO_FLAGS); |
std::vector<base::string16> warnings = |
- PermissionsData::ForExtension(extension)->GetPermissionMessageStrings(); |
+ extension->permissions_data()->GetPermissionMessageStrings(); |
ASSERT_EQ(1u, warnings.size()); |
EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[0])); |
} |
@@ -305,7 +286,7 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHosts) { |
scoped_refptr<Extension> extension; |
extension = LoadManifest("permissions", "many-hosts.json"); |
std::vector<base::string16> warnings = |
- PermissionsData::ForExtension(extension)->GetPermissionMessageStrings(); |
+ extension->permissions_data()->GetPermissionMessageStrings(); |
ASSERT_EQ(1u, warnings.size()); |
EXPECT_EQ( |
"Read and modify your data on encrypted.google.com and www.google.com", |
@@ -316,7 +297,7 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_Plugins) { |
scoped_refptr<Extension> extension; |
extension = LoadManifest("permissions", "plugins.json"); |
std::vector<base::string16> warnings = |
- PermissionsData::ForExtension(extension)->GetPermissionMessageStrings(); |
+ extension->permissions_data()->GetPermissionMessageStrings(); |
// We don't parse the plugins key on Chrome OS, so it should not ask for any |
// permissions. |
#if defined(OS_CHROMEOS) |
@@ -364,13 +345,13 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
bool AllowedScript(const Extension* extension, const GURL& url, |
const GURL& top_url, int tab_id) { |
- return PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( |
+ return extension->permissions_data()->CanExecuteScriptOnPage( |
extension, url, top_url, tab_id, NULL, -1, NULL); |
} |
bool BlockedScript(const Extension* extension, const GURL& url, |
const GURL& top_url) { |
- return !PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( |
+ return !extension->permissions_data()->CanExecuteScriptOnPage( |
extension, url, top_url, -1, NULL, -1, NULL); |
} |
@@ -379,10 +360,9 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
} |
bool Allowed(const Extension* extension, const GURL& url, int tab_id) { |
- return (PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( |
+ return (extension->permissions_data()->CanExecuteScriptOnPage( |
extension, url, url, tab_id, NULL, -1, NULL) && |
- PermissionsData::ForExtension(extension) |
- ->CanCaptureVisiblePage(tab_id, NULL)); |
+ extension->permissions_data()->CanCaptureVisiblePage(tab_id, NULL)); |
} |
bool CaptureOnly(const Extension* extension, const GURL& url) { |
@@ -390,10 +370,9 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
} |
bool CaptureOnly(const Extension* extension, const GURL& url, int tab_id) { |
- return !PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( |
+ return !extension->permissions_data()->CanExecuteScriptOnPage( |
extension, url, url, tab_id, NULL, -1, NULL) && |
- PermissionsData::ForExtension(extension) |
- ->CanCaptureVisiblePage(tab_id, NULL); |
+ extension->permissions_data()->CanCaptureVisiblePage(tab_id, NULL); |
} |
bool ScriptOnly(const Extension* extension, const GURL& url, |
@@ -404,8 +383,7 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
bool ScriptOnly(const Extension* extension, const GURL& url, |
const GURL& top_url, int tab_id) { |
return AllowedScript(extension, url, top_url, tab_id) && |
- !PermissionsData::ForExtension(extension) |
- ->CanCaptureVisiblePage(tab_id, NULL); |
+ !extension->permissions_data()->CanCaptureVisiblePage(tab_id, NULL); |
} |
bool Blocked(const Extension* extension, const GURL& url) { |
@@ -413,10 +391,10 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
} |
bool Blocked(const Extension* extension, const GURL& url, int tab_id) { |
- return !(PermissionsData::ForExtension(extension)->CanExecuteScriptOnPage( |
+ return !(extension->permissions_data()->CanExecuteScriptOnPage( |
extension, url, url, tab_id, NULL, -1, NULL) || |
- PermissionsData::ForExtension(extension) |
- ->CanCaptureVisiblePage(tab_id, NULL)); |
+ extension->permissions_data()->CanCaptureVisiblePage(tab_id, |
+ NULL)); |
} |
bool ScriptAllowedExclusivelyOnTab( |
@@ -477,12 +455,9 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
EXPECT_TRUE(BlockedScript(extension.get(), http_url, extension_url)); |
EXPECT_TRUE(BlockedScript(extension.get(), https_url, extension_url)); |
- EXPECT_FALSE(PermissionsData::ForExtension(extension) |
- ->HasHostPermission(settings_url)); |
- EXPECT_FALSE( |
- PermissionsData::ForExtension(extension)->HasHostPermission(about_url)); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasHostPermission(favicon_url)); |
+ EXPECT_FALSE(extension->permissions_data()->HasHostPermission(settings_url)); |
+ EXPECT_FALSE(extension->permissions_data()->HasHostPermission(about_url)); |
+ EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url)); |
// Test * for scheme, which implies just the http/https schemes. |
extension = LoadManifestStrict("script_and_capture", |
@@ -520,8 +495,7 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasHostPermission(favicon_url)); |
+ EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url)); |
// Having http://favicon should not give you chrome://favicon |
extension = LoadManifestStrict("script_and_capture", |
@@ -537,8 +511,7 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
EXPECT_TRUE(Allowed(extension.get(), settings_url)); |
EXPECT_TRUE(Allowed(extension.get(), about_url)); |
EXPECT_TRUE(Allowed(extension.get(), favicon_url)); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasHostPermission(favicon_url)); |
+ EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url)); |
// Component extensions should only get access to what they ask for. |
extension = LoadManifest("script_and_capture", |
@@ -551,8 +524,7 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
EXPECT_TRUE(Blocked(extension.get(), extension_url)); |
- EXPECT_FALSE(PermissionsData::ForExtension(extension) |
- ->HasHostPermission(settings_url)); |
+ EXPECT_FALSE(extension->permissions_data()->HasHostPermission(settings_url)); |
} |
TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
@@ -581,8 +553,7 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
EXPECT_TRUE(BlockedScript(extension.get(), http_url, extension_url)); |
EXPECT_TRUE(BlockedScript(extension.get(), https_url, extension_url)); |
- const PermissionsData* permissions_data = |
- PermissionsData::ForExtension(extension); |
+ const PermissionsData* permissions_data = extension->permissions_data(); |
EXPECT_FALSE(permissions_data->HasHostPermission(settings_url)); |
EXPECT_FALSE(permissions_data->HasHostPermission(about_url)); |
EXPECT_TRUE(permissions_data->HasHostPermission(favicon_url)); |
@@ -621,8 +592,7 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
EXPECT_TRUE(ScriptOnly(extension.get(), favicon_url, favicon_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasHostPermission(favicon_url)); |
+ EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url)); |
// Having http://favicon should not give you chrome://favicon |
extension = LoadManifestStrict("script_and_capture", |
@@ -638,8 +608,7 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
EXPECT_TRUE(Allowed(extension.get(), settings_url)); |
EXPECT_TRUE(Allowed(extension.get(), about_url)); |
EXPECT_TRUE(Allowed(extension.get(), favicon_url)); |
- EXPECT_TRUE( |
- PermissionsData::ForExtension(extension)->HasHostPermission(favicon_url)); |
+ EXPECT_TRUE(extension->permissions_data()->HasHostPermission(favicon_url)); |
// Component extensions should only get access to what they ask for. |
extension = LoadManifest("script_and_capture", |
@@ -652,16 +621,14 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
EXPECT_TRUE(Blocked(extension.get(), extension_url)); |
- EXPECT_FALSE(PermissionsData::ForExtension(extension) |
- ->HasHostPermission(settings_url)); |
+ EXPECT_FALSE(extension->permissions_data()->HasHostPermission(settings_url)); |
} |
TEST_F(ExtensionScriptAndCaptureVisibleTest, TabSpecific) { |
scoped_refptr<Extension> extension = |
LoadManifestStrict("script_and_capture", "tab_specific.json"); |
- const PermissionsData* permissions_data = |
- PermissionsData::ForExtension(extension); |
+ const PermissionsData* permissions_data = extension->permissions_data(); |
EXPECT_FALSE(permissions_data->GetTabSpecificPermissionsForTesting(0)); |
EXPECT_FALSE(permissions_data->GetTabSpecificPermissionsForTesting(1)); |
EXPECT_FALSE(permissions_data->GetTabSpecificPermissionsForTesting(2)); |