diff --git a/README.md b/README.md index b80a64c0..9e867ecd 100644 --- a/README.md +++ b/README.md @@ -3,15 +3,15 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the LICENSE.md file. -CEF4Delphi uses CEF 142.0.17 which includes Chromium 142.0.7444.176. +CEF4Delphi uses CEF 143.0.9 which includes Chromium 143.0.7499.40. The CEF binaries used by CEF4Delphi are available for download at Spotify : -* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_142.0.17%2Bg60aac24%2Bchromium-142.0.7444.176_windows32.tar.bz2) -* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_142.0.17%2Bg60aac24%2Bchromium-142.0.7444.176_windows64.tar.bz2) -* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_142.0.17%2Bg60aac24%2Bchromium-142.0.7444.176_linux64.tar.bz2) -* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_142.0.17%2Bg60aac24%2Bchromium-142.0.7444.176_linuxarm.tar.bz2) -* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_142.0.17%2Bg60aac24%2Bchromium-142.0.7444.176_linuxarm64.tar.bz2) -* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_142.0.17%2Bg60aac24%2Bchromium-142.0.7444.176_macosx64.tar.bz2) +* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_143.0.9%2Bge88e818%2Bchromium-143.0.7499.40_windows32.tar.bz2) +* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_143.0.9%2Bge88e818%2Bchromium-143.0.7499.40_windows64.tar.bz2) +* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_143.0.9%2Bge88e818%2Bchromium-143.0.7499.40_linux64.tar.bz2) +* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_143.0.9%2Bge88e818%2Bchromium-143.0.7499.40_linuxarm.tar.bz2) +* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_143.0.9%2Bge88e818%2Bchromium-143.0.7499.40_linuxarm64.tar.bz2) +* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_143.0.9%2Bge88e818%2Bchromium-143.0.7499.40_macosx64.tar.bz2) CEF4Delphi was developed and tested on Delphi 13 and it has been tested in Delphi 6, Delphi XE, Delphi 10, Delphi 11 and Lazarus 4.4/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components. diff --git a/docs/cef4delphi.chm b/docs/cef4delphi.chm index f0ad2a42..1c252be2 100644 Binary files a/docs/cef4delphi.chm and b/docs/cef4delphi.chm differ diff --git a/docs/html/AllConstants.html b/docs/html/AllConstants.html index 35fc648b..d3719685 100644 --- a/docs/html/AllConstants.html +++ b/docs/html/AllConstants.html @@ -1985,22 +1985,22 @@
The request was blocked by fingerprinting protections.
The connection is blocked by private network access checks.
The request was blocked by CORB or ORB.
The connection is blocked by private network access checks.
The request failed because the response was delivered along with requirements which are not met ('X-Frame-Options' and 'Content-Security-Policy' ancestor checks and 'Cross-Origin-Resource-Policy' for instance).
The IP address space of the cached remote endpoint is blocked by private network access check.
The scheme of the URL is disallowed.
Returned when DNS cache invalidation is in progress. This is a transient error. Callers may want to retry later.
DNS resolver received a malformed response.
DNS identified the request as disallowed for insecure connection (http/ws). Error should be handled as if an HTTP redirect was received to redirect to https or wss.
The hostname resolution of HTTPS record was expected to be resolved with alpn values of supported protocols, but did not.
All DNS requests associated with this job have been cancelled.
Suffix search list rules prevent resolution of the given host name.
When checking whether secure DNS can be used, the response returned for the requested probe record either had no answer or was invalid.
Failed to resolve the hostname of a DNS-over-HTTPS server.
DNS server failed. This error is returned for all of the following error conditions: 1 - Format error - The name server was unable to interpret the query. 2 - Server failure - The name server was unable to process this query due to a problem with the name server. 4 - Not Implemented - The name server does not support the requested kind of query. 5 - Refused - The name server refuses to perform the specified operation for policy reasons.
DNS server requires TCP
Failed to sort addresses according to RFC3484.
DNS transaction timed out.
TLS 1.3 early data was rejected by the server. This will be received before any data is returned from the socket. The request should be retried with early data disabled.
ECH was enabled, the server was unable to decrypt the encrypted ClientHello, and additionally did not present a certificate valid for the public name.
ECH was enabled, but the server was unable to decrypt the encrypted ClientHello.
The server closed the connection without sending any data.
Converting the response to target encoding failed.
Detecting the encoding of the response failed.
A generic failure occurred.
The file already exists.
The file or directory cannot be found.
Not enough room left on the disk.
The path or file name is too long.
The file is too large.
The file has a virus.
There are too many pending DNS resolves, so a request in the queue was aborted.
A request to create an SSL tunnel connection through the HTTPS proxy received a 302 (temporary redirect) response. The response body might include a description of why the request failed.
TODO(crbug.com/40093955): This is deprecated and should not be used by new code.
HTTP_1_1_REQUIRED error code received on HTTP/2 session.
The server returned a non-2xx HTTP response code.
Note that this error is only used by certain APIs that interpret the HTTP response itself. URLRequest for instance just passes most non-2xx response back as success.
Resolving a hostname to an IP address list included the IPv4 address "127.0.53.53". This is a special IP address which ICANN has recommended to indicate there was a name collision, and alert admins to a potential problem.
CA import failed due to some other error.
CA import failed - not a CA cert.
Import failed - certificate already exists in database. Note it's a little weird this is an error but reimporting a PKCS12 is ok (no-op). That's how Mozilla does it, though.
Server certificate import failed due to some internal error.
The HTTP response body is transferred with Chunked-Encoding, but the terminating zero-length chunk was never sent when the connection is closed.
HTTP/2 headers have been received, but not all of them - status or version headers are missing, so we're expecting additional frames to complete them.
The IP address space of the remote endpoint differed from the previous observed value during the same request. Any cache entry for the affected request should be invalidated.
The server's response was insecure (e.g. there was a cert error).
There were not enough resources to complete the operation.
The Internet connection has been lost.
An argument to the function is incorrect.
Credentials could not be established during HTTP Authentication.
Error in chunked transfer encoding.
The ECHConfigList fetched over DNS cannot be parsed.
The handle or file descriptor is invalid.
The server was expected to return an HTTP/1.x response, but did not. Rather than treat it as HTTP/0.9, this error is returned.
Attempting to load an URL resulted in a redirect to an invalid URL.
The server's response was invalid.
An error occurred while handling a signed exchange.
The URL is invalid.
An error occurred while handling a Web Bundle source.
An asynchronous IO operation is not yet complete. This usually does not indicate a fatal error. Typically this error will be generated as a notification to wait for some external notification that the IO operation finally completed.
Key generation failed.
The identity used for authentication is invalid.
A mandatory proxy configuration could not be used. Currently this means that a mandatory PAC script could not be fetched, parsed or executed.
The server did not support the request method.
The environment was not set up correctly for authentication. For example, no KDC could be found or the principal is unknown.
(GSSAPI) No Kerberos credentials were available during HTTP Authentication.
The message was too large for the transport. (for example a UDP message which exceeds size threshold).
The host name could not be resolved.
An error occurred when trying to do a name resolution (DNS).
Permission to access the network was denied. This is used to distinguish errors that were most likely caused by a firewall from other access denied errors. See also ERR_ACCESS_DENIED.
The request was blocked because it originated from a frame that has disabled network access.
The network changed.
An operation could not be completed because all network IO is suspended.
No error.
The operation failed because of unimplemented functionality.
No socket buffer space is available.
An attempt to import a client certificate failed, as the user's key database lacked a corresponding private key.
No SSL protocol versions are enabled.
There are no supported proxies in the provided list.
The entry was not found in cache or other local sources, for lookups where only local sources were queried. TODO(ericorth): Consider renaming to DNS_LOCAL_MISS or something like that as the cache is not necessarily queried either.
Memory allocation failed.
No PAC URL configuration could be retrieved from DHCP. This can indicate either a failure to retrieve the DHCP configuration, or that there was no PAC URL configured in DHCP.
The evaluation of the PAC script failed.
The PAC script terminated fatally and must be reloaded.
PKCS #12 import failed due to incorrect password.
PKCS #12 import failed due to other error.
PKCS #12 import failed due to invalid/corrupt file.
PKCS #12 import failed due to invalid MAC.
PKCS #12 import failed due to unsupported features.
We've hit the max socket limit for the socket pool while preconnecting. We don't bother trying to preconnect more sockets.
Failure to export private key.
The proxy requested authentication (for tunnel establishment).
Proxy Auth Requested without a valid Client Socket Handle.
The proxy requested authentication (for tunnel establishment) with an unsupported method.
The certificate presented by the HTTPS Proxy was invalid.
Could not create a connection to the proxy server. An error occurred either in resolving its name, or in connecting a socket to it. Note that this does NOT include failures during the actual "CONNECT" method of an HTTP proxy.
Some implementations of ProxyDelegate query a separate entity to know whether it should cancel tunnel prior to: - The HTTP CONNECT requests being sent out - The HTTP CONNECT response being parsed by //net An example is CronetProxyDelegate: Cronet allows developers to decide whether the tunnel being established should be canceled.
Some implementations of ProxyDelegate query a separate entity to know whether it should cancel tunnel prior to: - The HTTP CONNECT requests being sent out - The HTTP CONNECT response being parsed by //net An example is CronetProxyDelegate: Cronet allows developers to decide whether the tunnel being established should be canceled.
HTTP_1_1_REQUIRED error code received on HTTP/2 session to proxy.
Signals that the request requires the IPP proxy.
An attempt to proxy a request failed because the proxy wasn't able to successfully connect to the destination. This likely indicates an issue with the request itself (for instance, the hostname failed to resolve to an IP address or the destination server refused the connection). This error code is used to indicate that the error is outside the control of the proxy server and thus the proxy chain should not be marked as bad. This is in contrast to ERR_TUNNEL_CONNECTION_FAILED which is used for general purpose errors connecting to the proxy and by the proxy request response handling when a proxy delegate doesn't indicate via a different error code whether proxy fallback should occur. Note that for IP Protection proxies this error code causes the proxy to be marked as bad since the preference is to fail open for general purpose errors, but for other proxies this error does not cause the proxy to be marked as bad.
The certificate presented on a QUIC connection does not chain to a known root and the origin connected to is not on a list of domains where unknown roots are allowed.
A GOAWAY frame has been received indicating that the request has not been processed and is therefore safe to retry on a different connection.
The QUIC crypto handshake failed. This means that the server was unable to read any requests sent, so they may be resent.
There is a QUIC protocol error.
Socket ReadIfReady support is not implemented. This error should not be user visible, because the normal Read() method is used as a fallback.
The response was 416 (Requested range not satisfiable) and the server cannot satisfy the range requested.
The HTTP response was too big to drain.
The HTTP response contained multiple Content-Disposition headers.
The HTTP response contained multiple distinct Content-Length headers.
The HTTP response contained multiple Location headers.
The headers section of the response is too large.
The HTTP headers were truncated by an EOF.
Self-signed certificate generation failed.
The socket is already connected.
The socket is not connected.
Failed to set the socket's receive buffer size as requested, despite success return code from setsockopt.
Failed to set the socket's send buffer size as requested, despite success return code from setsockopt.
Failed to set the socket's receive buffer size as requested.
Failed to set the socket's send buffer size as requested.
Failed establishing a connection to the SOCKS proxy server for a target host.
The SOCKS proxy server failed establishing connection to the target host because that host is unreachable.
Decoding or encoding of compressed HTTP/2 headers failed.
The peer violated HTTP/2 flow control.
The peer sent an improperly sized HTTP/2 frame.
Transport security is inadequate for the HTTP/2 version.
HTTP/2 server didn't respond to the PING message.
There is an HTTP/2 protocol error.
Received HTTP/2 RST_STREAM frame with NO_ERROR error code. This error should be handled internally by HTTP/2 code, and should not make it above the SpdyStream layer.
HTTP/2 server refused the request without processing, and sent either a GOAWAY frame with error code NO_ERROR and Last-Stream-ID lower than the stream id corresponding to the request indicating that this request has not been processed yet, or a RST_STREAM frame with error code REFUSED_STREAM. Client MAY retry (on a different connection). See RFC7540 Section 8.1.4.
Received an HTTP/2 frame on a closed stream.
SSL peer's public key is invalid.
An SSL peer sent us a fatal bad_record_mac alert. This has been observed from servers with buggy DEFLATE support.
Failed to import a client certificate from the platform store into the SSL library.
The server requested a client certificate for SSL client authentication.
The SSL client certificate has no private key.
There were no common signature algorithms between our client certificate private key and the server's preferences.
The permission to use the SSL client certificate's private key was denied.
We were unable to sign the CertificateVerify data of an SSL client auth handshake with the client certificate's private key.
Possible causes for this include the user implicitly or explicitly denying access to the private key, the private key may not be valid for signing, the key may be relying on a cached handle which is no longer valid, or the CSP won't allow arbitrary data to be signed.
An SSL peer sent us a fatal decompression_failure alert. This typically occurs when a peer selects DEFLATE compression in the mistaken belief that it supports it.
An SSL peer sent us a fatal decrypt_error alert. This typically occurs when a peer could not correctly verify a signature (in CertificateVerify or ServerKeyExchange) or validate a Finished message.
An operation failed because the SSL handshake has not completed.
The server's certificate has a keyUsage extension incompatible with the negotiated TLS key exchange method.
The peer sent an SSL no_renegotiation alert message.
The SSL server required an unsupported cipher suite that has since been removed. This error will temporarily be signaled on a fallback for one or two releases immediately following a cipher suite's removal, after which the fallback will be removed.
The certificate didn't match the built-in public key pins for the host name. The pins are set in net/http/transport_security_state.cc and require that one of a set of public keys exist on the path from the leaf to the root.
An SSL protocol error occurred.
The server requested a renegotiation (rehandshake).
The SSL server presented a certificate which could not be decoded. This is not a certificate error code as no X509Certificate object is available. This error is fatal.
The SSL server certificate changed in a renegotiation.
The SSL server sent us a fatal unrecognized_name alert.
The client and server don't support a common SSL protocol version or cipher suite.
FLIP data received without receiving a SYN_REPLY on the stream.
The request throttler module cancelled this request to avoid DDOS.
An operation timed out.
TLS 1.3 was enabled, but a lower version was negotiated and the server returned a value indicating it supported TLS 1.3. This is part of a security check in TLS 1.3, but it may also indicate the user is behind a buggy TLS-terminating proxy which implemented TLS 1.2 incorrectly. (See https://crbug.com/boringssl/226.)
The ACCEPT_CH restart has been triggered too many times
Attempting to load an URL resulted in too many redirects.
An HTTP transaction was retried too many times due for authentication or invalid certificates. This may be due to a bug in the net stack that would otherwise infinite loop, or if the server or proxy continually requests fresh credentials or presents a fresh invalid certificate.
A Trust Tokens protocol operation-executing request failed for one of a number of reasons (precondition failure, internal error, bad response).
When handling a Trust Tokens protocol operation-executing request, the system was able to execute the request's Trust Tokens operation without sending the request to its destination: for instance, the results could have been present in a local cache (for redemption) or the operation could have been diverted to a local provider (for "platform-provided" issuance).
A tunnel connection through the proxy could not be established. For more info see the comment on PROXY_UNABLE_TO_CONNECT_TO_DESTINATION.
The attempt to reuse a connection to send proxy auth credentials failed before the AuthController was used to generate credentials. The caller should reuse the controller with a new connection. This error is only used internally by the network stack.
An undocumented SSPI or GSSAPI status code was returned.
An unexpected error. This may be caused by a programming mistake or an invalid assumption.
The header of dictionary compressed stream does not match the expected value.
The response was 407 (Proxy Authentication Required), yet we did not send the request to a proxy.
An unexpected, but documented, SSPI or GSSAPI status code was returned.
The scheme of the URL is unknown.
The server sent an FTP directory listing in a format we do not understand.
Attempting to load an URL with an unsafe port number. These are port numbers that correspond to services, which are not robust to spurious input that may be constructed as a result of an allowed web construct (e.g., HTTP looks a lot like SMTP, so form submission to port 25 is denied).
Attempting to load an URL resulted in an unsafe redirect (e.g., a redirect to file:// is considered unsafe).
An HTTP Authentication scheme was tried which is not supported on this machine.
The file upload failed because the file's modification time was different from the expectation.
The upload failed because the upload stream needed to be re-read, due to a retry or a redirect, but the upload stream doesn't support that operation.
Winsock sometimes reports more data written than passed. This is probably due to a broken LSP.
TLS 1.3 early data was offered, but the server responded with TLS 1.2 or earlier. This is an internal error code to account for a backwards-compatibility issue with early data and TLS 1.2. It will be received before any data is returned from the socket. The request should be retried with early data disabled.
See https://tools.ietf.org/html/rfc8446#appendix-D.3 for details.
Websocket protocol error. Indicates that we are terminating the connection due to a malformed frame or other protocol violation.
There are too many pending WebSocketJob instances, so the new job was not pushed to the queue.
When a WebSocket handshake is done successfully and the connection has been upgraded, the URLRequest is cancelled with this error code.
Content decoding failed due to the zstd window size being too big (over 8MB).
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag. Mac OS-X command key.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Number of TCefFileDialogMode values
Requires that the file exists before allowing the user to pick it.
Like Open, but selects a folder to open.
Like Open, but allows picking multiple files to open.
Allows picking a nonexistent file, and prompts to overwrite if the file already exists.
The request was blocked by fingerprinting protections.
The connection is blocked by private network access checks.
The request was blocked by CORB or ORB.
The connection is blocked by private network access checks.
The request failed because the response was delivered along with requirements which are not met ('X-Frame-Options' and 'Content-Security-Policy' ancestor checks and 'Cross-Origin-Resource-Policy' for instance).
The IP address space of the cached remote endpoint is blocked by private network access check.
The scheme of the URL is disallowed.
Returned when DNS cache invalidation is in progress. This is a transient error. Callers may want to retry later.
DNS resolver received a malformed response.
DNS identified the request as disallowed for insecure connection (http/ws). Error should be handled as if an HTTP redirect was received to redirect to https or wss.
The hostname resolution of HTTPS record was expected to be resolved with alpn values of supported protocols, but did not.
All DNS requests associated with this job have been cancelled.
Suffix search list rules prevent resolution of the given host name.
When checking whether secure DNS can be used, the response returned for the requested probe record either had no answer or was invalid.
Failed to resolve the hostname of a DNS-over-HTTPS server.
DNS server failed. This error is returned for all of the following error conditions: 1 - Format error - The name server was unable to interpret the query. 2 - Server failure - The name server was unable to process this query due to a problem with the name server. 4 - Not Implemented - The name server does not support the requested kind of query. 5 - Refused - The name server refuses to perform the specified operation for policy reasons.
DNS server requires TCP
Failed to sort addresses according to RFC3484.
DNS transaction timed out.
TLS 1.3 early data was rejected by the server. This will be received before any data is returned from the socket. The request should be retried with early data disabled.
ECH was enabled, the server was unable to decrypt the encrypted ClientHello, and additionally did not present a certificate valid for the public name.
ECH was enabled, but the server was unable to decrypt the encrypted ClientHello.
The server closed the connection without sending any data.
Converting the response to target encoding failed.
Detecting the encoding of the response failed.
A generic failure occurred.
The file already exists.
The file or directory cannot be found.
Not enough room left on the disk.
The path or file name is too long.
The file is too large.
The file has a virus.
There are too many pending DNS resolves, so a request in the queue was aborted.
A request to create an SSL tunnel connection through the HTTPS proxy received a 302 (temporary redirect) response. The response body might include a description of why the request failed.
TODO(crbug.com/40093955): This is deprecated and should not be used by new code.
HTTP_1_1_REQUIRED error code received on HTTP/2 session.
The server returned a non-2xx HTTP response code.
Note that this error is only used by certain APIs that interpret the HTTP response itself. URLRequest for instance just passes most non-2xx response back as success.
Resolving a hostname to an IP address list included the IPv4 address "127.0.53.53". This is a special IP address which ICANN has recommended to indicate there was a name collision, and alert admins to a potential problem.
CA import failed due to some other error.
CA import failed - not a CA cert.
Import failed - certificate already exists in database. Note it's a little weird this is an error but reimporting a PKCS12 is ok (no-op). That's how Mozilla does it, though.
Server certificate import failed due to some internal error.
The HTTP response body is transferred with Chunked-Encoding, but the terminating zero-length chunk was never sent when the connection is closed.
HTTP/2 headers have been received, but not all of them - status or version headers are missing, so we're expecting additional frames to complete them.
The IP address space of the remote endpoint differed from the previous observed value during the same request. Any cache entry for the affected request should be invalidated.
The server's response was insecure (e.g. there was a cert error).
There were not enough resources to complete the operation.
The Internet connection has been lost.
An argument to the function is incorrect.
Credentials could not be established during HTTP Authentication.
Error in chunked transfer encoding.
The ECHConfigList fetched over DNS cannot be parsed.
The handle or file descriptor is invalid.
The server was expected to return an HTTP/1.x response, but did not. Rather than treat it as HTTP/0.9, this error is returned.
Attempting to load an URL resulted in a redirect to an invalid URL.
The server's response was invalid.
An error occurred while handling a signed exchange.
The URL is invalid.
An error occurred while handling a Web Bundle source.
An asynchronous IO operation is not yet complete. This usually does not indicate a fatal error. Typically this error will be generated as a notification to wait for some external notification that the IO operation finally completed.
Key generation failed.
The identity used for authentication is invalid.
A mandatory proxy configuration could not be used. Currently this means that a mandatory PAC script could not be fetched, parsed or executed.
The server did not support the request method.
The environment was not set up correctly for authentication. For example, no KDC could be found or the principal is unknown.
(GSSAPI) No Kerberos credentials were available during HTTP Authentication.
The message was too large for the transport. (for example a UDP message which exceeds size threshold).
The host name could not be resolved.
An error occurred when trying to do a name resolution (DNS).
Permission to access the network was denied. This is used to distinguish errors that were most likely caused by a firewall from other access denied errors. See also ERR_ACCESS_DENIED.
The request was blocked because it originated from a frame that has disabled network access.
The network changed.
An operation could not be completed because all network IO is suspended.
No error.
The operation failed because of unimplemented functionality.
No socket buffer space is available.
An attempt to import a client certificate failed, as the user's key database lacked a corresponding private key.
No SSL protocol versions are enabled.
There are no supported proxies in the provided list.
The entry was not found in cache or other local sources, for lookups where only local sources were queried. TODO(ericorth): Consider renaming to DNS_LOCAL_MISS or something like that as the cache is not necessarily queried either.
Memory allocation failed.
No PAC URL configuration could be retrieved from DHCP. This can indicate either a failure to retrieve the DHCP configuration, or that there was no PAC URL configured in DHCP.
The evaluation of the PAC script failed.
The PAC script terminated fatally and must be reloaded.
PKCS #12 import failed due to incorrect password.
PKCS #12 import failed due to other error.
PKCS #12 import failed due to invalid/corrupt file.
PKCS #12 import failed due to invalid MAC.
PKCS #12 import failed due to unsupported features.
We've hit the max socket limit for the socket pool while preconnecting. We don't bother trying to preconnect more sockets.
Failure to export private key.
The proxy requested authentication (for tunnel establishment).
Proxy Auth Requested without a valid Client Socket Handle.
The proxy requested authentication (for tunnel establishment) with an unsupported method.
The certificate presented by the HTTPS Proxy was invalid.
Could not create a connection to the proxy server. An error occurred either in resolving its name, or in connecting a socket to it. Note that this does NOT include failures during the actual "CONNECT" method of an HTTP proxy.
Some implementations of ProxyDelegate query a separate entity to know whether it should cancel tunnel prior to: - The HTTP CONNECT requests being sent out - The HTTP CONNECT response being parsed by //net An example is CronetProxyDelegate: Cronet allows developers to decide whether the tunnel being established should be canceled.
Some implementations of ProxyDelegate query a separate entity to know whether it should cancel tunnel prior to: - The HTTP CONNECT requests being sent out - The HTTP CONNECT response being parsed by //net An example is CronetProxyDelegate: Cronet allows developers to decide whether the tunnel being established should be canceled.
HTTP_1_1_REQUIRED error code received on HTTP/2 session to proxy.
Signals that the request requires the IPP proxy.
An attempt to proxy a request failed because the proxy wasn't able to successfully connect to the destination. This likely indicates an issue with the request itself (for instance, the hostname failed to resolve to an IP address or the destination server refused the connection). This error code is used to indicate that the error is outside the control of the proxy server and thus the proxy chain should not be marked as bad. This is in contrast to ERR_TUNNEL_CONNECTION_FAILED which is used for general purpose errors connecting to the proxy and by the proxy request response handling when a proxy delegate doesn't indicate via a different error code whether proxy fallback should occur. Note that for IP Protection proxies this error code causes the proxy to be marked as bad since the preference is to fail open for general purpose errors, but for other proxies this error does not cause the proxy to be marked as bad.
The certificate presented on a QUIC connection does not chain to a known root and the origin connected to is not on a list of domains where unknown roots are allowed.
A GOAWAY frame has been received indicating that the request has not been processed and is therefore safe to retry on a different connection.
The QUIC crypto handshake failed. This means that the server was unable to read any requests sent, so they may be resent.
There is a QUIC protocol error.
Socket ReadIfReady support is not implemented. This error should not be user visible, because the normal Read() method is used as a fallback.
The response was 416 (Requested range not satisfiable) and the server cannot satisfy the range requested.
The HTTP response was too big to drain.
The HTTP response contained multiple Content-Disposition headers.
The HTTP response contained multiple distinct Content-Length headers.
The HTTP response contained multiple Location headers.
The headers section of the response is too large.
The HTTP headers were truncated by an EOF.
Self-signed certificate generation failed.
The socket is already connected.
The socket is not connected.
Failed to set the socket's receive buffer size as requested, despite success return code from setsockopt.
Failed to set the socket's send buffer size as requested, despite success return code from setsockopt.
Failed to set the socket's receive buffer size as requested.
Failed to set the socket's send buffer size as requested.
Failed establishing a connection to the SOCKS proxy server for a target host.
The SOCKS proxy server failed establishing connection to the target host because that host is unreachable.
Decoding or encoding of compressed HTTP/2 headers failed.
The peer violated HTTP/2 flow control.
The peer sent an improperly sized HTTP/2 frame.
Transport security is inadequate for the HTTP/2 version.
HTTP/2 server didn't respond to the PING message.
There is an HTTP/2 protocol error.
Received HTTP/2 RST_STREAM frame with NO_ERROR error code. This error should be handled internally by HTTP/2 code, and should not make it above the SpdyStream layer.
HTTP/2 server refused the request without processing, and sent either a GOAWAY frame with error code NO_ERROR and Last-Stream-ID lower than the stream id corresponding to the request indicating that this request has not been processed yet, or a RST_STREAM frame with error code REFUSED_STREAM. Client MAY retry (on a different connection). See RFC7540 Section 8.1.4.
Received an HTTP/2 frame on a closed stream.
SSL peer's public key is invalid.
An SSL peer sent us a fatal bad_record_mac alert. This has been observed from servers with buggy DEFLATE support.
Failed to import a client certificate from the platform store into the SSL library.
The server requested a client certificate for SSL client authentication.
The SSL client certificate has no private key.
There were no common signature algorithms between our client certificate private key and the server's preferences.
The permission to use the SSL client certificate's private key was denied.
We were unable to sign the CertificateVerify data of an SSL client auth handshake with the client certificate's private key.
Possible causes for this include the user implicitly or explicitly denying access to the private key, the private key may not be valid for signing, the key may be relying on a cached handle which is no longer valid, or the CSP won't allow arbitrary data to be signed.
An SSL peer sent us a fatal decompression_failure alert. This typically occurs when a peer selects DEFLATE compression in the mistaken belief that it supports it.
An SSL peer sent us a fatal decrypt_error alert. This typically occurs when a peer could not correctly verify a signature (in CertificateVerify or ServerKeyExchange) or validate a Finished message.
An operation failed because the SSL handshake has not completed.
The server's certificate has a keyUsage extension incompatible with the negotiated TLS key exchange method.
The peer sent an SSL no_renegotiation alert message.
The SSL server required an unsupported cipher suite that has since been removed. This error will temporarily be signaled on a fallback for one or two releases immediately following a cipher suite's removal, after which the fallback will be removed.
The certificate didn't match the built-in public key pins for the host name. The pins are set in net/http/transport_security_state.cc and require that one of a set of public keys exist on the path from the leaf to the root.
An SSL protocol error occurred.
The server requested a renegotiation (rehandshake).
The SSL server presented a certificate which could not be decoded. This is not a certificate error code as no X509Certificate object is available. This error is fatal.
The SSL server certificate changed in a renegotiation.
The SSL server sent us a fatal unrecognized_name alert.
The client and server don't support a common SSL protocol version or cipher suite.
FLIP data received without receiving a SYN_REPLY on the stream.
The request throttler module cancelled this request to avoid DDOS.
An operation timed out.
TLS 1.3 was enabled, but a lower version was negotiated and the server returned a value indicating it supported TLS 1.3. This is part of a security check in TLS 1.3, but it may also indicate the user is behind a buggy TLS-terminating proxy which implemented TLS 1.2 incorrectly. (See https://crbug.com/boringssl/226.)
The ACCEPT_CH restart has been triggered too many times
Attempting to load an URL resulted in too many redirects.
An HTTP transaction was retried too many times due for authentication or invalid certificates. This may be due to a bug in the net stack that would otherwise infinite loop, or if the server or proxy continually requests fresh credentials or presents a fresh invalid certificate.
A Trust Tokens protocol operation-executing request failed for one of a number of reasons (precondition failure, internal error, bad response).
When handling a Trust Tokens protocol operation-executing request, the system was able to execute the request's Trust Tokens operation without sending the request to its destination: for instance, the results could have been present in a local cache (for redemption) or the operation could have been diverted to a local provider (for "platform-provided" issuance).
A tunnel connection through the proxy could not be established. For more info see the comment on PROXY_UNABLE_TO_CONNECT_TO_DESTINATION.
The attempt to reuse a connection to send proxy auth credentials failed before the AuthController was used to generate credentials. The caller should reuse the controller with a new connection. This error is only used internally by the network stack.
An undocumented SSPI or GSSAPI status code was returned.
An unexpected error. This may be caused by a programming mistake or an invalid assumption.
The header of dictionary compressed stream does not match the expected value.
The response was 407 (Proxy Authentication Required), yet we did not send the request to a proxy.
An unexpected, but documented, SSPI or GSSAPI status code was returned.
The scheme of the URL is unknown.
The server sent an FTP directory listing in a format we do not understand.
Attempting to load an URL with an unsafe port number. These are port numbers that correspond to services, which are not robust to spurious input that may be constructed as a result of an allowed web construct (e.g., HTTP looks a lot like SMTP, so form submission to port 25 is denied).
Attempting to load an URL resulted in an unsafe redirect (e.g., a redirect to file:// is considered unsafe).
An HTTP Authentication scheme was tried which is not supported on this machine.
The file upload failed because the file's modification time was different from the expectation.
The upload failed because the upload stream needed to be re-read, due to a retry or a redirect, but the upload stream doesn't support that operation.
Winsock sometimes reports more data written than passed. This is probably due to a broken LSP.
TLS 1.3 early data was offered, but the server responded with TLS 1.2 or earlier. This is an internal error code to account for a backwards-compatibility issue with early data and TLS 1.2. It will be received before any data is returned from the socket. The request should be retried with early data disabled.
See https://tools.ietf.org/html/rfc8446#appendix-D.3 for details.
Websocket protocol error. Indicates that we are terminating the connection due to a malformed frame or other protocol violation.
There are too many pending WebSocketJob instances, so the new job was not pushed to the queue.
When a WebSocket handshake is done successfully and the connection has been upgraded, the URLRequest is cancelled with this error code.
Content decoding failed due to the zstd window size being too big (over 8MB).
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag. Mac OS-X command key.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Supported event bit flag.
Number of TCefFileDialogMode values
Requires that the file exists before allowing the user to pick it.
Like Open, but selects a folder to open.
Like Open, but allows picking multiple files to open.
Allows picking a nonexistent file, and prompts to overwrite if the file already exists.
Returns a new TCefTime with a valid time in case the original has errors.
Returns a command line switch value if it exists.
@@ -4994,287 +5009,287 @@ example.test.increment();
Retrieves the fully qualified path for the current module.
Returns the time interval between now and from_ in milliseconds. This funcion should only be used by TCEFTimerWorkScheduler.
Custom interface used to handle all the TCefApplicationCore events.
Implement this interface to receive accessibility notification when accessibility events have been registered. The functions of this interface will be called on the UI thread.
Implement this interface to provide handler implementations. Methods will be called by the process and/or thread indicated.
Implement this interface to handle audio events.
Callback interface used for asynchronous continuation of authentication requests.
All ref-counted framework interfaces must inherit from this interface.
Callback interface used to asynchronously continue a download.
Interface representing a binary value. Can be used on any process and thread.
A Layout manager that arranges child views vertically or horizontally in a side-by-side fashion with spacing around and between the child views. The child views are always sized according to their preferred size. If the host's bounds provide insufficient space, child views will be clamped. Excess space will not be distributed. Methods must be called on the browser process UI thread unless otherwise indicated.
Interface used to represent a browser. When used in the browser process the functions of this interface may be called on any thread unless otherwise indicated in the comments. When used in the render process the functions of this interface may only be called on the main thread.
Interface used to represent the browser process aspects of a browser. The functions of this interface can only be called in the browser process. They may be called on any thread in that process unless otherwise indicated in the comments.
Interface used to implement browser process callbacks. The functions of this interface will be called on the browser process main thread unless otherwise indicated.
A View hosting a ICefBrowser instance. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle BrowserView events. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Custom interface used to handle all the ICefBrowserViewDelegate events.
A View representing a button. Depending on the specific type, the button could be implemented by a native control or custom rendered. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle Button events. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Custom interface used to handle all the ICefButtonDelegate events.
Generic callback interface used for asynchronous continuation.
Implement this interface to provide handler implementations.
Implement this interface to handle events related to commands. The functions of this interface will be called on the UI thread.
Interface used to create and/or parse command line arguments. Arguments with "–", "-" and, on Windows, "/" prefixes are considered switches. Switches will always precede any arguments without switch prefixes. Switches can optionally have a value specified using the "=" delimiter (e.g. "-switch=value"). An argument of "–" will terminate switch parsing with all subsequent tokens, regardless of prefix, being interpreted as non-switch arguments. Switch names should be lowercase ASCII and will be converted to such if necessary. Switch values will retain the original case and UTF8 encoding. This interface can be used before cef_initialize() is called.
Generic callback interface used for asynchronous completion.
Implement this interface to handle context menu events. The functions of this interface will be called on the UI thread.
Provides information about the context menu state. The functions of this interface can only be accessed on browser process the UI thread.
Implement this interface to filter cookies that may be sent or received from resource requests. The functions of this interface will be called on the IO thread unless otherwise indicated.
Interface used for managing cookies. The functions of this interface may be called on any thread unless otherwise indicated.
Interface to implement for visiting cookie values. The functions of this interface will always be called on the UI thread.
Interface used to read data from a stream. The functions of this interface may be called on any thread.
Interface to implement to be notified of asynchronous completion via ICefCookieManager.DeleteCookies.
Callback interface for ICefBrowserHost.AddDevToolsMessageObserver. The functions of this interface will be called on the browser process UI thread.
Implement this interface to handle dialog events. The functions of this interface will be called on the browser process UI thread.
Interface representing a dictionary value. Can be used on any process and thread.
@@ -5285,87 +5300,87 @@ example.test.increment();
Implement this interface to handle events related to browser display state. The functions of this interface will be called on the UI thread.
Interface used to represent a DOM document. The functions of this interface should only be called on the render process main thread thread.
Interface used to represent a DOM node. The functions of this interface should only be called on the render process main thread.
Interface to implement for visiting the DOM. The functions of this interface will be called on the render process main thread.
Interface used to handle file downloads. The functions of this interface will called on the browser process UI thread.
Callback interface for ICefBrowserHost.DownloadImage. The functions of this interface will be called on the browser process UI thread.
Interface used to represent a download item.
Callback interface used to asynchronously cancel a download.
Interface used to represent drag data. The functions of this interface may be called on any thread.
Implement this interface to handle events related to dragging. The functions of this interface will be called on the UI thread.
Implement this interface to receive notification when tracing has completed. The functions of this interface will be called on the browser process UI thread.
Callback interface for asynchronous continuation of file dialog requests.
A simple Layout that causes the associated Panel's one child to be sized to match the bounds of its parent. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle events related to find results. The functions of this interface will be called on the UI thread.
Implement this interface to handle events related to focus. The functions of this interface will be called on the UI thread.
Interface used to represent a frame in the browser window. When used in the browser process the functions of this interface may be called on any thread unless otherwise indicated in the comments. When used in the render process the functions of this interface may only be called on the main thread.
@@ -5445,578 +5460,583 @@ example.test.increment();
Container for a single image represented at different scale factors. All image representations should be the same size in density independent pixel (DIP) units. For example, if the image at scale factor 1.0 is 100x100 pixels then the image at scale factor 2.0 should be 200x200 pixels – both images will display with a DIP size of 100x100 units. The functions of this interface can be called on any browser process thread.
Callback interface used for asynchronous continuation of JavaScript dialog requests.
Implement this interface to handle events related to JavaScript dialogs. The functions of this interface will be called on the UI thread.
Implement this interface to handle events related to keyboard input. The functions of this interface will be called on the UI thread.
LabelButton is a button with optional text and/or icon. Methods must be called on the browser process UI thread unless otherwise indicated.
A Layout handles the sizing of the children of a Panel according to implementation-specific heuristics. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle events related to browser life span. The functions of this interface will be called on the UI thread unless otherwise indicated.
Interface representing a list value. Can be used on any process and thread.
Implement this interface to handle events related to browser load status. The functions of this interface will be called on the browser process UI thread or render process main thread (TID_RENDERER).
Callback interface used for asynchronous continuation of media access permission requests.
Implemented by the client to observe MediaRouter events and registered via ICefMediaRouter.AddObserver. The functions of this interface will be called on the browser process UI thread.
Represents the route between a media source and sink. Instances of this object are created via ICefMediaRouter.CreateRoute and retrieved via ICefMediaObserver.OnRoutes. Contains the status and metadata of a routing operation. The functions of this interface may be called on any browser process thread unless otherwise indicated.
Callback interface for ICefMediaRouter.CreateRoute. The functions of this interface will be called on the browser process UI thread.
Supports discovery of and communication with media devices on the local network via the Cast and DIAL protocols. The functions of this interface may be called on any browser process thread unless otherwise indicated.
Represents a sink to which media can be routed. Instances of this object are retrieved via ICefMediaObserver.OnSinks. The functions of this interface may be called on any browser process thread unless otherwise indicated.
Callback interface for ICefMediaSink.GetDeviceInfo. The functions of this interface will be called on the browser process UI thread.
Represents a source from which media can be routed. Instances of this object are retrieved via ICefMediaRouter.GetSource. The functions of this interface may be called on any browser process thread unless otherwise indicated.
MenuButton is a button with optional text, icon and/or menu marker that shows a menu when clicked with the left mouse button. All size and position values are in density independent pixels (DIP) unless otherwise indicated. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle MenuButton events. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Custom interface used to handle all the ICefMenuButtonDelegate events.
MenuButton pressed lock is released when this object is destroyed.
Supports creation and modification of menus. See TCefMenuId for the command ids that have default implementations. All user-defined command ids should be between MENU_ID_USER_FIRST and MENU_ID_USER_LAST. The functions of this interface can only be accessed on the browser process the UI thread.
Implement this interface to handle menu model events. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Interface used to represent an entry in navigation history.
Callback interface for ICefBrowserHost.GetNavigationEntries. The functions of this interface will be called on the browser process UI thread.
Controller for an overlay that contains a contents View added via ICefWindow.AddOverlayView. Methods exposed by this controller should be called in preference to functions of the same name exposed by the contents View unless otherwise indicated. Methods must be called on the browser process UI thread unless otherwise indicated.
A Panel is a container in the views hierarchy that can contain other Views as children. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle Panel events. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Custom interface used to handle all the ICefPanelDelegate events.
Callback interface for ICefBrowserHost.PrintToPDF. The functions of this interface will be called on the browser process UI thread.
Implement this interface to handle events related to permission requests. The functions of this interface will be called on the browser process UI thread.
Callback interface used for asynchronous continuation of permission prompts.
Interface used to represent post data for a web request. The functions of this interface may be called on any thread.
Interface used to represent a single element in the request post data. The functions of this interface may be called on any thread.
Manage access to preferences. Many built-in preferences are registered by Chromium. Custom preferences can be registered in ICefBrowserProcessHandler.OnRegisterCustomPreferences.
Implemented by the client to observe preference changes and registered via ICefPreferenceManager.AddPreferenceObserver. The functions of this structure will be called on the browser process UI thread.
Callback interface for asynchronous continuation of print dialog requests.
Implement this interface to handle printing on Linux. Each browser will have only one print job in progress at a time. The functions of this interface will be called on the browser process UI thread.
Callback interface for asynchronous continuation of print job requests.
Interface representing print settings.
Interface representing a message. Can be used on any process and thread.
Structure the client can implement to provide a custom stream reader. The functions of this structure may be called on any thread.
Generic callback interface used for managing the lifespan of a registration.
Implement this interface to handle events when window rendering is disabled. The functions of this interface will be called on the UI thread.
Interface used to implement render process callbacks. The functions of this interface will be called on the render process main thread (TID_RENDERER) unless otherwise indicated.
Interface used to represent a web request. The functions of this interface may be called on any thread.
A request context provides request handling for a set of related browser or URL request objects. A request context can be specified when creating a new browser via the ICefBrowserHost static factory functions or when creating a new URL request via the ICefUrlRequest static factory functions. Browser objects with different request contexts will never be hosted in the same render process. Browser objects with the same request context may or may not be hosted in the same render process depending on the process model. Browser objects created indirectly via the JavaScript window.open function or targeted links will share the same render process and the same request context as the source browser. When running in single-process mode there is only a single render process (the main process) and so all browsers created in single-process mode will share the same request context. This will be the first request context passed into a ICefBrowserHost static factory function and all other request context objects will be ignored.
Implement this interface to provide handler implementations. The handler instance will not be released until all objects related to the context have been destroyed.
Implement this interface to handle events related to browser requests. The functions of this interface will be called on the thread indicated.
Callback interface for ICefRequestContext.ResolveHost.
Interface used for retrieving resources from the resource bundle (*.pak) files loaded by CEF during startup or via the ICefResourceBundleHandler returned from ICefApp.GetResourceBundleHandler. See TCefSettings for additional options related to resource bundle loading. The functions of this interface may be called on any thread unless otherwise indicated.
Interface used to implement a custom resource bundle interface. See TCefSettings for additional options related to resource bundle loading. The functions of this interface may be called on multiple threads.
Interface used to implement a custom request handler interface. The functions of this interface will be called on the IO thread unless otherwise indicated.
Callback for asynchronous continuation of ICefResourceHandler.read.
Implement this interface to handle events related to browser requests. The functions of this interface will be called on the IO thread unless otherwise indicated.
Callback for asynchronous continuation of ICefResourceHandler.skip.
Interface used to represent a web response. The functions of this interface may be called on any thread.
Implement this interface to filter resource response content. The functions of this interface will be called on the browser process IO thread.
Callback interface used for continuation of custom context menu display.
Callback interface for ICefBrowserHost.RunFileDialog. The functions of this interface will be called on the browser process UI thread.
Callback interface used for continuation of custom quick menu display.
Interface that creates ICefResourceHandler instances for handling scheme requests. The functions of this interface will always be called on the IO thread.
A ScrollView will show horizontal and/or vertical scrollbars when necessary based on the size of the attached content view. Methods must be called on the browser process UI thread unless otherwise indicated.
Callback interface used to select a client certificate for authentication.
Interface representing a server that supports HTTP and WebSocket requests. Server capacity is limited and is intended to handle only a small number of simultaneous connections (e.g. for communicating between applications on localhost). The functions of this interface are safe to call from any thread in the brower process unless otherwise indicated.
Implement this interface to handle HTTP server requests. A new thread will be created for each ICefServer.CreateServer call (the "dedicated server thread"), and the functions of this interface will be called on that thread. It is therefore recommended to use a different ICefServerHandler instance for each ICefServer.CreateServer call to avoid thread safety issues in the ICefServerHandler implementation.
Interface to implement to be notified of asynchronous completion via ICefCookieManager.SetCookie.
Implemented by the client to observe content and website setting changes and registered via ICefRequestContext.AddSettingObserver. The functions of this structure will be called on the browser process UI thread.
Interface that wraps platform-dependent share memory region mapping.
Interface that builds a ICefProcessMessage containing a shared memory region. This interface is not thread-safe but may be used exclusively on a different thread from the one which constructed it.
Interface representing SSL information.
Interface representing the SSL information for a navigation entry.
Interface used to read data from a stream. The functions of this interface may be called on any thread.
Interface used to write data to a stream. The functions of this interface may be called on any thread.
Custom interface used to handle all the CEF functions related to CefStringList.
Custom interface used to handle all the CEF functions related to CefStringMap.
Custom interface used to handle all the CEF functions related to CefStringMultimap.
Implement this interface to receive string values asynchronously.
Implement this interface for asynchronous task execution. If the task is posted successfully and if the associated message loop is still running then the execute() function will be called on the target thread. If the task fails to post then the task object may be destroyed on the source thread instead of the target thread. For this reason be cautious when performing work in the task object destructor.
Interface that facilitates managing the browser-related tasks. The functions of this structure may only be called on the UI thread.
Interface that asynchronously executes tasks on the associated thread. It is safe to call the functions of this interface on any thread.
CEF maintains multiple internal threads that are used for handling different types of tasks in different processes. The TCefThreadId definitions in cef_types.h list the common CEF threads. Task runners are also available for other CEF threads as appropriate (for example, V8 WebWorker threads).
A Textfield supports editing of text. This control is custom rendered with no platform-specific code. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle Textfield events. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Custom interface used to handle all the ICefTextfieldDelegate events.
A simple thread abstraction that establishes a message loop on a new thread. The consumer uses ICefTaskRunner to execute code on the thread's message loop. The thread is terminated when the ICefThread object is destroyed or stop() is called. All pending tasks queued on the thread's message loop will run to completion before the thread is terminated. cef_thread_create() can be called on any valid CEF thread in either the browser or render process. This interface should only be used for tasks that require a dedicated thread. In most cases you can post tasks to an existing CEF thread instead of creating a new one; see cef_task.h for details.
Callback structure for asynchronous handling of an unresponsive process.
Interface used to make a URL request. URL requests are not associated with a browser instance so no ICefClient callbacks will be executed. URL requests can be created on any valid CEF thread in either the browser or render process. Once created the functions of the URL request object must be accessed on the same thread that created it.
Interface that should be implemented by the ICefUrlRequest client. The functions of this interface will be called on the same thread that created the request unless otherwise documented.
Custom interface used to handle all the TCEFUrlRequestClientComponent events.
Interface that should be implemented to handle V8 accessor calls. Accessor identifiers are registered by calling ICefV8value.SetValue(). The functions of this interface will be called on the thread associated with the V8 accessor.
Callback interface that is passed to ICefV8value.CreateArrayBuffer.
Interface representing a V8 context handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the ICefV8context.GetTaskRunner() function.
Interface representing a V8 exception. The functions of this interface may be called on any render process thread.
Interface that should be implemented to handle V8 function calls. The functions of this interface will be called on the thread associated with the V8 function.
Interface that should be implemented to handle V8 interceptor calls. The functions of this interface will be called on the thread associated with the V8 interceptor. Interceptor's named property handlers (with first argument of type CefString) are called when object is indexed by string. Indexed property handlers (with first argument of type int) are called when object is indexed by integer.
Interface representing a V8 stack frame handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the ICefv8context.GetTaskRunner() function.
Interface representing a V8 stack trace handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the ICefv8context.GetTaskRunner() function.
Interface representing a V8 value handle. V8 handles can only be accessed from the thread on which they are created. Valid threads for creating a V8 handle include the render process main thread (TID_RENDERER) and WebWorker threads. A task runner for posting tasks on the associated thread can be retrieved via the ICefv8context.GetTaskRunner() function.
Interface that wraps other data value types. Complex types (binary, dictionary and list) will be referenced but not owned by this object. Can be used on any process and thread.
A View is a rectangle within the views View hierarchy. It is the base interface for all Views. All size and position values are in density independent pixels (DIP) unless otherwise indicated. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle view events. All size and position values are in density independent pixels (DIP) unless otherwise indicated. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Custom interface used to handle the ICefViewDelegate events.
WaitableEvent is a thread synchronization tool that allows one thread to wait for another thread to finish some work. This is equivalent to using a Lock+ConditionVariable to protect a simple boolean value. However, using WaitableEvent in conjunction with a Lock to wait for a more complex state change (e.g., for an item to be added to a queue) is not recommended. In that case consider using a ConditionVariable instead of a WaitableEvent. It is safe to create and/or signal a WaitableEvent from any thread. Blocking on a WaitableEvent by calling the *wait() functions is not allowed on the browser process UI or IO threads.
A Window is a top-level Window/widget in the Views hierarchy. By default it will have a non-client area with title bar, icon and buttons that supports moving and resizing. All size and position values are in density independent pixels (DIP) unless otherwise indicated. Methods must be called on the browser process UI thread unless otherwise indicated.
Implement this interface to handle window events. The functions of this interface will be called on the browser process UI thread unless otherwise indicated.
Custom interface used to handle all the ICefWindowDelegate events.
Interface the client can implement to provide a custom stream writer. The functions of this interface may be called on any thread.
Interface representing a X.509 certificate.
Interface representing the issuer or subject field of an X.509 certificate.
Interface that supports the reading of XML data via the libxml streaming API. The functions of this interface should only be called on the thread that creates the object.
Interface that supports the reading of zip archives via the zlib unzip API. The functions of this interface should only be called on the thread that creates the object.
Custom interface used to handle all the TChromiumCore events.