OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/browsing_data/browsing_data_helper.h" | 5 #include "chrome/browser/browsing_data/browsing_data_helper.h" |
6 | 6 |
7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
8 #include "chrome/browser/extensions/mock_extension_special_storage_policy.h" | 8 #include "chrome/browser/extensions/mock_extension_special_storage_policy.h" |
9 #include "chrome/common/url_constants.h" | 9 #include "chrome/common/url_constants.h" |
10 #include "content/public/common/url_constants.h" | |
11 #include "extensions/common/constants.h" | 10 #include "extensions/common/constants.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
13 #include "url/gurl.h" | 12 #include "url/gurl.h" |
| 13 #include "url/url_constants.h" |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 const char kTestOrigin1[] = "http://host1:1/"; | 17 const char kTestOrigin1[] = "http://host1:1/"; |
18 const char kTestOrigin2[] = "http://host2:1/"; | 18 const char kTestOrigin2[] = "http://host2:1/"; |
19 const char kTestOrigin3[] = "http://host3:1/"; | 19 const char kTestOrigin3[] = "http://host3:1/"; |
20 const char kTestOriginExt[] = "chrome-extension://abcdefghijklmnopqrstuvwxyz/"; | 20 const char kTestOriginExt[] = "chrome-extension://abcdefghijklmnopqrstuvwxyz/"; |
21 const char kTestOriginDevTools[] = "chrome-devtools://abcdefghijklmnopqrstuvw/"; | 21 const char kTestOriginDevTools[] = "chrome-devtools://abcdefghijklmnopqrstuvw/"; |
22 | 22 |
23 const GURL kOrigin1(kTestOrigin1); | 23 const GURL kOrigin1(kTestOrigin1); |
(...skipping 29 matching lines...) Expand all Loading... |
53 return BrowsingDataHelper::DoesOriginMatchMask(origin, mask, policy); | 53 return BrowsingDataHelper::DoesOriginMatchMask(origin, mask, policy); |
54 } | 54 } |
55 | 55 |
56 private: | 56 private: |
57 DISALLOW_COPY_AND_ASSIGN(BrowsingDataHelperTest); | 57 DISALLOW_COPY_AND_ASSIGN(BrowsingDataHelperTest); |
58 }; | 58 }; |
59 | 59 |
60 TEST_F(BrowsingDataHelperTest, WebSafeSchemesAreWebSafe) { | 60 TEST_F(BrowsingDataHelperTest, WebSafeSchemesAreWebSafe) { |
61 EXPECT_TRUE(IsWebScheme(url::kHttpScheme)); | 61 EXPECT_TRUE(IsWebScheme(url::kHttpScheme)); |
62 EXPECT_TRUE(IsWebScheme(url::kHttpsScheme)); | 62 EXPECT_TRUE(IsWebScheme(url::kHttpsScheme)); |
63 EXPECT_TRUE(IsWebScheme(content::kFtpScheme)); | 63 EXPECT_TRUE(IsWebScheme(url::kFtpScheme)); |
64 EXPECT_TRUE(IsWebScheme(content::kDataScheme)); | 64 EXPECT_TRUE(IsWebScheme(url::kDataScheme)); |
65 EXPECT_TRUE(IsWebScheme("feed")); | 65 EXPECT_TRUE(IsWebScheme("feed")); |
66 EXPECT_TRUE(IsWebScheme(content::kBlobScheme)); | 66 EXPECT_TRUE(IsWebScheme(url::kBlobScheme)); |
67 EXPECT_TRUE(IsWebScheme(content::kFileSystemScheme)); | 67 EXPECT_TRUE(IsWebScheme(url::kFileSystemScheme)); |
68 EXPECT_FALSE(IsWebScheme("invalid-scheme-i-just-made-up")); | 68 EXPECT_FALSE(IsWebScheme("invalid-scheme-i-just-made-up")); |
69 } | 69 } |
70 | 70 |
71 TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotWebSafe) { | 71 TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotWebSafe) { |
72 EXPECT_FALSE(IsWebScheme(extensions::kExtensionScheme)); | 72 EXPECT_FALSE(IsWebScheme(extensions::kExtensionScheme)); |
73 EXPECT_FALSE(IsWebScheme(content::kAboutScheme)); | 73 EXPECT_FALSE(IsWebScheme(content::kAboutScheme)); |
74 EXPECT_FALSE(IsWebScheme(content::kChromeDevToolsScheme)); | 74 EXPECT_FALSE(IsWebScheme(content::kChromeDevToolsScheme)); |
75 EXPECT_FALSE(IsWebScheme(content::kChromeUIScheme)); | 75 EXPECT_FALSE(IsWebScheme(content::kChromeUIScheme)); |
76 EXPECT_FALSE(IsWebScheme(content::kJavaScriptScheme)); | 76 EXPECT_FALSE(IsWebScheme(url::kJavaScriptScheme)); |
77 EXPECT_FALSE(IsWebScheme(content::kMailToScheme)); | 77 EXPECT_FALSE(IsWebScheme(url::kMailToScheme)); |
78 EXPECT_FALSE(IsWebScheme(content::kMetadataScheme)); | 78 EXPECT_FALSE(IsWebScheme(content::kMetadataScheme)); |
79 EXPECT_FALSE(IsWebScheme(content::kSwappedOutScheme)); | 79 EXPECT_FALSE(IsWebScheme(content::kSwappedOutScheme)); |
80 EXPECT_FALSE(IsWebScheme(content::kViewSourceScheme)); | 80 EXPECT_FALSE(IsWebScheme(content::kViewSourceScheme)); |
81 } | 81 } |
82 | 82 |
83 TEST_F(BrowsingDataHelperTest, WebSafeSchemesAreNotExtensions) { | 83 TEST_F(BrowsingDataHelperTest, WebSafeSchemesAreNotExtensions) { |
84 EXPECT_FALSE(IsExtensionScheme(url::kHttpScheme)); | 84 EXPECT_FALSE(IsExtensionScheme(url::kHttpScheme)); |
85 EXPECT_FALSE(IsExtensionScheme(url::kHttpsScheme)); | 85 EXPECT_FALSE(IsExtensionScheme(url::kHttpsScheme)); |
86 EXPECT_FALSE(IsExtensionScheme(content::kFtpScheme)); | 86 EXPECT_FALSE(IsExtensionScheme(url::kFtpScheme)); |
87 EXPECT_FALSE(IsExtensionScheme(content::kDataScheme)); | 87 EXPECT_FALSE(IsExtensionScheme(url::kDataScheme)); |
88 EXPECT_FALSE(IsExtensionScheme("feed")); | 88 EXPECT_FALSE(IsExtensionScheme("feed")); |
89 EXPECT_FALSE(IsExtensionScheme(content::kBlobScheme)); | 89 EXPECT_FALSE(IsExtensionScheme(url::kBlobScheme)); |
90 EXPECT_FALSE(IsExtensionScheme(content::kFileSystemScheme)); | 90 EXPECT_FALSE(IsExtensionScheme(url::kFileSystemScheme)); |
91 EXPECT_FALSE(IsExtensionScheme("invalid-scheme-i-just-made-up")); | 91 EXPECT_FALSE(IsExtensionScheme("invalid-scheme-i-just-made-up")); |
92 } | 92 } |
93 | 93 |
94 TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotAllExtension) { | 94 TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotAllExtension) { |
95 EXPECT_TRUE(IsExtensionScheme(extensions::kExtensionScheme)); | 95 EXPECT_TRUE(IsExtensionScheme(extensions::kExtensionScheme)); |
96 | 96 |
97 EXPECT_FALSE(IsExtensionScheme(content::kAboutScheme)); | 97 EXPECT_FALSE(IsExtensionScheme(content::kAboutScheme)); |
98 EXPECT_FALSE(IsExtensionScheme(content::kChromeDevToolsScheme)); | 98 EXPECT_FALSE(IsExtensionScheme(content::kChromeDevToolsScheme)); |
99 EXPECT_FALSE(IsExtensionScheme(content::kChromeUIScheme)); | 99 EXPECT_FALSE(IsExtensionScheme(content::kChromeUIScheme)); |
100 EXPECT_FALSE(IsExtensionScheme(content::kJavaScriptScheme)); | 100 EXPECT_FALSE(IsExtensionScheme(url::kJavaScriptScheme)); |
101 EXPECT_FALSE(IsExtensionScheme(content::kMailToScheme)); | 101 EXPECT_FALSE(IsExtensionScheme(url::kMailToScheme)); |
102 EXPECT_FALSE(IsExtensionScheme(content::kMetadataScheme)); | 102 EXPECT_FALSE(IsExtensionScheme(content::kMetadataScheme)); |
103 EXPECT_FALSE(IsExtensionScheme(content::kSwappedOutScheme)); | 103 EXPECT_FALSE(IsExtensionScheme(content::kSwappedOutScheme)); |
104 EXPECT_FALSE(IsExtensionScheme(content::kViewSourceScheme)); | 104 EXPECT_FALSE(IsExtensionScheme(content::kViewSourceScheme)); |
105 } | 105 } |
106 | 106 |
107 TEST_F(BrowsingDataHelperTest, TestMatches) { | 107 TEST_F(BrowsingDataHelperTest, TestMatches) { |
108 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy = | 108 scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy = |
109 new MockExtensionSpecialStoragePolicy; | 109 new MockExtensionSpecialStoragePolicy; |
110 // Protect kOrigin1. | 110 // Protect kOrigin1. |
111 mock_policy->AddProtected(kOrigin1.GetOrigin()); | 111 mock_policy->AddProtected(kOrigin1.GetOrigin()); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 EXPECT_TRUE(Match( | 148 EXPECT_TRUE(Match( |
149 kOrigin2, kUnprotected | kProtected | kExtension, mock_policy.get())); | 149 kOrigin2, kUnprotected | kProtected | kExtension, mock_policy.get())); |
150 EXPECT_TRUE(Match( | 150 EXPECT_TRUE(Match( |
151 kOriginExt, kUnprotected | kProtected | kExtension, mock_policy.get())); | 151 kOriginExt, kUnprotected | kProtected | kExtension, mock_policy.get())); |
152 EXPECT_FALSE(Match(kOriginDevTools, | 152 EXPECT_FALSE(Match(kOriginDevTools, |
153 kUnprotected | kProtected | kExtension, | 153 kUnprotected | kProtected | kExtension, |
154 mock_policy.get())); | 154 mock_policy.get())); |
155 } | 155 } |
156 | 156 |
157 } // namespace | 157 } // namespace |
OLD | NEW |