Replace AddCustomScheme bool arguments with int using bit flags
This commit is contained in:
parent
ba8b4e8b9d
commit
c72d57aa60
|
@ -33,7 +33,7 @@
|
||||||
// by hand. See the translator.README.txt file in the tools directory for
|
// by hand. See the translator.README.txt file in the tools directory for
|
||||||
// more information.
|
// more information.
|
||||||
//
|
//
|
||||||
// $hash=ba3b03834e2db16056cd2be805ec9f116a92e14e$
|
// $hash=1d4a363735a7274fb957905f47841c63301507f0$
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_
|
#ifndef CEF_INCLUDE_CAPI_CEF_SCHEME_CAPI_H_
|
||||||
|
@ -66,59 +66,7 @@ typedef struct _cef_scheme_registrar_t {
|
||||||
// Register a custom scheme. This function should not be called for the built-
|
// Register a custom scheme. This function should not be called for the built-
|
||||||
// in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes.
|
// in HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes.
|
||||||
//
|
//
|
||||||
// If |is_standard| is true (1) the scheme will be treated as a standard
|
// See cef_scheme_options_t for possible values for |options|.
|
||||||
// scheme. Standard schemes are subject to URL canonicalization and parsing
|
|
||||||
// rules as defined in the Common Internet Scheme Syntax RFC 1738 Section 3.1
|
|
||||||
// available at http://www.ietf.org/rfc/rfc1738.txt
|
|
||||||
//
|
|
||||||
// In particular, the syntax for standard scheme URLs must be of the form:
|
|
||||||
// <pre>
|
|
||||||
// [scheme]://[username]:[password]@[host]:[port]/[url-path]
|
|
||||||
// </pre> Standard scheme URLs must have a host component that is a fully
|
|
||||||
// qualified domain name as defined in Section 3.5 of RFC 1034 [13] and
|
|
||||||
// Section 2.1 of RFC 1123. These URLs will be canonicalized to
|
|
||||||
// "scheme://host/path" in the simplest case and
|
|
||||||
// "scheme://username:password@host:port/path" in the most explicit case. For
|
|
||||||
// example, "scheme:host/path" and "scheme:///host/path" will both be
|
|
||||||
// canonicalized to "scheme://host/path". The origin of a standard scheme URL
|
|
||||||
// is the combination of scheme, host and port (i.e., "scheme://host:port" in
|
|
||||||
// the most explicit case).
|
|
||||||
//
|
|
||||||
// For non-standard scheme URLs only the "scheme:" component is parsed and
|
|
||||||
// canonicalized. The remainder of the URL will be passed to the handler as-
|
|
||||||
// is. For example, "scheme:///some%20text" will remain the same. Non-standard
|
|
||||||
// scheme URLs cannot be used as a target for form submission.
|
|
||||||
//
|
|
||||||
// If |is_local| is true (1) the scheme will be treated with the same security
|
|
||||||
// rules as those applied to "file" URLs. Normal pages cannot link to or
|
|
||||||
// access local URLs. Also, by default, local URLs can only perform
|
|
||||||
// XMLHttpRequest calls to the same URL (origin + path) that originated the
|
|
||||||
// request. To allow XMLHttpRequest calls from a local URL to other URLs with
|
|
||||||
// the same origin set the CefSettings.file_access_from_file_urls_allowed
|
|
||||||
// value to true (1). To allow XMLHttpRequest calls from a local URL to all
|
|
||||||
// origins set the CefSettings.universal_access_from_file_urls_allowed value
|
|
||||||
// to true (1).
|
|
||||||
//
|
|
||||||
// If |is_display_isolated| is true (1) the scheme can only be displayed from
|
|
||||||
// other content hosted with the same scheme. For example, pages in other
|
|
||||||
// origins cannot create iframes or hyperlinks to URLs with the scheme. For
|
|
||||||
// schemes that must be accessible from other schemes set this value to false
|
|
||||||
// (0), set |is_cors_enabled| to true (1), and use CORS "Access-Control-Allow-
|
|
||||||
// Origin" headers to further restrict access.
|
|
||||||
//
|
|
||||||
// If |is_secure| is true (1) the scheme will be treated with the same
|
|
||||||
// security rules as those applied to "https" URLs. For example, loading this
|
|
||||||
// scheme from other secure schemes will not trigger mixed content warnings.
|
|
||||||
//
|
|
||||||
// If |is_cors_enabled| is true (1) the scheme can be sent CORS requests. This
|
|
||||||
// value should be true (1) in most cases where |is_standard| is true (1).
|
|
||||||
//
|
|
||||||
// If |is_csp_bypassing| is true (1) the scheme can bypass Content-Security-
|
|
||||||
// Policy (CSP) checks. This value should be false (0) in most cases where
|
|
||||||
// |is_standard| is true (1).
|
|
||||||
//
|
|
||||||
// If |is_fetch_enabled| is true (1) the scheme can perform Fetch API
|
|
||||||
// requests.
|
|
||||||
//
|
//
|
||||||
// This function may be called on any thread. It should only be called once
|
// This function may be called on any thread. It should only be called once
|
||||||
// per unique |scheme_name| value. If |scheme_name| is already registered or
|
// per unique |scheme_name| value. If |scheme_name| is already registered or
|
||||||
|
@ -126,13 +74,7 @@ typedef struct _cef_scheme_registrar_t {
|
||||||
///
|
///
|
||||||
int(CEF_CALLBACK* add_custom_scheme)(struct _cef_scheme_registrar_t* self,
|
int(CEF_CALLBACK* add_custom_scheme)(struct _cef_scheme_registrar_t* self,
|
||||||
const cef_string_t* scheme_name,
|
const cef_string_t* scheme_name,
|
||||||
int is_standard,
|
int options);
|
||||||
int is_local,
|
|
||||||
int is_display_isolated,
|
|
||||||
int is_secure,
|
|
||||||
int is_cors_enabled,
|
|
||||||
int is_csp_bypassing,
|
|
||||||
int is_fetch_enabled);
|
|
||||||
} cef_scheme_registrar_t;
|
} cef_scheme_registrar_t;
|
||||||
|
|
||||||
///
|
///
|
||||||
|
|
|
@ -86,72 +86,14 @@ class CefSchemeRegistrar : public CefBaseScoped {
|
||||||
// Register a custom scheme. This method should not be called for the built-in
|
// Register a custom scheme. This method should not be called for the built-in
|
||||||
// HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes.
|
// HTTP, HTTPS, FILE, FTP, ABOUT and DATA schemes.
|
||||||
//
|
//
|
||||||
// If |is_standard| is true the scheme will be treated as a standard scheme.
|
// See cef_scheme_options_t for possible values for |options|.
|
||||||
// Standard schemes are subject to URL canonicalization and parsing rules as
|
|
||||||
// defined in the Common Internet Scheme Syntax RFC 1738 Section 3.1 available
|
|
||||||
// at http://www.ietf.org/rfc/rfc1738.txt
|
|
||||||
//
|
|
||||||
// In particular, the syntax for standard scheme URLs must be of the form:
|
|
||||||
// <pre>
|
|
||||||
// [scheme]://[username]:[password]@[host]:[port]/[url-path]
|
|
||||||
// </pre>
|
|
||||||
// Standard scheme URLs must have a host component that is a fully qualified
|
|
||||||
// domain name as defined in Section 3.5 of RFC 1034 [13] and Section 2.1 of
|
|
||||||
// RFC 1123. These URLs will be canonicalized to "scheme://host/path" in the
|
|
||||||
// simplest case and "scheme://username:password@host:port/path" in the most
|
|
||||||
// explicit case. For example, "scheme:host/path" and "scheme:///host/path"
|
|
||||||
// will both be canonicalized to "scheme://host/path". The origin of a
|
|
||||||
// standard scheme URL is the combination of scheme, host and port (i.e.,
|
|
||||||
// "scheme://host:port" in the most explicit case).
|
|
||||||
//
|
|
||||||
// For non-standard scheme URLs only the "scheme:" component is parsed and
|
|
||||||
// canonicalized. The remainder of the URL will be passed to the handler
|
|
||||||
// as-is. For example, "scheme:///some%20text" will remain the same.
|
|
||||||
// Non-standard scheme URLs cannot be used as a target for form submission.
|
|
||||||
//
|
|
||||||
// If |is_local| is true the scheme will be treated with the same security
|
|
||||||
// rules as those applied to "file" URLs. Normal pages cannot link to or
|
|
||||||
// access local URLs. Also, by default, local URLs can only perform
|
|
||||||
// XMLHttpRequest calls to the same URL (origin + path) that originated the
|
|
||||||
// request. To allow XMLHttpRequest calls from a local URL to other URLs with
|
|
||||||
// the same origin set the CefSettings.file_access_from_file_urls_allowed
|
|
||||||
// value to true. To allow XMLHttpRequest calls from a local URL to all
|
|
||||||
// origins set the CefSettings.universal_access_from_file_urls_allowed value
|
|
||||||
// to true.
|
|
||||||
//
|
|
||||||
// If |is_display_isolated| is true the scheme can only be displayed from
|
|
||||||
// other content hosted with the same scheme. For example, pages in other
|
|
||||||
// origins cannot create iframes or hyperlinks to URLs with the scheme. For
|
|
||||||
// schemes that must be accessible from other schemes set this value to false,
|
|
||||||
// set |is_cors_enabled| to true, and use CORS "Access-Control-Allow-Origin"
|
|
||||||
// headers to further restrict access.
|
|
||||||
//
|
|
||||||
// If |is_secure| is true the scheme will be treated with the same security
|
|
||||||
// rules as those applied to "https" URLs. For example, loading this scheme
|
|
||||||
// from other secure schemes will not trigger mixed content warnings.
|
|
||||||
//
|
|
||||||
// If |is_cors_enabled| is true the scheme can be sent CORS requests. This
|
|
||||||
// value should be true in most cases where |is_standard| is true.
|
|
||||||
//
|
|
||||||
// If |is_csp_bypassing| is true the scheme can bypass Content-Security-Policy
|
|
||||||
// (CSP) checks. This value should be false in most cases where |is_standard|
|
|
||||||
// is true.
|
|
||||||
//
|
|
||||||
// If |is_fetch_enabled| is true the scheme can perform Fetch API requests.
|
|
||||||
//
|
//
|
||||||
// This function may be called on any thread. It should only be called once
|
// This function may be called on any thread. It should only be called once
|
||||||
// per unique |scheme_name| value. If |scheme_name| is already registered or
|
// per unique |scheme_name| value. If |scheme_name| is already registered or
|
||||||
// if an error occurs this method will return false.
|
// if an error occurs this method will return false.
|
||||||
///
|
///
|
||||||
/*--cef()--*/
|
/*--cef()--*/
|
||||||
virtual bool AddCustomScheme(const CefString& scheme_name,
|
virtual bool AddCustomScheme(const CefString& scheme_name, int options) = 0;
|
||||||
bool is_standard,
|
|
||||||
bool is_local,
|
|
||||||
bool is_display_isolated,
|
|
||||||
bool is_secure,
|
|
||||||
bool is_cors_enabled,
|
|
||||||
bool is_csp_bypassing,
|
|
||||||
bool is_fetch_enabled) = 0;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
///
|
///
|
||||||
|
|
|
@ -2745,6 +2745,90 @@ typedef enum {
|
||||||
SSL_CONTENT_RAN_INSECURE_CONTENT = 1 << 1,
|
SSL_CONTENT_RAN_INSECURE_CONTENT = 1 << 1,
|
||||||
} cef_ssl_content_status_t;
|
} cef_ssl_content_status_t;
|
||||||
|
|
||||||
|
//
|
||||||
|
// Configuration options for registering a custom scheme.
|
||||||
|
// These values are used when calling AddCustomScheme.
|
||||||
|
//
|
||||||
|
typedef enum {
|
||||||
|
CEF_SCHEME_OPTION_NONE = 0,
|
||||||
|
|
||||||
|
///
|
||||||
|
// If CEF_SCHEME_OPTION_STANDARD is set the scheme will be treated as a
|
||||||
|
// standard scheme. Standard schemes are subject to URL canonicalization and
|
||||||
|
// parsing rules as defined in the Common Internet Scheme Syntax RFC 1738
|
||||||
|
// Section 3.1 available at http://www.ietf.org/rfc/rfc1738.txt
|
||||||
|
//
|
||||||
|
// In particular, the syntax for standard scheme URLs must be of the form:
|
||||||
|
// <pre>
|
||||||
|
// [scheme]://[username]:[password]@[host]:[port]/[url-path]
|
||||||
|
// </pre> Standard scheme URLs must have a host component that is a fully
|
||||||
|
// qualified domain name as defined in Section 3.5 of RFC 1034 [13] and
|
||||||
|
// Section 2.1 of RFC 1123. These URLs will be canonicalized to
|
||||||
|
// "scheme://host/path" in the simplest case and
|
||||||
|
// "scheme://username:password@host:port/path" in the most explicit case. For
|
||||||
|
// example, "scheme:host/path" and "scheme:///host/path" will both be
|
||||||
|
// canonicalized to "scheme://host/path". The origin of a standard scheme URL
|
||||||
|
// is the combination of scheme, host and port (i.e., "scheme://host:port" in
|
||||||
|
// the most explicit case).
|
||||||
|
//
|
||||||
|
// For non-standard scheme URLs only the "scheme:" component is parsed and
|
||||||
|
// canonicalized. The remainder of the URL will be passed to the handler as-
|
||||||
|
// is. For example, "scheme:///some%20text" will remain the same. Non-standard
|
||||||
|
// scheme URLs cannot be used as a target for form submission.
|
||||||
|
///
|
||||||
|
CEF_SCHEME_OPTION_STANDARD = 1 << 0,
|
||||||
|
|
||||||
|
///
|
||||||
|
// If CEF_SCHEME_OPTION_LOCAL is set the scheme will be treated with the same
|
||||||
|
// security rules as those applied to "file" URLs. Normal pages cannot link to
|
||||||
|
// or access local URLs. Also, by default, local URLs can only perform
|
||||||
|
// XMLHttpRequest calls to the same URL (origin + path) that originated the
|
||||||
|
// request. To allow XMLHttpRequest calls from a local URL to other URLs with
|
||||||
|
// the same origin set the CefSettings.file_access_from_file_urls_allowed
|
||||||
|
// value to true (1). To allow XMLHttpRequest calls from a local URL to all
|
||||||
|
// origins set the CefSettings.universal_access_from_file_urls_allowed value
|
||||||
|
// to true (1).
|
||||||
|
///
|
||||||
|
CEF_SCHEME_OPTION_LOCAL = 1 << 1,
|
||||||
|
|
||||||
|
///
|
||||||
|
// If CEF_SCHEME_OPTION_DISPLAY_ISOLATED is set the scheme can only be
|
||||||
|
// displayed from other content hosted with the same scheme. For example,
|
||||||
|
// pages in other origins cannot create iframes or hyperlinks to URLs with the
|
||||||
|
// scheme. For schemes that must be accessible from other schemes don't set
|
||||||
|
// this, set CEF_SCHEME_OPTION_CORS_ENABLED, and use CORS
|
||||||
|
// "Access-Control-Allow-Origin" headers to further restrict access.
|
||||||
|
///
|
||||||
|
CEF_SCHEME_OPTION_DISPLAY_ISOLATED = 1 << 2,
|
||||||
|
|
||||||
|
///
|
||||||
|
// If CEF_SCHEME_OPTION_SECURE is set the scheme will be treated with the same
|
||||||
|
// security rules as those applied to "https" URLs. For example, loading this
|
||||||
|
// scheme from other secure schemes will not trigger mixed content warnings.
|
||||||
|
///
|
||||||
|
CEF_SCHEME_OPTION_SECURE = 1 << 3,
|
||||||
|
|
||||||
|
///
|
||||||
|
// If CEF_SCHEME_OPTION_CORS_ENABLED is set the scheme can be sent CORS
|
||||||
|
// requests. This value should be set in most cases where
|
||||||
|
// CEF_SCHEME_OPTION_STANDARD is set.
|
||||||
|
///
|
||||||
|
CEF_SCHEME_OPTION_CORS_ENABLED = 1 << 4,
|
||||||
|
|
||||||
|
///
|
||||||
|
// If CEF_SCHEME_OPTION_CSP_BYPASSING is set the scheme can bypass Content-
|
||||||
|
// Security-Policy (CSP) checks. This value should not be set in most cases
|
||||||
|
// where CEF_SCHEME_OPTION_STANDARD is set.
|
||||||
|
///
|
||||||
|
CEF_SCHEME_OPTION_CSP_BYPASSING = 1 << 5,
|
||||||
|
|
||||||
|
///
|
||||||
|
// If CEF_SCHEME_OPTION_FETCH_ENABLED is set the scheme can perform Fetch API
|
||||||
|
// requests.
|
||||||
|
///
|
||||||
|
CEF_SCHEME_OPTION_FETCH_ENABLED = 1 << 6,
|
||||||
|
} cef_scheme_options_t;
|
||||||
|
|
||||||
///
|
///
|
||||||
// Error codes for CDM registration. See cef_web_plugin.h for details.
|
// Error codes for CDM registration. See cef_web_plugin.h for details.
|
||||||
///
|
///
|
||||||
|
|
|
@ -21,18 +21,12 @@ void AppendArray(const std::vector<std::string>& source,
|
||||||
return;
|
return;
|
||||||
target->insert(target->end(), source.begin(), source.end());
|
target->insert(target->end(), source.begin(), source.end());
|
||||||
}
|
}
|
||||||
}
|
} // namespace
|
||||||
|
|
||||||
CefSchemeRegistrarImpl::CefSchemeRegistrarImpl() {}
|
CefSchemeRegistrarImpl::CefSchemeRegistrarImpl() {}
|
||||||
|
|
||||||
bool CefSchemeRegistrarImpl::AddCustomScheme(const CefString& scheme_name,
|
bool CefSchemeRegistrarImpl::AddCustomScheme(const CefString& scheme_name,
|
||||||
bool is_standard,
|
int options) {
|
||||||
bool is_local,
|
|
||||||
bool is_display_isolated,
|
|
||||||
bool is_secure,
|
|
||||||
bool is_cors_enabled,
|
|
||||||
bool is_csp_bypassing,
|
|
||||||
bool is_fetch_enabled) {
|
|
||||||
const std::string& scheme = base::ToLowerASCII(scheme_name.ToString());
|
const std::string& scheme = base::ToLowerASCII(scheme_name.ToString());
|
||||||
if (scheme::IsInternalHandledScheme(scheme) ||
|
if (scheme::IsInternalHandledScheme(scheme) ||
|
||||||
registered_schemes_.find(scheme) != registered_schemes_.end()) {
|
registered_schemes_.find(scheme) != registered_schemes_.end()) {
|
||||||
|
@ -41,6 +35,14 @@ bool CefSchemeRegistrarImpl::AddCustomScheme(const CefString& scheme_name,
|
||||||
|
|
||||||
registered_schemes_.insert(scheme);
|
registered_schemes_.insert(scheme);
|
||||||
|
|
||||||
|
const bool is_standard = options & CEF_SCHEME_OPTION_STANDARD;
|
||||||
|
const bool is_local = options & CEF_SCHEME_OPTION_LOCAL;
|
||||||
|
const bool is_display_isolated = options & CEF_SCHEME_OPTION_DISPLAY_ISOLATED;
|
||||||
|
const bool is_secure = options & CEF_SCHEME_OPTION_SECURE;
|
||||||
|
const bool is_cors_enabled = options & CEF_SCHEME_OPTION_CORS_ENABLED;
|
||||||
|
const bool is_csp_bypassing = options & CEF_SCHEME_OPTION_CSP_BYPASSING;
|
||||||
|
const bool is_fetch_enabled = options & CEF_SCHEME_OPTION_FETCH_ENABLED;
|
||||||
|
|
||||||
// The |is_display_isolated| value is excluded here because it's registered
|
// The |is_display_isolated| value is excluded here because it's registered
|
||||||
// with Blink only.
|
// with Blink only.
|
||||||
if (is_standard)
|
if (is_standard)
|
||||||
|
|
|
@ -18,14 +18,7 @@ class CefSchemeRegistrarImpl : public CefSchemeRegistrar {
|
||||||
CefSchemeRegistrarImpl();
|
CefSchemeRegistrarImpl();
|
||||||
|
|
||||||
// CefSchemeRegistrar methods.
|
// CefSchemeRegistrar methods.
|
||||||
bool AddCustomScheme(const CefString& scheme_name,
|
bool AddCustomScheme(const CefString& scheme_name, int options) override;
|
||||||
bool is_standard,
|
|
||||||
bool is_local,
|
|
||||||
bool is_display_isolated,
|
|
||||||
bool is_secure,
|
|
||||||
bool is_cors_enabled,
|
|
||||||
bool is_csp_bypassing,
|
|
||||||
bool is_fetch_enabled) override;
|
|
||||||
|
|
||||||
void GetSchemes(content::ContentClient::Schemes* schemes);
|
void GetSchemes(content::ContentClient::Schemes* schemes);
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
// implementations. See the translator.README.txt file in the tools directory
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
// for more information.
|
// for more information.
|
||||||
//
|
//
|
||||||
// $hash=5ceb0e97ddd8a7f8005eb9ee78f9b8a938896586$
|
// $hash=614c8379cf69b72edaf8b590da66aaa3264e511e$
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "libcef_dll/cpptoc/scheme_registrar_cpptoc.h"
|
#include "libcef_dll/cpptoc/scheme_registrar_cpptoc.h"
|
||||||
|
@ -21,13 +21,7 @@ namespace {
|
||||||
int CEF_CALLBACK
|
int CEF_CALLBACK
|
||||||
scheme_registrar_add_custom_scheme(struct _cef_scheme_registrar_t* self,
|
scheme_registrar_add_custom_scheme(struct _cef_scheme_registrar_t* self,
|
||||||
const cef_string_t* scheme_name,
|
const cef_string_t* scheme_name,
|
||||||
int is_standard,
|
int options) {
|
||||||
int is_local,
|
|
||||||
int is_display_isolated,
|
|
||||||
int is_secure,
|
|
||||||
int is_cors_enabled,
|
|
||||||
int is_csp_bypassing,
|
|
||||||
int is_fetch_enabled) {
|
|
||||||
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||||
|
|
||||||
DCHECK(self);
|
DCHECK(self);
|
||||||
|
@ -40,10 +34,7 @@ scheme_registrar_add_custom_scheme(struct _cef_scheme_registrar_t* self,
|
||||||
|
|
||||||
// Execute
|
// Execute
|
||||||
bool _retval = CefSchemeRegistrarCppToC::Get(self)->AddCustomScheme(
|
bool _retval = CefSchemeRegistrarCppToC::Get(self)->AddCustomScheme(
|
||||||
CefString(scheme_name), is_standard ? true : false,
|
CefString(scheme_name), options);
|
||||||
is_local ? true : false, is_display_isolated ? true : false,
|
|
||||||
is_secure ? true : false, is_cors_enabled ? true : false,
|
|
||||||
is_csp_bypassing ? true : false, is_fetch_enabled ? true : false);
|
|
||||||
|
|
||||||
// Return type: bool
|
// Return type: bool
|
||||||
return _retval;
|
return _retval;
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
// implementations. See the translator.README.txt file in the tools directory
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
// for more information.
|
// for more information.
|
||||||
//
|
//
|
||||||
// $hash=cd85708cf16cdb2b3359094b1a9645ab6338c059$
|
// $hash=b114df75241a43b240b00eb12509473eaa492dd0$
|
||||||
//
|
//
|
||||||
|
|
||||||
#include "libcef_dll/ctocpp/scheme_registrar_ctocpp.h"
|
#include "libcef_dll/ctocpp/scheme_registrar_ctocpp.h"
|
||||||
|
@ -18,13 +18,7 @@
|
||||||
|
|
||||||
NO_SANITIZE("cfi-icall")
|
NO_SANITIZE("cfi-icall")
|
||||||
bool CefSchemeRegistrarCToCpp::AddCustomScheme(const CefString& scheme_name,
|
bool CefSchemeRegistrarCToCpp::AddCustomScheme(const CefString& scheme_name,
|
||||||
bool is_standard,
|
int options) {
|
||||||
bool is_local,
|
|
||||||
bool is_display_isolated,
|
|
||||||
bool is_secure,
|
|
||||||
bool is_cors_enabled,
|
|
||||||
bool is_csp_bypassing,
|
|
||||||
bool is_fetch_enabled) {
|
|
||||||
cef_scheme_registrar_t* _struct = GetStruct();
|
cef_scheme_registrar_t* _struct = GetStruct();
|
||||||
if (CEF_MEMBER_MISSING(_struct, add_custom_scheme))
|
if (CEF_MEMBER_MISSING(_struct, add_custom_scheme))
|
||||||
return false;
|
return false;
|
||||||
|
@ -37,10 +31,8 @@ bool CefSchemeRegistrarCToCpp::AddCustomScheme(const CefString& scheme_name,
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Execute
|
// Execute
|
||||||
int _retval = _struct->add_custom_scheme(
|
int _retval =
|
||||||
_struct, scheme_name.GetStruct(), is_standard, is_local,
|
_struct->add_custom_scheme(_struct, scheme_name.GetStruct(), options);
|
||||||
is_display_isolated, is_secure, is_cors_enabled, is_csp_bypassing,
|
|
||||||
is_fetch_enabled);
|
|
||||||
|
|
||||||
// Return type: bool
|
// Return type: bool
|
||||||
return _retval ? true : false;
|
return _retval ? true : false;
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
// implementations. See the translator.README.txt file in the tools directory
|
// implementations. See the translator.README.txt file in the tools directory
|
||||||
// for more information.
|
// for more information.
|
||||||
//
|
//
|
||||||
// $hash=b3cac10a32964e7c29eb39cfb7e2fda4c3f869f9$
|
// $hash=3664a7285a3f5eac9bc7522a2b812bdaf5d42467$
|
||||||
//
|
//
|
||||||
|
|
||||||
#ifndef CEF_LIBCEF_DLL_CTOCPP_SCHEME_REGISTRAR_CTOCPP_H_
|
#ifndef CEF_LIBCEF_DLL_CTOCPP_SCHEME_REGISTRAR_CTOCPP_H_
|
||||||
|
@ -35,14 +35,7 @@ class CefSchemeRegistrarCToCpp
|
||||||
virtual ~CefSchemeRegistrarCToCpp();
|
virtual ~CefSchemeRegistrarCToCpp();
|
||||||
|
|
||||||
// CefSchemeRegistrar methods.
|
// CefSchemeRegistrar methods.
|
||||||
bool AddCustomScheme(const CefString& scheme_name,
|
bool AddCustomScheme(const CefString& scheme_name, int options) OVERRIDE;
|
||||||
bool is_standard,
|
|
||||||
bool is_local,
|
|
||||||
bool is_display_isolated,
|
|
||||||
bool is_secure,
|
|
||||||
bool is_cors_enabled,
|
|
||||||
bool is_csp_bypassing,
|
|
||||||
bool is_fetch_enabled) OVERRIDE;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CEF_LIBCEF_DLL_CTOCPP_SCHEME_REGISTRAR_CTOCPP_H_
|
#endif // CEF_LIBCEF_DLL_CTOCPP_SCHEME_REGISTRAR_CTOCPP_H_
|
||||||
|
|
|
@ -11,8 +11,8 @@ namespace scheme_test {
|
||||||
|
|
||||||
void RegisterCustomSchemes(CefRawPtr<CefSchemeRegistrar> registrar,
|
void RegisterCustomSchemes(CefRawPtr<CefSchemeRegistrar> registrar,
|
||||||
std::vector<CefString>& cookiable_schemes) {
|
std::vector<CefString>& cookiable_schemes) {
|
||||||
registrar->AddCustomScheme("client", true, false, false, false, true, false,
|
registrar->AddCustomScheme(
|
||||||
false);
|
"client", CEF_SCHEME_OPTION_STANDARD | CEF_SCHEME_OPTION_CORS_ENABLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace scheme_test
|
} // namespace scheme_test
|
||||||
|
|
|
@ -1333,6 +1333,6 @@ TEST(CookieTest, GetCookieManagerCustom) {
|
||||||
void RegisterCookieCustomSchemes(CefRawPtr<CefSchemeRegistrar> registrar,
|
void RegisterCookieCustomSchemes(CefRawPtr<CefSchemeRegistrar> registrar,
|
||||||
std::vector<CefString>& cookiable_schemes) {
|
std::vector<CefString>& cookiable_schemes) {
|
||||||
// Used by GetCookieManagerCustom test.
|
// Used by GetCookieManagerCustom test.
|
||||||
registrar->AddCustomScheme("ccustom", true, false, false, false, true, false,
|
registrar->AddCustomScheme(
|
||||||
false);
|
"ccustom", CEF_SCHEME_OPTION_STANDARD | CEF_SCHEME_OPTION_CORS_ENABLED);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2114,13 +2114,14 @@ void RegisterSchemeHandlerCustomSchemes(
|
||||||
CefRawPtr<CefSchemeRegistrar> registrar,
|
CefRawPtr<CefSchemeRegistrar> registrar,
|
||||||
std::vector<CefString>& cookiable_schemes) {
|
std::vector<CefString>& cookiable_schemes) {
|
||||||
// Add a custom standard scheme.
|
// Add a custom standard scheme.
|
||||||
registrar->AddCustomScheme("customstd", true, false, false, false, true,
|
registrar->AddCustomScheme(
|
||||||
false, false);
|
"customstd", CEF_SCHEME_OPTION_STANDARD | CEF_SCHEME_OPTION_CORS_ENABLED);
|
||||||
registrar->AddCustomScheme("customstdfetch", true, false, false, false, true,
|
registrar->AddCustomScheme("customstdfetch",
|
||||||
false, true);
|
CEF_SCHEME_OPTION_STANDARD |
|
||||||
|
CEF_SCHEME_OPTION_CORS_ENABLED |
|
||||||
|
CEF_SCHEME_OPTION_FETCH_ENABLED);
|
||||||
// Add a custom non-standard scheme.
|
// Add a custom non-standard scheme.
|
||||||
registrar->AddCustomScheme("customnonstd", false, false, false, false, false,
|
registrar->AddCustomScheme("customnonstd", CEF_SCHEME_OPTION_NONE);
|
||||||
false, false);
|
registrar->AddCustomScheme("customnonstdfetch",
|
||||||
registrar->AddCustomScheme("customnonstdfetch", false, false, false, false,
|
CEF_SCHEME_OPTION_FETCH_ENABLED);
|
||||||
false, false, true);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2246,8 +2246,8 @@ void RegisterURLRequestCustomSchemes(
|
||||||
CefRawPtr<CefSchemeRegistrar> registrar,
|
CefRawPtr<CefSchemeRegistrar> registrar,
|
||||||
std::vector<CefString>& cookiable_schemes) {
|
std::vector<CefString>& cookiable_schemes) {
|
||||||
const std::string& scheme = GetRequestScheme(false);
|
const std::string& scheme = GetRequestScheme(false);
|
||||||
registrar->AddCustomScheme(scheme, true, false, false, false, true, false,
|
registrar->AddCustomScheme(
|
||||||
false);
|
scheme, CEF_SCHEME_OPTION_STANDARD | CEF_SCHEME_OPTION_CORS_ENABLED);
|
||||||
cookiable_schemes.push_back(scheme);
|
cookiable_schemes.push_back(scheme);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue