| Index: chrome/common/content_settings_pattern_unittest.cc
|
| diff --git a/chrome/common/content_settings_pattern_unittest.cc b/chrome/common/content_settings_pattern_unittest.cc
|
| index f0eeca56b1f8b581ed6647f0deb38474a391953a..bd793382e87cc3a6c8019962622f52605084be16 100644
|
| --- a/chrome/common/content_settings_pattern_unittest.cc
|
| +++ b/chrome/common/content_settings_pattern_unittest.cc
|
| @@ -73,6 +73,7 @@ TEST(ContentSettingsPatternTest, FromURL) {
|
|
|
| pattern = ContentSettingsPattern::FromURL(GURL("https://www.google.com:443"));
|
| EXPECT_TRUE(pattern.Matches(GURL("https://www.google.com")));
|
| + EXPECT_TRUE(pattern.Matches(GURL("https://foo.www.google.com")));
|
| EXPECT_TRUE(pattern.Matches(GURL("https://www.google.com:443")));
|
| EXPECT_FALSE(pattern.Matches(GURL("https://www.google.com:444")));
|
| EXPECT_FALSE(pattern.Matches(GURL("http://www.google.com:443")));
|
| @@ -89,6 +90,49 @@ TEST(ContentSettingsPatternTest, FromURL) {
|
| EXPECT_EQ("file:///foo/bar.html", pattern.ToString());
|
| }
|
|
|
| +TEST(ContentSettingsPatternTest, FilesystemUrls) {
|
| + ContentSettingsPattern pattern =
|
| + ContentSettingsPattern::FromURL(GURL("http://www.google.com"));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:http://www.google.com/temporary/")));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:http://foo.www.google.com/temporary/")));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:http://www.google.com:80/temporary/")));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:http://www.google.com:81/temporary/")));
|
| +
|
| + pattern = ContentSettingsPattern::FromURL(GURL("https://www.google.com"));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:https://www.google.com/temporary/")));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:https://www.google.com:443/temporary/")));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:https://foo.www.google.com/temporary/")));
|
| + EXPECT_FALSE(pattern.Matches(
|
| + GURL("filesystem:https://www.google.com:81/temporary/")));
|
| +
|
| + // A pattern from a filesystem URLs is equivalent to a pattern from the inner
|
| + // URL of the filesystem URL.
|
| + ContentSettingsPattern pattern2 = ContentSettingsPattern::FromURL(
|
| + GURL("filesystem:https://www.google.com/temporary/"));
|
| + EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern.Compare(pattern2));
|
| +
|
| + EXPECT_STREQ("https://[*.]www.google.com:443", pattern2.ToString().c_str());
|
| +
|
| + pattern =
|
| + ContentSettingsPattern::FromURL(
|
| + GURL("filesystem:file:///temporary/foo/bar"));
|
| + EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/")));
|
| + EXPECT_TRUE(pattern.Matches(GURL("filesystem:file:///temporary/test.txt")));
|
| + EXPECT_TRUE(pattern.Matches(GURL("file:///temporary")));
|
| + EXPECT_FALSE(pattern.Matches(GURL("file://foo/bar")));
|
| + pattern2 =
|
| + ContentSettingsPattern::FromURL(
|
| + GURL("filesystem:file:///persistent/foo2/bar2"));
|
| + EXPECT_EQ(ContentSettingsPattern::IDENTITY, pattern.Compare(pattern2));
|
| +}
|
| +
|
| TEST(ContentSettingsPatternTest, FromURLNoWildcard) {
|
| // If no port is specifed GURLs always use the default port for the schemes
|
| // HTTP and HTTPS. Hence a GURL always carries a port specification either
|
| @@ -114,8 +158,21 @@ TEST(ContentSettingsPatternTest, FromURLNoWildcard) {
|
| EXPECT_TRUE(pattern.Matches(GURL("https://www.example.com")));
|
| EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.example.com")));
|
|
|
| - pattern = ContentSettingsPattern::FromURLNoWildcard(
|
| - GURL("https://www.example.com"));
|
| + // Pattern for filesystem URLs
|
| + pattern =
|
| + ContentSettingsPattern::FromURLNoWildcard(
|
| + GURL("filesystem:http://www.google.com/temporary/"));
|
| + EXPECT_TRUE(pattern.IsValid());
|
| + EXPECT_TRUE(pattern.Matches(GURL("http://www.google.com")));
|
| + EXPECT_FALSE(pattern.Matches(GURL("http://foo.www.google.com")));
|
| + EXPECT_TRUE(pattern.Matches(
|
| + GURL("filesystem:http://www.google.com/persistent/")));
|
| + EXPECT_FALSE(pattern.Matches(
|
| + GURL("filesystem:https://www.google.com/persistent/")));
|
| + EXPECT_FALSE(pattern.Matches(
|
| + GURL("filesystem:https://www.google.com:81/temporary/")));
|
| + EXPECT_FALSE(pattern.Matches(
|
| + GURL("filesystem:https://foo.www.google.com/temporary/")));
|
| }
|
|
|
| TEST(ContentSettingsPatternTest, Wildcard) {
|
|
|