• 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 "extensions/common/constants.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "third_party/WebKit/public/platform/WebURL.h"
12 #include "third_party/WebKit/public/web/WebSecurityOrigin.h"
13 #include "url/gurl.h"
14 
15 using blink::WebSecurityOrigin;
16 
17 typedef testing::Test ContentSettingsObserverTest;
18 
TEST_F(ContentSettingsObserverTest,WhitelistedSchemes)19 TEST_F(ContentSettingsObserverTest, WhitelistedSchemes) {
20   std::string end_url = ":something";
21 
22   GURL chrome_ui_url =
23       GURL(std::string(content::kChromeUIScheme).append(end_url));
24   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
25       WebSecurityOrigin::create(chrome_ui_url),
26       GURL()));
27 
28   GURL chrome_dev_tools_url =
29       GURL(std::string(content::kChromeDevToolsScheme).append(end_url));
30   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
31       WebSecurityOrigin::create(chrome_dev_tools_url),
32       GURL()));
33 
34   GURL extension_url =
35       GURL(std::string(extensions::kExtensionScheme).append(end_url));
36   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
37       WebSecurityOrigin::create(extension_url),
38       GURL()));
39 
40   GURL file_url("file:///dir/");
41   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
42       WebSecurityOrigin::create(file_url),
43       GURL("file:///dir/")));
44   EXPECT_FALSE(ContentSettingsObserver::IsWhitelistedForContentSettings(
45       WebSecurityOrigin::create(file_url),
46       GURL("file:///dir/file")));
47 
48   GURL http_url =
49       GURL("http://server.com/path");
50   EXPECT_FALSE(ContentSettingsObserver::IsWhitelistedForContentSettings(
51       WebSecurityOrigin::create(http_url),
52       GURL()));
53 }
54