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 fce5d2bb38e66bfa4c0a4b33eb6d95bdb3f7c837..803aa1dbf0e0162aceea0696217c260adfc3e766 100644 |
--- a/chrome/common/extensions/permissions/permissions_data_unittest.cc |
+++ b/chrome/common/extensions/permissions/permissions_data_unittest.cc |
@@ -40,7 +40,7 @@ bool CheckSocketPermission( |
int port) { |
SocketPermission::CheckParam param(type, host, port); |
return PermissionsData::CheckAPIPermissionWithParam( |
- extension, APIPermission::kSocket, ¶m); |
+ extension.get(), APIPermission::kSocket, ¶m); |
} |
} // namespace |
@@ -50,42 +50,41 @@ TEST(ExtensionPermissionsTest, EffectiveHostPermissions) { |
URLPatternSet hosts; |
extension = LoadManifest("effective_host_permissions", "empty.json"); |
- EXPECT_EQ( |
- 0u, |
- PermissionsData::GetEffectiveHostPermissions( |
- extension).patterns().size()); |
+ EXPECT_EQ(0u, |
+ PermissionsData::GetEffectiveHostPermissions(extension.get()) |
+ .patterns().size()); |
EXPECT_FALSE(hosts.MatchesURL(GURL("http://www.google.com"))); |
- EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", "one_host.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
EXPECT_FALSE(hosts.MatchesURL(GURL("https://www.google.com"))); |
- EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", |
"one_host_wildcard.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://foo.google.com"))); |
- EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", "two_hosts.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.reddit.com"))); |
- EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", |
"https_not_considered.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("https://google.com"))); |
- EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", |
"two_content_scripts.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://google.com"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.reddit.com"))); |
EXPECT_TRUE(extension->GetActivePermissions()->HasEffectiveAccessToURL( |
@@ -93,27 +92,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::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_FALSE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", "all_hosts.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
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::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_TRUE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", "all_hosts2.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://test/"))); |
EXPECT_TRUE(hosts.MatchesURL(GURL("http://www.google.com"))); |
- EXPECT_TRUE(PermissionsData::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_TRUE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
extension = LoadManifest("effective_host_permissions", "all_hosts3.json"); |
- hosts = PermissionsData::GetEffectiveHostPermissions(extension); |
+ hosts = PermissionsData::GetEffectiveHostPermissions(extension.get()); |
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::HasEffectiveAccessToAllHosts(extension)); |
+ EXPECT_TRUE(PermissionsData::HasEffectiveAccessToAllHosts(extension.get())); |
} |
TEST(ExtensionPermissionsTest, SocketPermissions) { |
@@ -131,9 +130,10 @@ TEST(ExtensionPermissionsTest, SocketPermissions) { |
"socket1.json", |
Manifest::INTERNAL, Extension::NO_FLAGS, |
&error); |
- EXPECT_TRUE(extension == NULL); |
+ EXPECT_TRUE(extension.get() == NULL); |
ASSERT_EQ(ErrorUtils::FormatErrorMessage( |
- extension_manifest_errors::kInvalidPermission, "socket"), error); |
+ extension_manifest_errors::kInvalidPermission, "socket"), |
+ error); |
extension = LoadManifest("socket_permissions", "socket2.json"); |
EXPECT_TRUE(CheckSocketPermission(extension, |
@@ -202,7 +202,7 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyAPIPermissions) { |
scoped_refptr<Extension> extension; |
extension = LoadManifest("permissions", "many-apis.json"); |
std::vector<string16> warnings = |
- PermissionsData::GetPermissionMessageStrings(extension); |
+ PermissionsData::GetPermissionMessageStrings(extension.get()); |
ASSERT_EQ(6u, warnings.size()); |
EXPECT_EQ("Access your data on api.flickr.com", |
UTF16ToUTF8(warnings[0])); |
@@ -221,7 +221,7 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_LocationApiPermission) { |
Manifest::COMPONENT, |
Extension::NO_FLAGS); |
std::vector<string16> warnings = |
- PermissionsData::GetPermissionMessageStrings(extension); |
+ PermissionsData::GetPermissionMessageStrings(extension.get()); |
ASSERT_EQ(1u, warnings.size()); |
EXPECT_EQ("Detect your physical location", UTF16ToUTF8(warnings[0])); |
} |
@@ -230,7 +230,7 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_ManyHosts) { |
scoped_refptr<Extension> extension; |
extension = LoadManifest("permissions", "many-hosts.json"); |
std::vector<string16> warnings = |
- PermissionsData::GetPermissionMessageStrings(extension); |
+ PermissionsData::GetPermissionMessageStrings(extension.get()); |
ASSERT_EQ(1u, warnings.size()); |
EXPECT_EQ("Access your data on encrypted.google.com and www.google.com", |
UTF16ToUTF8(warnings[0])); |
@@ -240,8 +240,8 @@ TEST(ExtensionPermissionsTest, GetPermissionMessages_Plugins) { |
scoped_refptr<Extension> extension; |
extension = LoadManifest("permissions", "plugins.json"); |
std::vector<string16> warnings = |
- PermissionsData::GetPermissionMessageStrings(extension); |
- // We don't parse the plugins key on Chrome OS, so it should not ask for any |
+ PermissionsData::GetPermissionMessageStrings(extension.get()); |
+// We don't parse the plugins key on Chrome OS, so it should not ask for any |
// permissions. |
#if defined(OS_CHROMEOS) |
ASSERT_EQ(0u, warnings.size()); |
@@ -364,39 +364,40 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
scoped_refptr<Extension> extension = LoadManifestStrict("script_and_capture", |
"extension_regular_all.json"); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Allowed(extension, https_url)); |
- EXPECT_TRUE(Blocked(extension, file_url)); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(CaptureOnly(extension, favicon_url)); |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(Blocked(extension, extension_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), file_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(CaptureOnly(extension.get(), favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), extension_url)); |
// Test access to iframed content. |
GURL within_extension_url = extension->GetResourceURL("page.html"); |
- EXPECT_TRUE(AllowedScript(extension, http_url, http_url_with_path)); |
- EXPECT_TRUE(AllowedScript(extension, https_url, http_url_with_path)); |
- EXPECT_TRUE(AllowedScript(extension, http_url, within_extension_url)); |
- EXPECT_TRUE(AllowedScript(extension, https_url, within_extension_url)); |
- EXPECT_TRUE(BlockedScript(extension, http_url, extension_url)); |
- EXPECT_TRUE(BlockedScript(extension, https_url, extension_url)); |
- |
- EXPECT_FALSE(PermissionsData::HasHostPermission(extension, settings_url)); |
- EXPECT_FALSE(PermissionsData::HasHostPermission(extension, about_url)); |
- EXPECT_TRUE(PermissionsData::HasHostPermission(extension, favicon_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, http_url_with_path)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), https_url, http_url_with_path)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, within_extension_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), https_url, within_extension_url)); |
+ EXPECT_TRUE(BlockedScript(extension.get(), http_url, extension_url)); |
+ EXPECT_TRUE(BlockedScript(extension.get(), https_url, extension_url)); |
+ |
+ EXPECT_FALSE( |
+ PermissionsData::HasHostPermission(extension.get(), settings_url)); |
+ EXPECT_FALSE(PermissionsData::HasHostPermission(extension.get(), about_url)); |
+ EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
// Test * for scheme, which implies just the http/https schemes. |
extension = LoadManifestStrict("script_and_capture", |
"extension_wildcard.json"); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Allowed(extension, https_url)); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(Blocked(extension, file_url)); |
- EXPECT_TRUE(Blocked(extension, favicon_url)); |
- extension = LoadManifest("script_and_capture", |
- "extension_wildcard_settings.json"); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), file_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
+ extension = |
+ LoadManifest("script_and_capture", "extension_wildcard_settings.json"); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
// Having chrome://*/ should not work for regular extensions. Note that |
// for favicon access, we require the explicit pattern chrome://favicon/*. |
@@ -405,52 +406,51 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
"extension_wildcard_chrome.json", |
Manifest::INTERNAL, Extension::NO_FLAGS, |
&error); |
- EXPECT_TRUE(extension == NULL); |
+ EXPECT_TRUE(extension.get() == NULL); |
EXPECT_EQ( |
ErrorUtils::FormatErrorMessage( |
- extension_manifest_errors::kInvalidPermissionScheme, |
- "chrome://*/"), |
+ extension_manifest_errors::kInvalidPermissionScheme, "chrome://*/"), |
error); |
// Having chrome://favicon/* should not give you chrome://* |
extension = LoadManifestStrict("script_and_capture", |
"extension_chrome_favicon_wildcard.json"); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(CaptureOnly(extension, favicon_url)); |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(PermissionsData::HasHostPermission(extension, favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(CaptureOnly(extension.get(), favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
// Having http://favicon should not give you chrome://favicon |
extension = LoadManifestStrict("script_and_capture", |
"extension_http_favicon.json"); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Blocked(extension, favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
// Component extensions with <all_urls> should get everything. |
extension = LoadManifest("script_and_capture", "extension_component_all.json", |
Manifest::COMPONENT, Extension::NO_FLAGS); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Allowed(extension, https_url)); |
- EXPECT_TRUE(Allowed(extension, settings_url)); |
- EXPECT_TRUE(Allowed(extension, about_url)); |
- EXPECT_TRUE(Allowed(extension, favicon_url)); |
- EXPECT_TRUE(PermissionsData::HasHostPermission(extension, favicon_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), about_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), favicon_url)); |
+ EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
// Component extensions should only get access to what they ask for. |
extension = LoadManifest("script_and_capture", |
"extension_component_google.json", Manifest::COMPONENT, |
Extension::NO_FLAGS); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Blocked(extension, https_url)); |
- EXPECT_TRUE(Blocked(extension, file_url)); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Blocked(extension, favicon_url)); |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(Blocked(extension, extension_url)); |
- EXPECT_FALSE(PermissionsData::HasHostPermission(extension, settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), https_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), file_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), extension_url)); |
+ EXPECT_FALSE( |
+ PermissionsData::HasHostPermission(extension.get(), settings_url)); |
} |
- |
TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
CommandLine::ForCurrentProcess()->AppendSwitch( |
switches::kExtensionsOnChromeURLs); |
@@ -460,39 +460,40 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
// Test <all_urls> for regular extensions. |
extension = LoadManifestStrict("script_and_capture", |
"extension_regular_all.json"); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Allowed(extension, https_url)); |
- EXPECT_TRUE(Blocked(extension, file_url)); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Allowed(extension, favicon_url)); // chrome:// requested |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(Blocked(extension, extension_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), file_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), favicon_url)); // chrome:// requested |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), extension_url)); |
// Test access to iframed content. |
GURL within_extension_url = extension->GetResourceURL("page.html"); |
- EXPECT_TRUE(AllowedScript(extension, http_url, http_url_with_path)); |
- EXPECT_TRUE(AllowedScript(extension, https_url, http_url_with_path)); |
- EXPECT_TRUE(AllowedScript(extension, http_url, within_extension_url)); |
- EXPECT_TRUE(AllowedScript(extension, https_url, within_extension_url)); |
- EXPECT_TRUE(BlockedScript(extension, http_url, extension_url)); |
- EXPECT_TRUE(BlockedScript(extension, https_url, extension_url)); |
- |
- EXPECT_FALSE(PermissionsData::HasHostPermission(extension, settings_url)); |
- EXPECT_FALSE(PermissionsData::HasHostPermission(extension, about_url)); |
- EXPECT_TRUE(PermissionsData::HasHostPermission(extension, favicon_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, http_url_with_path)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), https_url, http_url_with_path)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, within_extension_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), https_url, within_extension_url)); |
+ EXPECT_TRUE(BlockedScript(extension.get(), http_url, extension_url)); |
+ EXPECT_TRUE(BlockedScript(extension.get(), https_url, extension_url)); |
+ |
+ EXPECT_FALSE( |
+ PermissionsData::HasHostPermission(extension.get(), settings_url)); |
+ EXPECT_FALSE(PermissionsData::HasHostPermission(extension.get(), about_url)); |
+ EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
// Test * for scheme, which implies just the http/https schemes. |
extension = LoadManifestStrict("script_and_capture", |
"extension_wildcard.json"); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Allowed(extension, https_url)); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(Blocked(extension, file_url)); |
- EXPECT_TRUE(Blocked(extension, favicon_url)); |
- extension = LoadManifest("script_and_capture", |
- "extension_wildcard_settings.json"); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), file_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
+ extension = |
+ LoadManifest("script_and_capture", "extension_wildcard_settings.json"); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
// Having chrome://*/ should work for regular extensions with the flag |
// enabled. |
@@ -501,65 +502,69 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
"extension_wildcard_chrome.json", |
Manifest::INTERNAL, Extension::NO_FLAGS, |
&error); |
- EXPECT_FALSE(extension == NULL); |
- EXPECT_TRUE(Blocked(extension, http_url)); |
- EXPECT_TRUE(Blocked(extension, https_url)); |
- EXPECT_TRUE(Allowed(extension, settings_url)); |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(Blocked(extension, file_url)); |
- EXPECT_TRUE(Allowed(extension, favicon_url)); // chrome:// requested |
+ EXPECT_FALSE(extension.get() == NULL); |
+ EXPECT_TRUE(Blocked(extension.get(), http_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), https_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), settings_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), file_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), favicon_url)); // chrome:// requested |
// Having chrome://favicon/* should not give you chrome://* |
extension = LoadManifestStrict("script_and_capture", |
"extension_chrome_favicon_wildcard.json"); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Allowed(extension, favicon_url)); // chrome:// requested |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(PermissionsData::HasHostPermission(extension, favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), favicon_url)); // chrome:// requested |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
// Having http://favicon should not give you chrome://favicon |
extension = LoadManifestStrict("script_and_capture", |
"extension_http_favicon.json"); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Blocked(extension, favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
// Component extensions with <all_urls> should get everything. |
extension = LoadManifest("script_and_capture", "extension_component_all.json", |
Manifest::COMPONENT, Extension::NO_FLAGS); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Allowed(extension, https_url)); |
- EXPECT_TRUE(Allowed(extension, settings_url)); |
- EXPECT_TRUE(Allowed(extension, about_url)); |
- EXPECT_TRUE(Allowed(extension, favicon_url)); |
- EXPECT_TRUE(PermissionsData::HasHostPermission(extension, favicon_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), about_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), favicon_url)); |
+ EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
// Component extensions should only get access to what they ask for. |
extension = LoadManifest("script_and_capture", |
"extension_component_google.json", Manifest::COMPONENT, |
Extension::NO_FLAGS); |
- EXPECT_TRUE(Allowed(extension, http_url)); |
- EXPECT_TRUE(Blocked(extension, https_url)); |
- EXPECT_TRUE(Blocked(extension, file_url)); |
- EXPECT_TRUE(Blocked(extension, settings_url)); |
- EXPECT_TRUE(Blocked(extension, favicon_url)); |
- EXPECT_TRUE(Blocked(extension, about_url)); |
- EXPECT_TRUE(Blocked(extension, extension_url)); |
- EXPECT_FALSE(PermissionsData::HasHostPermission(extension, settings_url)); |
+ EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), https_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), file_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), about_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), extension_url)); |
+ EXPECT_FALSE( |
+ PermissionsData::HasHostPermission(extension.get(), settings_url)); |
} |
TEST_F(ExtensionScriptAndCaptureVisibleTest, TabSpecific) { |
scoped_refptr<Extension> extension = |
LoadManifestStrict("script_and_capture", "tab_specific.json"); |
- EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension, 0).get()); |
- EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension, 1).get()); |
- EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension, 2).get()); |
+ EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 0) |
+ .get()); |
+ EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1) |
+ .get()); |
+ EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 2) |
+ .get()); |
std::set<GURL> no_urls; |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 2)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
URLPatternSet allowed_hosts; |
allowed_hosts.AddPattern(URLPattern(URLPattern::SCHEME_ALL, |
@@ -574,22 +579,24 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, TabSpecific) { |
{ |
scoped_refptr<PermissionSet> permissions( |
new PermissionSet(APIPermissionSet(), allowed_hosts, URLPatternSet())); |
- PermissionsData::UpdateTabSpecificPermissions(extension, 0, permissions); |
+ PermissionsData::UpdateTabSpecificPermissions( |
+ extension.get(), 0, permissions); |
EXPECT_EQ(permissions->explicit_hosts(), |
- PermissionsData::GetTabSpecificPermissions( |
- extension, 0)->explicit_hosts()); |
+ PermissionsData::GetTabSpecificPermissions(extension.get(), 0) |
+ ->explicit_hosts()); |
} |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, allowed_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 2)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), allowed_urls, 0)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
- PermissionsData::ClearTabSpecificPermissions(extension, 0); |
- EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension, 0).get()); |
+ PermissionsData::ClearTabSpecificPermissions(extension.get(), 0); |
+ EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 0) |
+ .get()); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 2)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
std::set<GURL> more_allowed_urls = allowed_urls; |
more_allowed_urls.insert(https_url); |
@@ -600,37 +607,41 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, TabSpecific) { |
{ |
scoped_refptr<PermissionSet> permissions( |
new PermissionSet(APIPermissionSet(), allowed_hosts, URLPatternSet())); |
- PermissionsData::UpdateTabSpecificPermissions(extension, 0, permissions); |
+ PermissionsData::UpdateTabSpecificPermissions( |
+ extension.get(), 0, permissions); |
EXPECT_EQ(permissions->explicit_hosts(), |
- PermissionsData::GetTabSpecificPermissions( |
- extension, 0)->explicit_hosts()); |
+ PermissionsData::GetTabSpecificPermissions(extension.get(), 0) |
+ ->explicit_hosts()); |
permissions = new PermissionSet(APIPermissionSet(), |
more_allowed_hosts, |
URLPatternSet()); |
- PermissionsData::UpdateTabSpecificPermissions(extension, 1, permissions); |
+ PermissionsData::UpdateTabSpecificPermissions( |
+ extension.get(), 1, permissions); |
EXPECT_EQ(permissions->explicit_hosts(), |
- PermissionsData::GetTabSpecificPermissions( |
- extension, 1)->explicit_hosts()); |
+ PermissionsData::GetTabSpecificPermissions(extension.get(), 1) |
+ ->explicit_hosts()); |
} |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, allowed_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, more_allowed_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 2)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), allowed_urls, 0)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), more_allowed_urls, 1)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
- PermissionsData::ClearTabSpecificPermissions(extension, 0); |
- EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension, 0).get()); |
+ PermissionsData::ClearTabSpecificPermissions(extension.get(), 0); |
+ EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 0) |
+ .get()); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, more_allowed_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 2)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), more_allowed_urls, 1)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
- PermissionsData::ClearTabSpecificPermissions(extension, 1); |
- EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension, 1).get()); |
+ PermissionsData::ClearTabSpecificPermissions(extension.get(), 1); |
+ EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1) |
+ .get()); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension, no_urls, 2)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
} |
} // namespace extensions |