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.
5 #include "chrome/renderer/content_settings_observer.h"
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"
14 #if defined(ENABLE_EXTENSIONS)
15 #include "extensions/common/constants.h"
18 using blink::WebSecurityOrigin
;
20 typedef testing::Test ContentSettingsObserverTest
;
22 TEST_F(ContentSettingsObserverTest
, WhitelistedSchemes
) {
23 std::string end_url
= ":something";
26 GURL(std::string(content::kChromeUIScheme
).append(end_url
));
27 EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
28 WebSecurityOrigin::create(chrome_ui_url
),
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
),
37 #if defined(ENABLE_EXTENSIONS)
39 GURL(std::string(extensions::kExtensionScheme
).append(end_url
));
40 EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
41 WebSecurityOrigin::create(extension_url
),
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")));
54 GURL("http://server.com/path");
55 EXPECT_FALSE(ContentSettingsObserver::IsWhitelistedForContentSettings(
56 WebSecurityOrigin::create(http_url
),