Home | History | Annotate | Download | only in renderer
      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 
     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