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 294d106d202f4ba3d959ea89364bd50a9debe37f..32fc179735ca897f5421049f49e4782b5b91b21c 100644 |
--- a/extensions/common/permissions/permissions_data_unittest.cc |
+++ b/extensions/common/permissions/permissions_data_unittest.cc |
@@ -248,8 +248,13 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
bool AllowedScript(const Extension* extension, const GURL& url, |
const GURL& top_url) { |
+ return AllowedScript(extension, url, top_url, -1); |
+ } |
+ |
+ bool AllowedScript(const Extension* extension, const GURL& url, |
+ const GURL& top_url, int tab_id) { |
return PermissionsData::CanExecuteScriptOnPage( |
- extension, url, top_url, -1, NULL, -1, NULL); |
+ extension, url, top_url, tab_id, NULL, -1, NULL); |
} |
bool BlockedScript(const Extension* extension, const GURL& url, |
@@ -266,7 +271,7 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
return (PermissionsData::CanExecuteScriptOnPage( |
extension, url, url, tab_id, NULL, -1, NULL) && |
PermissionsData::CanCaptureVisiblePage( |
- extension, url, tab_id, NULL)); |
+ extension, tab_id, NULL)); |
} |
bool CaptureOnly(const Extension* extension, const GURL& url) { |
@@ -276,7 +281,7 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
bool CaptureOnly(const Extension* extension, const GURL& url, int tab_id) { |
return !PermissionsData::CanExecuteScriptOnPage( |
extension, url, url, tab_id, NULL, -1, NULL) && |
- PermissionsData::CanCaptureVisiblePage(extension, url, tab_id, NULL); |
+ PermissionsData::CanCaptureVisiblePage(extension, tab_id, NULL); |
} |
bool Blocked(const Extension* extension, const GURL& url) { |
@@ -287,10 +292,10 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
return !(PermissionsData::CanExecuteScriptOnPage( |
extension, url, url, tab_id, NULL, -1, NULL) || |
PermissionsData::CanCaptureVisiblePage( |
- extension, url, tab_id, NULL)); |
+ extension, tab_id, NULL)); |
} |
- bool AllowedExclusivelyOnTab( |
+ bool ScriptAllowedExclusivelyOnTab( |
const Extension* extension, |
const std::set<GURL>& allowed_urls, |
int tab_id) { |
@@ -298,7 +303,7 @@ class ExtensionScriptAndCaptureVisibleTest : public testing::Test { |
for (std::set<GURL>::iterator it = urls_.begin(); it != urls_.end(); ++it) { |
const GURL& url = *it; |
if (allowed_urls.count(url)) |
- result &= Allowed(extension, url, tab_id); |
+ result &= AllowedScript(extension, url, url, tab_id); |
else |
result &= Blocked(extension, url, tab_id); |
} |
@@ -333,11 +338,11 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
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(), file_url)); |
+ EXPECT_TRUE(CaptureOnly(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)); |
+ EXPECT_TRUE(CaptureOnly(extension.get(), about_url)); |
+ EXPECT_TRUE(CaptureOnly(extension.get(), extension_url)); |
// Test access to iframed content. |
GURL within_extension_url = extension->GetResourceURL("page.html"); |
@@ -356,8 +361,10 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
// Test * for scheme, which implies just the http/https schemes. |
extension = LoadManifestStrict("script_and_capture", |
"extension_wildcard.json"); |
- EXPECT_TRUE(Allowed(extension.get(), http_url)); |
- EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, http_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), https_url, https_url)); |
+ EXPECT_FALSE(Allowed(extension.get(), http_url)); |
+ EXPECT_FALSE(Allowed(extension.get(), https_url)); |
not at google - send to devlin
2014/01/21 21:44:21
maybe we need a "ScriptOnly" method?
sadrul
2014/01/23 20:11:14
Done.
|
EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
EXPECT_TRUE(Blocked(extension.get(), file_url)); |
@@ -387,7 +394,7 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
extension = LoadManifestStrict("script_and_capture", |
"extension_chrome_favicon_wildcard.json"); |
EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
- EXPECT_TRUE(CaptureOnly(extension.get(), favicon_url)); |
+ EXPECT_TRUE(Blocked(extension.get(), favicon_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
@@ -411,7 +418,8 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, Permissions) { |
extension = LoadManifest("script_and_capture", |
"extension_component_google.json", Manifest::COMPONENT, |
Extension::NO_FLAGS); |
- EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, http_url)); |
+ EXPECT_FALSE(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)); |
@@ -433,11 +441,11 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
"extension_regular_all.json"); |
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(), file_url)); |
+ EXPECT_TRUE(CaptureOnly(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)); |
+ EXPECT_TRUE(CaptureOnly(extension.get(), about_url)); |
+ EXPECT_TRUE(CaptureOnly(extension.get(), extension_url)); |
// Test access to iframed content. |
GURL within_extension_url = extension->GetResourceURL("page.html"); |
@@ -456,8 +464,10 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
// Test * for scheme, which implies just the http/https schemes. |
extension = LoadManifestStrict("script_and_capture", |
"extension_wildcard.json"); |
- EXPECT_TRUE(Allowed(extension.get(), http_url)); |
- EXPECT_TRUE(Allowed(extension.get(), https_url)); |
+ EXPECT_FALSE(Allowed(extension.get(), http_url)); |
+ EXPECT_FALSE(Allowed(extension.get(), https_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, http_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), https_url, https_url)); |
EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
EXPECT_TRUE(Blocked(extension.get(), file_url)); |
@@ -476,16 +486,19 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
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_FALSE(Allowed(extension.get(), settings_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), settings_url, 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 |
+ EXPECT_FALSE(Allowed(extension.get(), favicon_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), favicon_url, favicon_url)); |
// Having chrome://favicon/* should not give you chrome://* |
extension = LoadManifestStrict("script_and_capture", |
"extension_chrome_favicon_wildcard.json"); |
EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
- EXPECT_TRUE(Allowed(extension.get(), favicon_url)); // chrome:// requested |
+ EXPECT_FALSE(Allowed(extension.get(), favicon_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), favicon_url, favicon_url)); |
EXPECT_TRUE(Blocked(extension.get(), about_url)); |
EXPECT_TRUE(PermissionsData::HasHostPermission(extension.get(), favicon_url)); |
@@ -509,7 +522,8 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, PermissionsWithChromeURLsEnabled) { |
extension = LoadManifest("script_and_capture", |
"extension_component_google.json", Manifest::COMPONENT, |
Extension::NO_FLAGS); |
- EXPECT_TRUE(Allowed(extension.get(), http_url)); |
+ EXPECT_FALSE(Allowed(extension.get(), http_url)); |
+ EXPECT_TRUE(AllowedScript(extension.get(), http_url, http_url)); |
EXPECT_TRUE(Blocked(extension.get(), https_url)); |
EXPECT_TRUE(Blocked(extension.get(), file_url)); |
EXPECT_TRUE(Blocked(extension.get(), settings_url)); |
@@ -533,9 +547,9 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, TabSpecific) { |
std::set<GURL> no_urls; |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
URLPatternSet allowed_hosts; |
allowed_hosts.AddPattern(URLPattern(URLPattern::SCHEME_ALL, |
@@ -558,17 +572,17 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, TabSpecific) { |
->explicit_hosts()); |
} |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), allowed_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), allowed_urls, 0)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
PermissionsData::ClearTabSpecificPermissions(extension.get(), 0); |
EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 0) |
.get()); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
std::set<GURL> more_allowed_urls = allowed_urls; |
more_allowed_urls.insert(https_url); |
@@ -597,25 +611,27 @@ TEST_F(ExtensionScriptAndCaptureVisibleTest, TabSpecific) { |
->explicit_hosts()); |
} |
- 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)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), allowed_urls, 0)); |
+ EXPECT_TRUE( |
+ ScriptAllowedExclusivelyOnTab(extension.get(), more_allowed_urls, 1)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
PermissionsData::ClearTabSpecificPermissions(extension.get(), 0); |
EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 0) |
.get()); |
- 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)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE( |
+ ScriptAllowedExclusivelyOnTab(extension.get(), more_allowed_urls, 1)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
PermissionsData::ClearTabSpecificPermissions(extension.get(), 1); |
EXPECT_FALSE(PermissionsData::GetTabSpecificPermissions(extension.get(), 1) |
.get()); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
- EXPECT_TRUE(AllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 0)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 1)); |
+ EXPECT_TRUE(ScriptAllowedExclusivelyOnTab(extension.get(), no_urls, 2)); |
} |
} // namespace extensions |