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