Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2123)

Unified Diff: extensions/common/url_pattern_unittest.cc

Issue 226663003: Allow content script insertion on about:-URLs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove permission warning for about:-scheme Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/common/url_pattern_unittest.cc
diff --git a/extensions/common/url_pattern_unittest.cc b/extensions/common/url_pattern_unittest.cc
index 3e0c816ac35ec2d82a15a5814ed43241b3002d87..e146d50d0213db036683a50c818aedc8983f3b94 100644
--- a/extensions/common/url_pattern_unittest.cc
+++ b/extensions/common/url_pattern_unittest.cc
@@ -18,7 +18,8 @@ static const int kAllSchemes =
URLPattern::SCHEME_FTP |
URLPattern::SCHEME_CHROMEUI |
URLPattern::SCHEME_EXTENSION |
- URLPattern::SCHEME_FILESYSTEM;
+ URLPattern::SCHEME_FILESYSTEM|
+ URLPattern::SCHEME_ABOUT;
TEST(ExtensionURLPatternTest, ParseInvalid) {
const struct {
@@ -236,6 +237,7 @@ TEST(ExtensionURLPatternTest, Match11) {
EXPECT_TRUE(pattern.MatchesScheme("file"));
EXPECT_TRUE(pattern.MatchesScheme("filesystem"));
EXPECT_TRUE(pattern.MatchesScheme("chrome-extension"));
+ EXPECT_TRUE(pattern.MatchesScheme("about"));
EXPECT_TRUE(pattern.match_subdomains());
EXPECT_TRUE(pattern.match_all_urls());
EXPECT_EQ("/*", pattern.path());
@@ -243,6 +245,7 @@ TEST(ExtensionURLPatternTest, Match11) {
EXPECT_TRUE(pattern.MatchesURL(GURL("http://127.0.0.1")));
EXPECT_TRUE(pattern.MatchesURL(GURL("file:///foo/bar")));
EXPECT_TRUE(pattern.MatchesURL(GURL("file://localhost/foo/bar")));
+ EXPECT_TRUE(pattern.MatchesURL(GURL("about:blank")));
// Make sure the properties are the same when creating an <all_urls> pattern
// via SetMatchAllURLs and by parsing <all_urls>.
@@ -422,6 +425,19 @@ TEST(ExtensionURLPatternTest, Match19) {
GURL("filesystem:chrome-extension://ftw/t/file.txt")));
};
+// about:
+TEST(ExtensionURLPatternTest, Match20) {
+ URLPattern pattern(URLPattern::SCHEME_ABOUT);
+ EXPECT_EQ(URLPattern::PARSE_SUCCESS, pattern.Parse("about:blank"));
+ EXPECT_EQ("about", pattern.scheme());
+ EXPECT_EQ("", pattern.host());
+ EXPECT_FALSE(pattern.match_subdomains());
+ EXPECT_FALSE(pattern.match_all_urls());
+ EXPECT_EQ("blank", pattern.path());
+ EXPECT_TRUE(pattern.MatchesURL(GURL("about:blank")));
+ EXPECT_FALSE(pattern.MatchesURL(GURL("about:srcdoc")));
+};
+
static const struct GetAsStringPatterns {
const char* pattern;
} kGetAsStringTestCases[] = {
@@ -527,7 +543,7 @@ TEST(ExtensionURLPatternTest, ConvertToExplicitSchemes) {
URLPattern::SCHEME_FTP,
"http://google.com/monkey").ConvertToExplicitSchemes());
- ASSERT_EQ(7u, all_urls.size());
+ ASSERT_EQ(8u, all_urls.size());
ASSERT_EQ(2u, all_schemes.size());
ASSERT_EQ(1u, monkey.size());
@@ -536,6 +552,7 @@ TEST(ExtensionURLPatternTest, ConvertToExplicitSchemes) {
EXPECT_EQ("file:///*", all_urls[2].GetAsString());
EXPECT_EQ("ftp://*/*", all_urls[3].GetAsString());
EXPECT_EQ("chrome://*/*", all_urls[4].GetAsString());
+ EXPECT_EQ("about:/*", all_urls[7].GetAsString());
EXPECT_EQ("http://google.com/foo", all_schemes[0].GetAsString());
EXPECT_EQ("https://google.com/foo", all_schemes[1].GetAsString());

Powered by Google App Engine
This is Rietveld 408576698