• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "chrome/renderer/content_settings_observer.h"
6 
7 #include "chrome/common/url_constants.h"
8 #include "content/public/common/url_constants.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10 #include "third_party/WebKit/public/platform/WebURL.h"
11 #include "third_party/WebKit/public/web/WebSecurityOrigin.h"
12 #include "url/gurl.h"
13 
14 #if defined(ENABLE_EXTENSIONS)
15 #include "extensions/common/constants.h"
16 #endif
17 
18 using blink::WebSecurityOrigin;
19 
20 typedef testing::Test ContentSettingsObserverTest;
21 
TEST_F(ContentSettingsObserverTest,WhitelistedSchemes)22 TEST_F(ContentSettingsObserverTest, WhitelistedSchemes) {
23   std::string end_url = ":something";
24 
25   GURL chrome_ui_url =
26       GURL(std::string(content::kChromeUIScheme).append(end_url));
27   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
28       WebSecurityOrigin::create(chrome_ui_url),
29       GURL()));
30 
31   GURL chrome_dev_tools_url =
32       GURL(std::string(content::kChromeDevToolsScheme).append(end_url));
33   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
34       WebSecurityOrigin::create(chrome_dev_tools_url),
35       GURL()));
36 
37 #if defined(ENABLE_EXTENSIONS)
38   GURL extension_url =
39       GURL(std::string(extensions::kExtensionScheme).append(end_url));
40   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
41       WebSecurityOrigin::create(extension_url),
42       GURL()));
43 #endif
44 
45   GURL file_url("file:///dir/");
46   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
47       WebSecurityOrigin::create(file_url),
48       GURL("file:///dir/")));
49   EXPECT_FALSE(ContentSettingsObserver::IsWhitelistedForContentSettings(
50       WebSecurityOrigin::create(file_url),
51       GURL("file:///dir/file")));
52 
53   GURL http_url =
54       GURL("http://server.com/path");
55   EXPECT_FALSE(ContentSettingsObserver::IsWhitelistedForContentSettings(
56       WebSecurityOrigin::create(http_url),
57       GURL()));
58 }
59