#include "chrome/browser/browsing_data/browsing_data_helper.h"
#include "base/strings/stringprintf.h"
-#include "chrome/browser/extensions/mock_extension_special_storage_policy.h"
#include "chrome/common/url_constants.h"
-#include "content/public/common/url_constants.h"
#include "extensions/common/constants.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
+#include "url/url_constants.h"
+
+#if defined(ENABLE_EXTENSIONS)
+#include "chrome/browser/extensions/mock_extension_special_storage_policy.h"
+#endif
namespace {
class BrowsingDataHelperTest : public testing::Test {
public:
BrowsingDataHelperTest() {}
- virtual ~BrowsingDataHelperTest() {}
+ ~BrowsingDataHelperTest() override {}
bool IsWebScheme(const std::string& scheme) {
GURL test(scheme + "://example.com");
bool Match(const GURL& origin,
int mask,
- ExtensionSpecialStoragePolicy* policy) {
+ storage::SpecialStoragePolicy* policy) {
return BrowsingDataHelper::DoesOriginMatchMask(origin, mask, policy);
}
TEST_F(BrowsingDataHelperTest, WebSafeSchemesAreWebSafe) {
EXPECT_TRUE(IsWebScheme(url::kHttpScheme));
EXPECT_TRUE(IsWebScheme(url::kHttpsScheme));
- EXPECT_TRUE(IsWebScheme(content::kFtpScheme));
- EXPECT_TRUE(IsWebScheme(content::kDataScheme));
+ EXPECT_TRUE(IsWebScheme(url::kFtpScheme));
+ EXPECT_TRUE(IsWebScheme(url::kDataScheme));
EXPECT_TRUE(IsWebScheme("feed"));
- EXPECT_TRUE(IsWebScheme(content::kBlobScheme));
- EXPECT_TRUE(IsWebScheme(content::kFileSystemScheme));
+ EXPECT_TRUE(IsWebScheme(url::kBlobScheme));
+ EXPECT_TRUE(IsWebScheme(url::kFileSystemScheme));
EXPECT_FALSE(IsWebScheme("invalid-scheme-i-just-made-up"));
}
TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotWebSafe) {
EXPECT_FALSE(IsWebScheme(extensions::kExtensionScheme));
- EXPECT_FALSE(IsWebScheme(content::kAboutScheme));
+ EXPECT_FALSE(IsWebScheme(url::kAboutScheme));
EXPECT_FALSE(IsWebScheme(content::kChromeDevToolsScheme));
EXPECT_FALSE(IsWebScheme(content::kChromeUIScheme));
- EXPECT_FALSE(IsWebScheme(content::kJavaScriptScheme));
- EXPECT_FALSE(IsWebScheme(content::kMailToScheme));
+ EXPECT_FALSE(IsWebScheme(url::kJavaScriptScheme));
+ EXPECT_FALSE(IsWebScheme(url::kMailToScheme));
EXPECT_FALSE(IsWebScheme(content::kMetadataScheme));
EXPECT_FALSE(IsWebScheme(content::kSwappedOutScheme));
EXPECT_FALSE(IsWebScheme(content::kViewSourceScheme));
TEST_F(BrowsingDataHelperTest, WebSafeSchemesAreNotExtensions) {
EXPECT_FALSE(IsExtensionScheme(url::kHttpScheme));
EXPECT_FALSE(IsExtensionScheme(url::kHttpsScheme));
- EXPECT_FALSE(IsExtensionScheme(content::kFtpScheme));
- EXPECT_FALSE(IsExtensionScheme(content::kDataScheme));
+ EXPECT_FALSE(IsExtensionScheme(url::kFtpScheme));
+ EXPECT_FALSE(IsExtensionScheme(url::kDataScheme));
EXPECT_FALSE(IsExtensionScheme("feed"));
- EXPECT_FALSE(IsExtensionScheme(content::kBlobScheme));
- EXPECT_FALSE(IsExtensionScheme(content::kFileSystemScheme));
+ EXPECT_FALSE(IsExtensionScheme(url::kBlobScheme));
+ EXPECT_FALSE(IsExtensionScheme(url::kFileSystemScheme));
EXPECT_FALSE(IsExtensionScheme("invalid-scheme-i-just-made-up"));
}
TEST_F(BrowsingDataHelperTest, ChromeSchemesAreNotAllExtension) {
EXPECT_TRUE(IsExtensionScheme(extensions::kExtensionScheme));
- EXPECT_FALSE(IsExtensionScheme(content::kAboutScheme));
+ EXPECT_FALSE(IsExtensionScheme(url::kAboutScheme));
EXPECT_FALSE(IsExtensionScheme(content::kChromeDevToolsScheme));
EXPECT_FALSE(IsExtensionScheme(content::kChromeUIScheme));
- EXPECT_FALSE(IsExtensionScheme(content::kJavaScriptScheme));
- EXPECT_FALSE(IsExtensionScheme(content::kMailToScheme));
+ EXPECT_FALSE(IsExtensionScheme(url::kJavaScriptScheme));
+ EXPECT_FALSE(IsExtensionScheme(url::kMailToScheme));
EXPECT_FALSE(IsExtensionScheme(content::kMetadataScheme));
EXPECT_FALSE(IsExtensionScheme(content::kSwappedOutScheme));
EXPECT_FALSE(IsExtensionScheme(content::kViewSourceScheme));
}
+#if defined(ENABLE_EXTENSIONS)
TEST_F(BrowsingDataHelperTest, TestMatches) {
scoped_refptr<MockExtensionSpecialStoragePolicy> mock_policy =
new MockExtensionSpecialStoragePolicy;
kUnprotected | kProtected | kExtension,
mock_policy.get()));
}
+#endif
+
+// If extensions are disabled, there is no policy.
+TEST_F(BrowsingDataHelperTest, TestNoPolicyMatches) {
+ EXPECT_FALSE(Match(kOrigin1, kExtension, NULL));
+ EXPECT_TRUE(Match(kOrigin1, kUnprotected, NULL));
+ EXPECT_FALSE(Match(kOrigin1, kProtected, NULL));
+
+ EXPECT_TRUE(Match(kOriginExt, kExtension, NULL));
+ EXPECT_FALSE(Match(kOriginExt, kUnprotected, NULL));
+ EXPECT_FALSE(Match(kOriginExt, kProtected, NULL));
+
+ EXPECT_FALSE(Match(kOriginDevTools, kExtension, NULL));
+ EXPECT_FALSE(Match(kOriginDevTools, kUnprotected, NULL));
+ EXPECT_FALSE(Match(kOriginDevTools, kProtected, NULL));
+}
} // namespace