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)19TEST_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