• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2013 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 
5 #ifndef CEF_LIBCEF_COMMON_NET_SCHEME_INFO_H_
6 #define CEF_LIBCEF_COMMON_NET_SCHEME_INFO_H_
7 #pragma once
8 
9 #include <string>
10 
11 // Values are registered with all processes (url/url_util.h) and with Blink
12 // (SchemeRegistry) unless otherwise indicated.
13 struct CefSchemeInfo {
14   // Lower-case ASCII scheme name.
15   std::string scheme_name;
16 
17   // A scheme that is subject to URL canonicalization and parsing rules as
18   // defined in the Common Internet Scheme Syntax RFC 1738 Section 3.1
19   // available at http://www.ietf.org/rfc/rfc1738.txt.
20   // This value is not registered with Blink.
21   bool is_standard;
22 
23   // A scheme that will be treated the same as "file". For example, normal
24   // pages cannot link to or access URLs of this scheme.
25   bool is_local;
26 
27   // A scheme that can only be displayed from other content hosted with the
28   // same scheme. For example, pages in other origins cannot create iframes or
29   // hyperlinks to URLs with the scheme. For schemes that must be accessible
30   // from other schemes set this value to false, set |is_cors_enabled| to
31   // true, and use CORS "Access-Control-Allow-Origin" headers to further
32   // restrict access.
33   // This value is registered with Blink only.
34   bool is_display_isolated;
35 
36   // A scheme that will be treated the same as "https". For example, loading
37   // this scheme from other secure schemes will not trigger mixed content
38   // warnings.
39   bool is_secure;
40 
41   // A scheme that can be sent CORS requests. This value should be true in
42   // most cases where |is_standard| is true.
43   bool is_cors_enabled;
44 
45   // A scheme that can bypass Content-Security-Policy (CSP) checks. This value
46   // should be false in most cases where |is_standard| is true.
47   bool is_csp_bypassing;
48 
49   // A scheme that can perform fetch request.
50   bool is_fetch_enabled;
51 };
52 
53 #endif  // CEF_LIBCEF_COMMON_NET_SCHEME_INFO_H_
54