2017-01-27 17:37:51 +02:00
unit uCEFTypes;
2018-05-12 14:50:54 +02:00
{$IFDEF FPC}
{$MODE OBJFPC} {$H+}
{$ENDIF}
2017-02-05 21:56:46 +02:00
{$I cef.inc}
2022-02-19 19:56:41 +02:00
{$IFNDEF TARGET_64BITS} {$ALIGN ON} {$ENDIF}
{$MINENUMSIZE 4}
2017-01-27 17:37:51 +02:00
interface
uses
2017-02-05 21:56:46 +02:00
{$IFDEF DELPHI16_UP}
2020-01-28 12:36:34 +02:00
{$IFDEF MSWINDOWS}
WinApi . Windows,
{$ELSE}
2021-01-31 17:53:07 +02:00
System. Types, {$IFDEF LINUX} uCEFLinuxTypes, {$ENDIF}
2020-01-28 12:36:34 +02:00
{$ENDIF}
System. Math;
2017-02-05 21:56:46 +02:00
{$ELSE}
2019-12-18 16:10:30 +02:00
{$IFDEF FPC} {$IFDEF LINUX} xlib, ctypes, {$ENDIF} {$ENDIF}
2018-06-03 17:18:54 +02:00
{$IFDEF MSWINDOWS} Windows, {$ENDIF} Math;
2017-02-05 21:56:46 +02:00
{$ENDIF}
2017-01-27 17:37:51 +02:00
type
PCefStringWide = ^ TCefStringWide;
PCefDictionaryValue = ^ TCefDictionaryValue;
PCefListValue = ^ TCefListValue;
PCefBrowser = ^ TCefBrowser;
PCefValue = ^ TCefValue;
PCefBinaryValue = ^ TCefBinaryValue;
PCefSchemeRegistrar = ^ TCefSchemeRegistrar;
2022-12-16 12:29:15 +02:00
PCefPreferenceRegistrar = ^ TCefPreferenceRegistrar;
PCefPreferenceManager = ^ TCefPreferenceManager;
2017-01-27 17:37:51 +02:00
PCefCommandLine = ^ TCefCommandLine;
2022-05-03 12:43:16 +02:00
PCefCommandHandler = ^ TCefCommandHandler;
2017-03-16 20:09:42 +02:00
PCefBaseRefCounted = ^ TCefBaseRefCounted;
PCefBaseScoped = ^ TCefBaseScoped;
2017-01-27 17:37:51 +02:00
PCefWindowInfo = ^ TCefWindowInfo;
PCefSettings = ^ TCefSettings;
PCefStringUtf8 = ^ TCefStringUtf8;
PCefStringUtf16 = ^ TCefStringUtf16;
PCefStringUserFreeWide = ^ TCefStringUserFreeWide;
PCefStringUserFreeUtf8 = ^ TCefStringUserFreeUtf8;
PCefStringUserFreeUtf16 = ^ TCefStringUserFreeUtf16;
PCefMainArgs = ^ TCefMainArgs;
PCefColor = ^ TCefColor;
PCefBrowserHost = ^ TCefBrowserHost;
PCefClient = ^ TCefClient;
PCefPrintHandler = ^ TCefPrintHandler;
PCefResourceBundleHandler = ^ TCefResourceBundleHandler;
PCefBrowserProcessHandler = ^ TCefBrowserProcessHandler;
PCefContextMenuHandler = ^ TCefContextMenuHandler;
2022-08-06 12:00:28 +02:00
PCefRunQuickMenuCallback = ^ TCefRunQuickMenuCallback;
2017-06-06 12:49:27 +02:00
PCefAccessibilityHandler = ^ TCefAccessibilityHandler;
2017-01-27 17:37:51 +02:00
PCefFrame = ^ TCefFrame;
2021-07-29 16:20:34 +02:00
PCefFrameHandler = ^ TCefFrameHandler;
2017-01-27 17:37:51 +02:00
PCefApp = ^ TCefApp;
2017-12-07 11:49:51 +02:00
PCefServer = ^ TCefServer;
PCefServerHandler = ^ TCefServerHandler;
2017-01-27 17:37:51 +02:00
PCefStringVisitor = ^ TCefStringVisitor;
PCefRequest = ^ TCefRequest;
PCefPostData = ^ TCefPostData;
PCefPostDataElement = ^ TCefPostDataElement;
PPCefPostDataElement = ^ PCefPostDataElement;
PCefv8Context = ^ TCefv8Context;
PCefV8Interceptor = ^ TCefV8Interceptor;
PCefTask = ^ TCefTask;
PCefv8Value = ^ TCefv8Value;
2022-09-04 19:18:07 +02:00
PCefBaseTime = ^ TCefBaseTime;
2017-01-27 17:37:51 +02:00
PCefTime = ^ TCefTime;
PCefV8Exception = ^ TCefV8Exception;
2018-04-20 12:45:06 +02:00
PCefv8ArrayBufferReleaseCallback = ^ TCefv8ArrayBufferReleaseCallback;
2017-01-27 17:37:51 +02:00
PCefv8Handler = ^ TCefv8Handler;
PPCefV8Value = ^ PCefV8ValueArray;
PCefDomVisitor = ^ TCefDomVisitor;
PCefDomDocument = ^ TCefDomDocument;
PCefDomNode = ^ TCefDomNode;
PCefContextMenuParams = ^ TCefContextMenuParams;
PCefMenuModel = ^ TCefMenuModel;
PCefRunContextMenuCallback = ^ TCefRunContextMenuCallback;
PCefDialogHandler = ^ TCefDialogHandler;
PCefFileDialogCallback = ^ TCefFileDialogCallback;
PCefDisplayHandler = ^ TCefDisplayHandler;
PCefDownloadHandler = ^ TCefDownloadHandler;
PCefDownloadItem = ^ TCefDownloadItem;
PCefBeforeDownloadCallback = ^ TCefBeforeDownloadCallback;
PCefDownloadItemCallback = ^ TCefDownloadItemCallback;
PCefDragHandler = ^ TCefDragHandler;
PCefDragData = ^ TCefDragData;
PCefDraggableRegionArray = ^ TCefDraggableRegionArray;
PCefDraggableRegion = ^ TCefDraggableRegion;
PCefRect = ^ TCefRect;
PCefPoint = ^ TCefPoint;
PCefSize = ^ TCefSize;
PCefRectArray = ^ TCefRectArray;
PCefRange = ^ TCefRange;
PCefStreamWriter = ^ TCefStreamWriter;
PCefFindHandler = ^ TCefFindHandler;
PCefFocusHandler = ^ TCefFocusHandler;
PCefJsDialogHandler = ^ TCefJsDialogHandler;
PCefJsDialogCallback = ^ TCefJsDialogCallback;
PCefKeyboardHandler = ^ TCefKeyboardHandler;
PCefKeyEvent = ^ TCefKeyEvent;
PCefLifeSpanHandler = ^ TCefLifeSpanHandler;
2017-09-19 19:18:52 +02:00
PCefGetExtensionResourceCallback = ^ TCefGetExtensionResourceCallback;
PCefExtensionHandler = ^ TCefExtensionHandler;
2020-05-23 15:00:44 +02:00
PCefAudioHandler = ^ TCefAudioHandler;
PCefAudioParameters = ^ TCefAudioParameters;
2017-09-19 19:18:52 +02:00
PCefExtension = ^ TCefExtension;
2017-01-27 17:37:51 +02:00
PCefPopupFeatures = ^ TCefPopupFeatures;
PCefBrowserSettings = ^ TCefBrowserSettings;
PCefLoadHandler = ^ TCefLoadHandler;
PCefRenderHandler = ^ TCefRenderHandler;
PCefScreenInfo = ^ TCefScreenInfo;
PCefRenderProcessHandler = ^ TCefRenderProcessHandler;
PCefCursorInfo = ^ TCefCursorInfo;
PCefThread = ^ TCefThread;
PCefWaitableEvent = ^ TCefWaitableEvent;
PCefV8StackTrace = ^ TCefV8StackTrace;
PCefV8StackFrame = ^ TCefV8StackFrame;
PCefProcessMessage = ^ TCefProcessMessage;
PCefRequestHandler = ^ TCefRequestHandler;
2022-08-06 12:00:28 +02:00
PCefMediaAccessCallback = ^ TCefMediaAccessCallback;
PCefMediaAccessHandler = ^ TCefMediaAccessHandler;
PCefPermissionHandler = ^ TCefPermissionHandler;
PCefSharedMemoryRegion = ^ TCefSharedMemoryRegion;
PCefSharedProcessMessageBuilder = ^ TCefSharedProcessMessageBuilder;
PCefPermissionPromptCallback = ^ TCefPermissionPromptCallback;
2019-06-16 10:31:13 +02:00
PCefResourceSkipCallback = ^ TCefResourceSkipCallback;
PCefResourceReadCallback = ^ TCefResourceReadCallback;
2017-01-27 17:37:51 +02:00
PCefResourceHandler = ^ TCefResourceHandler;
2019-06-16 10:31:13 +02:00
PCefResourceRequestHandler = ^ TCefResourceRequestHandler;
PCefCookieAccessFilter = ^ TCefCookieAccessFilter;
2017-01-27 17:37:51 +02:00
PCefResponse = ^ TCefResponse;
PCefResponseFilter = ^ TCefResponseFilter;
PCefAuthCallback = ^ TCefAuthCallback;
PCefSslInfo = ^ TCefSslInfo;
PCefSSLStatus = ^ TCefSSLStatus;
PCefSelectClientCertificateCallback = ^ TCefSelectClientCertificateCallback;
PCefCallback = ^ TCefCallback;
PCefCookie = ^ TCefCookie;
PCefRequestContext = ^ TCefRequestContext;
PCefRequestContextHandler = ^ TCefRequestContextHandler;
PCefCompletionCallback = ^ TCefCompletionCallback;
PCefCookieManager = ^ TCefCookieManager;
PCefSchemeHandlerFactory = ^ TCefSchemeHandlerFactory;
PCefResolveCallback = ^ TCefResolveCallback;
PCefCookieVisitor = ^ TCefCookieVisitor;
PCefSetCookieCallback = ^ TCefSetCookieCallback;
PCefDeleteCookiesCallback = ^ TCefDeleteCookiesCallback;
PCefRunFileDialogCallback = ^ TCefRunFileDialogCallback;
PCefDownloadImageCallback = ^ TCefDownloadImageCallback;
PCefImage = ^ TCefImage;
PCefPdfPrintSettings = ^ TCefPdfPrintSettings;
PCefPdfPrintCallback = ^ TCefPdfPrintCallback;
PCefNavigationEntryVisitor = ^ TCefNavigationEntryVisitor;
PCefNavigationEntry = ^ TCefNavigationEntry;
PCefMouseEvent = ^ TCefMouseEvent;
2019-03-15 18:17:14 +02:00
PCefTouchEvent = ^ TCefTouchEvent;
2022-08-06 12:00:28 +02:00
PCefTouchHandleState = ^ TCefTouchHandleState;
2017-01-27 17:37:51 +02:00
PCefPrintSettings = ^ TCefPrintSettings;
PCefPrintDialogCallback = ^ TCefPrintDialogCallback;
PCefPrintJobCallback = ^ TCefPrintJobCallback;
PCefUrlParts = ^ TCefUrlParts;
PCefStreamReader = ^ TCefStreamReader;
PCefReadHandler = ^ TCefReadHandler;
PCefWriteHandler = ^ TCefWriteHandler;
PCefV8Accessor = ^ TCefV8Accessor;
PCefXmlReader = ^ TCefXmlReader;
PCefZipReader = ^ TCefZipReader;
PCefUrlRequestClient = ^ TCefUrlRequestClient;
PCefUrlRequest = ^ TCefUrlRequest;
PCefTaskRunner = ^ TCefTaskRunner;
PCefEndTracingCallback = ^ TCefEndTracingCallback;
PCefRequestContextSettings = ^ TCefRequestContextSettings;
PCefResourceBundle = ^ TCefResourceBundle;
PCefMenuModelDelegate = ^ TCefMenuModelDelegate;
PCefInsets = ^ TCefInsets;
PCefCompositionUnderline = ^ TCefCompositionUnderline;
PCefX509CertPrincipal = ^ TCefX509CertPrincipal;
PCefX509Certificate = ^ TCefX509Certificate;
PPCefX509Certificate = ^ PCefX509Certificate;
2018-05-24 19:15:41 +02:00
PCefDisplay = ^ TCefDisplay;
2020-04-29 19:14:44 +02:00
PPCefDisplay = ^ PCefDisplay;
2018-05-24 19:15:41 +02:00
PCefLayout = ^ TCefLayout;
PCefBoxLayout = ^ TCefBoxLayout;
PCefFillLayout = ^ TCefFillLayout;
2021-09-27 12:04:33 +02:00
PCefOverlayController = ^ TCefOverlayController;
2018-05-24 19:15:41 +02:00
PCefView = ^ TCefView;
PCefViewDelegate = ^ TCefViewDelegate;
PCefTextfield = ^ TCefTextfield;
PCefTextfieldDelegate = ^ TCefTextfieldDelegate;
PCefScrollView = ^ TCefScrollView;
PCefPanel = ^ TCefPanel;
PCefPanelDelegate = ^ TCefPanelDelegate;
PCefBrowserView = ^ TCefBrowserView;
PCefBrowserViewDelegate = ^ TCefBrowserViewDelegate;
PCefButton = ^ TCefButton;
PCefButtonDelegate = ^ TCefButtonDelegate;
PCefLabelButton = ^ TCefLabelButton;
PCefMenuButton = ^ TCefMenuButton;
PCefMenuButtonPressedLock = ^ TCefMenuButtonPressedLock;
PCefMenuButtonDelegate = ^ TCefMenuButtonDelegate;
PCefWindow = ^ TCefWindow;
PCefWindowDelegate = ^ TCefWindowDelegate;
PCefBoxLayoutSettings = ^ TCefBoxLayoutSettings;
2020-03-29 17:31:42 +02:00
PCefRegistration = ^ TCefRegistration;
2020-06-21 21:27:55 +02:00
PCefDevToolsMessageObserver = ^ TCefDevToolsMessageObserver;
2020-03-29 17:31:42 +02:00
PCefMediaRouter = ^ TCefMediaRouter;
PCefMediaRoute = ^ TCefMediaRoute;
PPCefMediaRoute = ^ PCefMediaRoute;
PCefMediaRouteCreateCallback = ^ TCefMediaRouteCreateCallback;
PCefMediaObserver = ^ TCefMediaObserver;
PCefMediaSink = ^ TCefMediaSink;
PPCefMediaSink = ^ PCefMediaSink;
2020-07-15 14:56:41 +02:00
PCefMediaSinkDeviceInfoCallback = ^ TCefMediaSinkDeviceInfoCallback;
2020-03-29 17:31:42 +02:00
PCefMediaSource = ^ TCefMediaSource;
2020-07-15 14:56:41 +02:00
PCefMediaSinkDeviceInfo = ^ TCefMediaSinkDeviceInfo;
2018-05-24 19:15:41 +02:00
{$IFDEF MSWINDOWS}
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Window handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_win.h">CEF source file: /include/internal/cef_types_win.h (cef_window_handle_t)</see></para>
/// </remarks>
TCefWindowHandle = type HWND;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Cursor handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_win.h">CEF source file: /include/internal/cef_types_win.h (cef_cursor_handle_t)</see></para>
/// </remarks>
TCefCursorHandle = type HCURSOR;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native event handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_win.h">CEF source file: /include/internal/cef_types_win.h (cef_event_handle_t)</see></para>
/// </remarks>
TCefEventHandle = type PMsg;
2018-05-24 19:15:41 +02:00
{$ENDIF}
2021-01-31 17:53:07 +02:00
{$IFDEF MACOSX}
{$IFDEF FPC}
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Window handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_mac.h">CEF source file: /include/internal/cef_types_mac.h (cef_window_handle_t)</see></para>
/// </remarks>
TCefWindowHandle = type PtrUInt;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Cursor handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_mac.h">CEF source file: /include/internal/cef_types_mac.h (cef_cursor_handle_t)</see></para>
/// </remarks>
TCefCursorHandle = type PtrUInt;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native event handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_mac.h">CEF source file: /include/internal/cef_types_mac.h (cef_event_handle_t)</see></para>
/// </remarks>
TCefEventHandle = type PtrUInt;
2021-01-31 17:53:07 +02:00
{$ELSE}
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Window handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_mac.h">CEF source file: /include/internal/cef_types_mac.h (cef_window_handle_t)</see></para>
/// </remarks>
TCefWindowHandle = type Pointer ;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Cursor handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_mac.h">CEF source file: /include/internal/cef_types_mac.h (cef_cursor_handle_t)</see></para>
/// </remarks>
TCefCursorHandle = type Pointer ;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native event handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_mac.h">CEF source file: /include/internal/cef_types_mac.h (cef_event_handle_t)</see></para>
/// </remarks>
TCefEventHandle = type Pointer ;
2021-01-31 17:53:07 +02:00
{$ENDIF}
2018-05-24 19:15:41 +02:00
{$ENDIF}
2021-01-31 17:53:07 +02:00
2018-05-24 19:15:41 +02:00
{$IFDEF LINUX}
2020-12-18 17:51:02 +02:00
{$IFDEF FPC}
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Window handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_linux.h">CEF source file: /include/internal/cef_types_linux.h (cef_window_handle_t)</see></para>
/// </remarks>
TCefWindowHandle = type culong;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Cursor handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_linux.h">CEF source file: /include/internal/cef_types_linux.h (cef_cursor_handle_t)</see></para>
/// </remarks>
TCefCursorHandle = type culong;
2020-12-18 17:51:02 +02:00
{$ELSE}
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Window handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_linux.h">CEF source file: /include/internal/cef_types_linux.h (cef_window_handle_t)</see></para>
/// </remarks>
TCefWindowHandle = type LongWord ;
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native Cursor handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_linux.h">CEF source file: /include/internal/cef_types_linux.h (cef_cursor_handle_t)</see></para>
/// </remarks>
TCefCursorHandle = type LongWord ;
2020-12-18 17:51:02 +02:00
{$ENDIF}
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Native event handle.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_linux.h">CEF source file: /include/internal/cef_types_linux.h (cef_event_handle_t)</see></para>
/// </remarks>
TCefEventHandle = type PXEvent;
2018-05-24 19:15:41 +02:00
{$ENDIF}
2017-01-27 17:37:51 +02:00
2023-07-30 18:47:35 +02:00
/// <summary>
/// Platform thread ID.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_thread_internal.h">CEF source file: /include/internal/cef_thread_internal.h (cef_platform_thread_id_t)</see></para>
/// </remarks>
TCefPlatformThreadId = DWORD;
/// <summary>
/// Platform thread handle.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_thread_internal.h">CEF source file: /include/internal/cef_thread_internal.h (cef_platform_thread_handle_t)</see></para>
/// </remarks>
TCefPlatformThreadHandle = DWORD;
/// <summary>
/// Transition type for a request. Made up of one source value and 0 or more
/// qualifiers.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_transition_type_t)</see></para>
/// </remarks>
TCefTransitionType = Cardinal ;
/// <summary>
/// 32-bit ARGB color value, not premultiplied. The color components are always
/// in a known order. Equivalent to the SkColor type.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_color_t)</see></para>
/// </remarks>
TCefColor = Cardinal ;
/// <summary>
/// Supported error code values.
/// Ranges:
/// 0- 99 System related errors
/// 100-199 Connection related errors
/// 200-299 Certificate errors
/// 300-399 HTTP errors
/// 400-499 Cache errors
/// 500-599 ?
/// 600-699 FTP errors
/// 700-799 Certificate manager errors
/// 800-899 DNS resolver errors
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_errorcode_t)</see></para>
/// <para><see href="https://chromium.googlesource.com/chromium/src/+/master/net/base/net_error_list.h">For the complete list of error values see include/base/internal/cef_net_error_list.h which includes this Chromium source file /net/base/net_error_list.h</see></para>
/// </remarks>
TCefErrorCode = Integer ;
/// <summary>
/// Supported certificate status code values. See net\cert\cert_status_flags.h
/// for more information. CERT_STATUS_NONE is new in CEF because we use an
/// enum while cert_status_flags.h uses a typedef and static const variables.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_cert_status_t)</see></para>
/// </remarks>
TCefCertStatus = Integer ;
/// <summary>
/// Supported SSL version values.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_ssl_version_t)</see></para>
/// <para><see href="https://source.chromium.org/chromium/chromium/src/+/main:net/ssl/ssl_connection_status_flags.h">See net/ssl/ssl_connection_status_flags.h for more information.</see></para>
/// </remarks>
TCefSSLVersion = integer ;
/// <summary>
/// CEF string maps are a set of key/value string pairs.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_string_list.h">CEF source file: /include/internal/cef_string_list.h (cef_string_list_t)</see></para>
/// </remarks>
TCefStringList = Pointer ;
/// <summary>
/// CEF string maps are a set of key/value string pairs.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_string_map.h">CEF source file: /include/internal/cef_string_map.h (cef_string_map_t)</see></para>
/// </remarks>
TCefStringMap = Pointer ;
/// <summary>
/// CEF string multimaps are a set of key/value string pairs.
/// More than one value can be assigned to a single key.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_string_multimap.h">CEF source file: /include/internal/cef_string_multimap.h (cef_string_multimap_t)</see></para>
/// </remarks>
TCefStringMultimap = Pointer ;
/// <summary>
/// URI unescape rules passed to CefURIDecode().
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_uri_unescape_rule_t)</see></para>
/// </remarks>
TCefUriUnescapeRule = Integer ;
/// <summary>
/// DOM event category flags.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_dom_event_category_t)</see></para>
/// </remarks>
TCefDomEventCategory = Integer ;
/// <summary>
/// Supported event bit flags.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_event_flags_t)</see></para>
/// </remarks>
TCefEventFlags = Cardinal ;
/// <summary>
/// "Verb" of a drag-and-drop operation as negotiated between the source and
/// destination. These constants match their equivalents in WebCore's
/// DragActions.h and should not be renumbered.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_drag_operations_mask_t)</see></para>
/// </remarks>
TCefDragOperations = Cardinal ;
TCefDragOperation = Cardinal ;
/// <summary>
/// V8 access control values.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_v8_accesscontrol_t)</see></para>
/// </remarks>
TCefV8AccessControls = Cardinal ;
/// <summary>
/// V8 property attribute values.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_v8_propertyattribute_t)</see></para>
/// </remarks>
TCefV8PropertyAttributes = Cardinal ;
/// <summary>
/// Flags used to customize the behavior of CefURLRequest.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_urlrequest_flags_t)</see></para>
/// </remarks>
TCefUrlRequestFlags = Cardinal ;
/// <summary>
/// Supported context menu type flags.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_context_menu_type_flags_t)</see></para>
/// </remarks>
TCefContextMenuTypeFlags = Cardinal ;
/// <summary>
/// Supported context menu media state bit flags. These constants match their
/// equivalents in Chromium's ContextMenuData::MediaFlags and should not be
/// renumbered.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_context_menu_media_state_flags_t)</see></para>
/// </remarks>
TCefContextMenuMediaStateFlags = Cardinal ;
/// <summary>
/// Supported context menu edit state bit flags. These constants match their
/// equivalents in Chromium's ContextMenuDataEditFlags and should not be
/// renumbered.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_context_menu_edit_state_flags_t)</see></para>
/// </remarks>
TCefContextMenuEditStateFlags = Cardinal ;
/// <summary>
/// Options that can be passed to CefWriteJSON.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_json_writer_options_t)</see></para>
/// </remarks>
TCefJsonWriterOptions = Cardinal ;
/// <summary>
/// Supported SSL content status flags. See content/public/common/ssl_status.h
/// for more information.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_ssl_content_status_t)</see></para>
/// </remarks>
TCefSSLContentStatus = Cardinal ;
/// <summary>
/// Log severity levels.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_log_severity_t)</see></para>
/// </remarks>
TCefLogSeverity = Cardinal ;
/// <summary>
/// Supported file dialog modes.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_file_dialog_mode_t)</see></para>
/// </remarks>
TCefFileDialogMode = Cardinal ;
/// <summary>
/// Print job duplex mode values.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_duplex_mode_t)</see></para>
/// </remarks>
TCefDuplexMode = Integer ;
/// <summary>
/// Configuration options for registering a custom scheme.
/// These values are used when calling AddCustomScheme.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_scheme_options_t)</see></para>
/// </remarks>
TCefSchemeOptions = Integer ;
/// <summary>
/// Result codes for ICefMediaRouter.CreateRoute. Should be kept in sync with
/// Chromium's media_router::mojom::RouteRequestResultCode type.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_media_route_create_result_t)</see></para>
/// </remarks>
TCefMediaRouterCreateResult = Integer ;
/// <summary>
/// Cookie priority values.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_cookie_priority_t)</see></para>
/// </remarks>
TCefCookiePriority = Integer ;
/// <summary>
/// Represents commands available to TextField.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_text_field_commands_t)</see></para>
/// </remarks>
TCefTextFieldCommands = Integer ;
/// <summary>
/// Chrome toolbar types.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_chrome_toolbar_type_t)</see></para>
/// </remarks>
TCefChromeToolbarType = Integer ;
/// <summary>
/// Docking modes supported by ICefWindow.AddOverlay.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_docking_mode_t)</see></para>
/// </remarks>
TCefDockingMode = type Integer ;
/// <summary>
/// Show states supported by ICefWindowDelegate.GetInitialShowState.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_show_state_t)</see></para>
/// </remarks>
TCefShowState = type Integer ;
/// <summary>
/// Supported quick menu state bit flags.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_quick_menu_edit_state_flags_t)</see></para>
/// </remarks>
TCefQuickMenuEditStateFlags = type Integer ;
/// <summary>
/// Values indicating what state of the touch handle is set.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_touch_handle_state_flags_t)</see></para>
/// </remarks>
TCefTouchHandleStateFlags = type Integer ;
/// <summary>
/// Media access permissions used by OnRequestMediaAccessPermission.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_media_access_permission_types_t)</see></para>
/// </remarks>
TCefMediaAccessPermissionTypes = type Integer ;
/// <summary>
/// Permission types used with OnShowPermissionPrompt. Some types are
/// platform-specific or only supported with the Chrome runtime. Should be kept
/// in sync with Chromium's permissions::RequestType type.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_permission_request_types_t)</see></para>
/// </remarks>
TCefPermissionRequestTypes = type Integer ;
/// <summary>
/// Download interrupt reasons. Should be kept in sync with
/// Chromium's download::DownloadInterruptReason type.
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_download_interrupt_reason_t)</see></para>
/// </remarks>
TCefDownloadInterruptReason = type Integer ;
/// <summary>
/// Supported menu IDs. Non-English translations can be provided for the
/// IDS_MENU_* strings in ICefResourceBundleHandler.GetLocalizedString().
/// </summary>
/// <remarks>
/// <para>See the uCEFConstants unit for all possible values.</para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_menu_id_t)</see></para>
/// </remarks>
TCefMenuId = type Integer ;
2020-05-23 15:00:44 +02:00
2018-05-14 16:12:21 +02:00
{$IFDEF FPC}
NativeInt = PtrInt;
NativeUInt = PtrUInt;
PNativeInt = ^ NativeInt ;
2017-02-14 12:01:16 +02:00
PNativeUInt = ^ NativeUInt ;
2023-08-09 19:38:57 +02:00
/// <summary>
/// String type used by CEF. ustring was created to use the same type in Delphi and Lazarus.
/// </summary>
2018-05-12 14:50:54 +02:00
ustring = type UnicodeString ;
2017-03-26 17:39:09 +02:00
rbstring = type AnsiString ;
2017-02-14 12:01:16 +02:00
{$ELSE}
2018-05-14 16:12:21 +02:00
{$IFNDEF DELPHI12_UP}
NativeUInt = Cardinal ;
PNativeUInt = ^ NativeUInt ;
NativeInt = Integer ;
uint16 = Word ;
2023-08-09 19:38:57 +02:00
/// <summary>
/// String type used by CEF. ustring was created to use the same type in Delphi and Lazarus.
/// </summary>
2018-05-14 16:12:21 +02:00
ustring = type WideString ;
rbstring = type AnsiString ;
{$ELSE}
2023-08-09 19:38:57 +02:00
/// <summary>
/// String type used by CEF. ustring was created to use the same type in Delphi and Lazarus.
/// </summary>
2018-05-14 16:12:21 +02:00
ustring = type string ;
rbstring = type RawByteString ;
{$IFNDEF DELPHI15_UP}
NativeUInt = Cardinal ;
PNativeUInt = ^ NativeUInt ;
{$ENDIF}
2017-03-26 17:39:09 +02:00
{$ENDIF}
2017-02-14 12:01:16 +02:00
{$ENDIF}
2017-01-27 17:37:51 +02:00
2023-07-30 18:47:35 +02:00
/// <summary>
/// Array of byte. Needed only for backwards compatibility with old Delphi versions.
/// </summary>
TCefCustomByteArray = array of byte ;
2020-01-13 16:39:44 +02:00
2019-11-20 11:45:46 +02:00
{$IFDEF MSWINDOWS}
2023-08-09 19:38:57 +02:00
/// <summary>
/// Record used with GetGlobalMemoryStatusEx to get the memory status.
/// </summary>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex">See the MEMORYSTATUSEX structure.</see></para>
/// </remarks>
2019-11-20 11:45:46 +02:00
TMyMemoryStatusEx = record
dwLength : DWORD;
dwMemoryLoad : DWORD;
ullTotalPhys : uint64 ;
ullAvailPhys : uint64 ;
ullTotalPageFile : uint64 ;
ullAvailPageFile : uint64 ;
ullTotalVirtual : uint64 ;
ullAvailVirtual : uint64 ;
ullAvailExtendedVirtual : uint64 ;
end ;
2021-10-27 12:18:33 +02:00
LPMEMORYSTATUSEX = ^ TMyMemoryStatusEx;
2021-01-28 20:29:04 +02:00
2023-08-09 19:38:57 +02:00
/// <summary>
/// Record used with RtlGetVersion to get the Windows version information.
/// </summary>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/ns-wdm-_osversioninfoexw">See the OSVERSIONINFOEXW structure.</see></para>
/// </remarks>
2021-01-28 20:29:04 +02:00
TOSVersionInfoEx = record
dwOSVersionInfoSize: DWORD;
dwMajorVersion: DWORD;
dwMinorVersion: DWORD;
dwBuildNumber: DWORD;
dwPlatformId: DWORD;
szCSDVersion: array [ 0 .. 1 2 7 ] of WideChar ;
wServicePackMajor: WORD ;
wServicePackMinor: WORD ;
wSuiteMask: WORD ;
wProductType: BYTE ;
wReserved: BYTE ;
end ;
{$IFDEF DELPHI14_UP}
2023-08-09 19:38:57 +02:00
/// <summary>
/// Record used with GetSystemMetrics(SM_DIGITIZER) to get the digitizer properties.
/// </summary>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/es-es/windows/win32/api/winuser/nf-winuser-getsystemmetrics">See the GetSystemMetrics function.</see></para>
/// </remarks>
2021-01-28 20:29:04 +02:00
TDigitizerStatus = record
IntegratedTouch : boolean ;
ExternalTouch : boolean ;
IntegratedPen : boolean ;
ExternalPen : boolean ;
MultiInput : boolean ;
Ready : boolean ;
end ;
{$ENDIF}
2019-11-20 11:45:46 +02:00
{$ENDIF}
2019-03-15 18:17:14 +02:00
PPSingle = ^ PSingle ;
2017-01-27 17:37:51 +02:00
Char16 = WideChar ;
PChar16 = PWideChar ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// CEF wide string type definition. Whomever allocates |str| is responsible for
/// providing an appropriate |dtor| implementation that will free the string in
/// the same memory space. When reusing an existing string structure make sure
/// to call |dtor| for the old value before assigning new |str| and |dtor|
/// values. Static strings will have a NULL |dtor| value. Using the below
/// functions if you want this managed for you.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_string_types.h">CEF source file: /include/internal/cef_string_types.h (cef_string_wide_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefStringWide = record
2018-03-29 20:02:04 +02:00
str : PWideChar ;
length : NativeUInt ;
dtor : procedure( str: PWideChar ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// CEF utf8 string type definition. Whomever allocates |str| is responsible for
/// providing an appropriate |dtor| implementation that will free the string in
/// the same memory space. When reusing an existing string structure make sure
/// to call |dtor| for the old value before assigning new |str| and |dtor|
/// values. Static strings will have a NULL |dtor| value. Using the below
/// functions if you want this managed for you.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_string_types.h">CEF source file: /include/internal/cef_string_types.h (cef_string_utf8_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefStringUtf8 = record
2018-03-29 20:02:04 +02:00
str : PAnsiChar ;
length : NativeUInt ;
dtor : procedure( str: PAnsiChar ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// CEF utf16 string type definition. Whomever allocates |str| is responsible for
/// providing an appropriate |dtor| implementation that will free the string in
/// the same memory space. When reusing an existing string structure make sure
/// to call |dtor| for the old value before assigning new |str| and |dtor|
/// values. Static strings will have a NULL |dtor| value. Using the below
/// functions if you want this managed for you.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_string_types.h">CEF source file: /include/internal/cef_string_types.h (cef_string_utf16_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefStringUtf16 = record
2018-03-29 20:02:04 +02:00
str : PChar16;
length : NativeUInt ;
dtor : procedure( str: PChar16) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-08-09 19:38:57 +02:00
/// <summary>
/// String record used by the CEF C API.
/// The CEF interface is built with the UTF16 string type as the default.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_string.h">CEF source file: /include/internal/cef_string.h (cef_string_t)</see></para>
/// </remarks>
TCefString = TCefStringUtf16;
PCefString = PCefStringUtf16;
2017-01-27 17:37:51 +02:00
TCefStringUserFreeWide = type TCefStringWide;
TCefStringUserFreeUtf8 = type TCefStringUtf8;
TCefStringUserFreeUtf16 = type TCefStringUtf16;
TCefChar = Char16;
PCefChar = PChar16;
TCefStringUserFree = TCefStringUserFreeUtf16;
PCefStringUserFree = PCefStringUserFreeUtf16;
2023-08-09 19:38:57 +02:00
/// <summary>
/// Record used by GetDLLVersion to get the DLL version information
/// </summary>
2017-03-22 16:22:11 +02:00
TFileVersionInfo = record
MajorVer : uint16 ;
MinorVer : uint16 ;
Release : uint16 ;
Build : uint16 ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// <para>Action taken after the TChromium.Onclose event.</para>
/// <para>cbaCancel : stop closing the browser.</para>
/// <para>cbaClose : continue closing the browser.</para>
/// <para>cbaDelay : stop closing the browser momentarily. Used when the application
2023-07-30 18:47:35 +02:00
/// needs to execute some custom processes before closing the
/// browser. This is usually needed to destroy a TCEFWindowParent
2023-08-18 12:05:45 +02:00
/// in the main thread before closing the browser.</para>
2023-07-30 18:47:35 +02:00
/// </summary>
2019-03-28 11:40:36 +02:00
TCefCloseBrowserAction = ( cbaClose, cbaDelay, cbaCancel) ;
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Sub-process types of Chromium.
2023-07-30 18:47:35 +02:00
/// </summary>
2021-12-11 12:43:58 +02:00
TCefProcessType = ( ptBrowser, ptRenderer, ptZygote, ptGPU, ptUtility, ptBroker, ptCrashpad, ptOther) ;
2017-11-01 10:38:38 +02:00
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in TChromium preferences to allow or block cookies.
/// </summary>
2020-03-04 10:42:32 +02:00
TCefCookiePref = ( cpDefault, cpAllow, cpBlock) ;
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Used by TCefBrowserNavigationTask to navigate in the right CEF thread.
2023-07-30 18:47:35 +02:00
/// </summary>
2020-11-22 17:42:52 +02:00
TCefBrowserNavigation = ( bnBack, bnForward, bnReload, bnReloadIgnoreCache, bnStopLoad) ;
2023-08-09 19:38:57 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Status of TCefAplicationCore.
2023-08-09 19:38:57 +02:00
/// </summary>
2017-12-18 20:38:56 +02:00
TCefAplicationStatus = ( asLoading,
asLoaded,
asInitialized,
2018-03-29 20:02:04 +02:00
asShuttingDown,
2017-12-18 20:38:56 +02:00
asUnloaded,
asErrorMissingFiles,
asErrorDLLVersion,
2023-04-15 14:59:17 +02:00
asErrorWindowsVersion,
2017-12-18 20:38:56 +02:00
asErrorLoadingLibrary,
asErrorInitializingLibrary,
asErrorExecutingProcess) ;
2023-08-31 17:22:45 +02:00
/// <summary>
/// Color mode in UI for platforms that support it.
/// </summary>
TUIColorMode = (
/// <summary>
/// System default.
/// </summary>
uicmSystemDefault,
/// <summary>
/// Forces light color mode in UI for platforms that support it.
/// </summary>
uicmForceLight,
/// <summary>
/// Forces dark color mode in UI for platforms that support it.
/// </summary>
uicmForceDark) ;
2023-08-09 19:38:57 +02:00
/// <summary>
/// Supported proxy schemes in Chromium.
/// </summary>
2017-12-30 16:42:29 +02:00
TCefProxyScheme = ( psHTTP, psSOCKS4, psSOCKS5) ;
2023-08-09 19:38:57 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Storage types used by the Storage.clearDataForOrigin DevTools method in TChromiumCore.ClearDataForOrigin.
2023-08-09 19:38:57 +02:00
/// </summary>
2020-07-05 12:56:21 +02:00
TCefClearDataStorageTypes = ( cdstAppCache,
cdstCookies,
cdstFileSystems,
cdstIndexeddb,
cdstLocalStorage,
cdstShaderCache,
cdstWebsql,
cdstServiceWorkers,
cdstCacheStorage,
cdstAll) ;
2023-08-09 19:38:57 +02:00
/// <summary>
/// Autoplay policy types used by TCefApplicationCore.AutoplayPolicy. See the --autoplay-policy switch.
/// </summary>
2018-08-23 14:24:18 +02:00
TCefAutoplayPolicy = ( appDefault,
appDocumentUserActivationRequired,
appNoUserGestureRequired,
2019-07-04 10:03:43 +02:00
appUserGestureRequired) ;
2018-08-23 14:24:18 +02:00
2023-08-09 19:38:57 +02:00
/// <summary>
/// WebRTC handling policy types used by TChromiumCore.WebRTCIPHandlingPolicy.
/// </summary>
2017-11-04 10:40:31 +02:00
TCefWebRTCHandlingPolicy = (
hpDefault,
hpDefaultPublicAndPrivateInterfaces,
hpDefaultPublicInterfaceOnly,
hpDisableNonProxiedUDP
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Values used by the --net-log-capture-mode command line switch.
/// Sets the granularity of events to capture in the network log.
/// </summary>
/// <remarks>
/// <para><see href="https://source.chromium.org/chromium/chromium/src/+/main:content/browser/network_service_instance_impl.cc">network_service_instance_impl.cc</see></para>
/// <para><see href="https://source.chromium.org/chromium/chromium/src/+/main:net/log/net_log_capture_mode.h">net_log_capture_mode.h</see></para>
/// </remarks>
2023-01-22 10:15:40 +02:00
TCefNetLogCaptureMode = (
2023-08-03 15:50:13 +02:00
/// <summary>
/// Default logging level, which is expected to be light-weight and
/// does best-effort stripping of privacy/security sensitive data.
///
/// * Includes most HTTP request/response headers, but strips cookies and
/// auth.
/// * Does not include the full bytes read/written to sockets.
/// </summary>
2023-01-22 10:15:40 +02:00
nlcmDefault,
2023-08-03 15:50:13 +02:00
/// <summary>
/// Logging level that includes everything from kDefault, plus sensitive data
/// that it may have strippped.
///
/// * Includes cookies and authentication headers.
/// * Does not include the full bytes read/written to sockets.
/// </summary>
2023-01-22 10:15:40 +02:00
nlcmIncludeSensitive,
2023-08-03 15:50:13 +02:00
/// <summary>
/// Logging level that includes everything that is possible to be logged.
///
/// * Includes the actual bytes read/written to sockets
/// * Will result in large log files.
/// </summary>
2023-01-22 10:15:40 +02:00
nlcmEverything
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Values used by the battery saver mode state preference.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
2023-08-07 20:21:42 +02:00
/// <para><see href="https://source.chromium.org/chromium/chromium/src/+/main:components/performance_manager/public/user_tuning/prefs.h">components/performance_manager/public/user_tuning/prefs.h</see></para>
2023-07-30 18:47:35 +02:00
/// </remarks>
2023-01-25 19:06:32 +02:00
TCefBatterySaverModeState = (
bsmsDisabled = 0 ,
bsmsEnabledBelowThreshold = 1 ,
bsmsEnabledOnBattery = 2 ,
bsmsEnabled = 3 ,
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Custom value used to update the preferences only when there's a non-default value.
2023-07-30 18:47:35 +02:00
/// </summary>
bsmsDefault = 4
2023-01-25 19:06:32 +02:00
) ;
2023-08-07 20:21:42 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Values used by the high efficiency mode state preference.
2023-08-07 20:21:42 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://source.chromium.org/chromium/chromium/src/+/main:components/performance_manager/public/user_tuning/prefs.h">components/performance_manager/public/user_tuning/prefs.h</see></para>
/// </remarks>
TCefHighEfficiencyModeState = (
kDisabled = 0 ,
kEnabled = 1 ,
kEnabledOnTimer = 2 ,
/// <summary>
2023-08-18 12:05:45 +02:00
/// Custom value used to update the preferences only when there's a non-default value.
2023-08-07 20:21:42 +02:00
/// </summary>
kDefault = 3
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Used by TCEFFileDialogInfo.
2023-07-30 18:47:35 +02:00
/// </summary>
2021-11-28 21:16:49 +02:00
TCEFDialogType = ( dtOpen, dtOpenMultiple, dtOpenFolder, dtSave) ;
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Used by TCefMediaSinkInfo and TCefMediaSourceInfo.
2023-07-30 18:47:35 +02:00
/// </summary>
2020-04-19 22:47:20 +02:00
TCefMediaType = ( mtCast, mtDial, mtUnknown) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing CefExecuteProcess arguments.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_win.h">CEF source file: /include/internal/cef_types_win.h (cef_main_args_t)</see></para>
/// </remarks>
2017-11-01 10:38:38 +02:00
TCefMainArgs = record
2018-05-24 19:15:41 +02:00
{$IFDEF MSWINDOWS}
2018-03-29 20:02:04 +02:00
instance : HINST;
2018-05-24 19:15:41 +02:00
{$ELSE}
argc : Integer ;
2022-03-26 21:05:29 +02:00
argv : PPAnsiChar;
2018-05-24 19:15:41 +02:00
{$ENDIF}
2017-11-01 10:38:38 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a rectangle.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_geometry.h">CEF source file: /include/internal/cef_types_geometry.h (cef_rect_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRect = record
2018-03-29 20:02:04 +02:00
x : Integer ;
y : Integer ;
width : Integer ;
height : Integer ;
2017-01-27 17:37:51 +02:00
end ;
2019-01-08 20:15:25 +02:00
TCefRectArray = array [ 0 .. ( High( Integer ) div SizeOf( TCefRect) ) - 1 ] of TCefRect;
TCefRectDynArray = array of TCefRect;
2017-01-27 17:37:51 +02:00
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a point.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_geometry.h">CEF source file: /include/internal/cef_types_geometry.h (cef_point_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPoint = record
2018-03-29 20:02:04 +02:00
x : Integer ;
y : Integer ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a size.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_geometry.h">CEF source file: /include/internal/cef_types_geometry.h (cef_size_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSize = record
2018-03-29 20:02:04 +02:00
width : Integer ;
height : Integer ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a range.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_range_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRange = record
2023-05-29 17:20:32 +02:00
from : cardinal ;
to_ : cardinal ;
2017-01-27 17:37:51 +02:00
end ;
TCefRangeArray = array of TCefRange;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing cursor information. |buffer| will be
/// |size.width|*|size.height|*4 bytes in size and represents a BGRA image with
/// an upper-left origin.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_cursor_info_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCursorInfo = record
2018-03-29 20:02:04 +02:00
hotspot : TCefPoint;
image_scale_factor : Single ;
buffer : Pointer ;
size : TCefSize;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// URL component parts.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_urlparts_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefUrlParts = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// The complete URL specification.
/// </summary>
2018-03-29 20:02:04 +02:00
spec : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Scheme component not including the colon (e.g., "http").
/// </summary>
2018-03-29 20:02:04 +02:00
scheme : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// User name component.
/// </summary>
2018-03-29 20:02:04 +02:00
username : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Password component.
/// </summary>
2018-03-29 20:02:04 +02:00
password : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Host component. This may be a hostname, an IPv4 address or an IPv6 literal
/// surrounded by square brackets (e.g., "[2001:db8::1]").
/// </summary>
2018-03-29 20:02:04 +02:00
host : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Port number component.
/// </summary>
2018-03-29 20:02:04 +02:00
port : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Origin contains just the scheme, host, and port from a URL. Equivalent to
/// clearing any username and password, replacing the path with a slash, and
/// clearing everything after that. This value will be empty for non-standard
/// URLs.
/// </summary>
2018-03-29 20:02:04 +02:00
origin : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Path component including the first slash following the host.
/// </summary>
2018-03-29 20:02:04 +02:00
path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Query string component (i.e., everything following the '?').
/// </summary>
2018-03-29 20:02:04 +02:00
query : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Fragment (hash) identifier component (i.e., the string following the '#').
/// </summary>
2020-04-10 09:49:34 +02:00
fragment : TCefString;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// String version of TCefUrlParts
/// </summary>
2017-05-01 14:45:54 +02:00
TUrlParts = record
2018-03-29 20:02:04 +02:00
spec : ustring;
scheme : ustring;
username : ustring;
password : ustring;
host : ustring;
port : ustring;
origin : ustring;
path : ustring;
query : ustring;
2020-04-10 09:49:34 +02:00
fragment : ustring;
2017-05-01 14:45:54 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing insets.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_geometry.h">CEF source file: /include/internal/cef_types_geometry.h (cef_insets_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefInsets = record
2018-03-29 20:02:04 +02:00
top : Integer ;
left : Integer ;
bottom : Integer ;
right : Integer ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Represents the state of a setting.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_state_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefState = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Use the default state for the setting.
/// </summary>
2017-01-27 17:37:51 +02:00
STATE_DEFAULT = 0 ,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Enable or allow the setting.
/// </summary>
2017-01-27 17:37:51 +02:00
STATE_ENABLED,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Disable or disallow the setting.
/// </summary>
2017-01-27 17:37:51 +02:00
STATE_DISABLED
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported UI scale factors for the platform. SCALE_FACTOR_NONE is used for
/// density independent resources such as string, html/js files or an image that
/// can be used for any scale factors (such as wallpapers).
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_scale_factor_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefScaleFactor = (
SCALE_FACTOR_NONE = 0 ,
SCALE_FACTOR_100P,
SCALE_FACTOR_125P,
SCALE_FACTOR_133P,
SCALE_FACTOR_140P,
SCALE_FACTOR_150P,
SCALE_FACTOR_180P,
SCALE_FACTOR_200P,
SCALE_FACTOR_250P,
SCALE_FACTOR_300P
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported value types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_value_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefValueType = (
VTYPE_INVALID = 0 ,
VTYPE_NULL,
VTYPE_BOOL,
VTYPE_INT,
VTYPE_DOUBLE,
VTYPE_STRING,
VTYPE_BINARY,
VTYPE_DICTIONARY,
VTYPE_LIST
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Connection state for a MediaRoute object.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_media_route_connection_state_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefMediaRouteConnectionState = (
CEF_MRCS_UNKNOWN,
CEF_MRCS_CONNECTING,
CEF_MRCS_CONNECTED,
CEF_MRCS_CLOSED,
CEF_MRCS_TERMINATED
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Icon types for a MediaSink object. Should be kept in sync with Chromium's
/// media_router::SinkIconType type.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_media_sink_icon_type_t)</see></para>
/// </remarks>
2020-04-30 17:28:41 +02:00
TCefMediaSinkIconType = (
CEF_MSIT_CAST,
CEF_MSIT_CAST_AUDIO_GROUP,
CEF_MSIT_CAST_AUDIO,
CEF_MSIT_MEETING,
CEF_MSIT_HANGOUT,
CEF_MSIT_EDUCATION,
CEF_MSIT_WIRED_DISPLAY,
CEF_MSIT_GENERIC,
2023-07-30 18:47:35 +02:00
/// <summary>
/// The total number of values.
/// </summary>
2020-04-30 17:28:41 +02:00
CEF_MSIT_TOTAL_COUNT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Policy for how the Referrer HTTP header value will be sent during
/// navigation. If the `--no-referrers` command-line flag is specified then the
/// policy value will be ignored and the Referrer value will never be sent. Must
/// be kept synchronized with net::URLRequest::ReferrerPolicy from Chromium.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_referrer_policy_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefReferrerPolicy = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Clear the referrer header if the header value is HTTPS but the request
/// destination is HTTP. This is the default behavior. It has the same
/// value as REFERRER_POLICY_DEFAULT.
/// </summary>
REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE,
/// <summary>
/// A slight variant on CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE:
/// If the request destination is HTTP, an HTTPS referrer will be cleared. If
/// the request's destination is cross-origin with the referrer (but does not
/// downgrade), the referrer's granularity will be stripped down to an origin
/// rather than a full URL. Same-origin requests will send the full referrer.
/// </summary>
2017-09-13 10:25:52 +02:00
REFERRER_POLICY_REDUCE_REFERRER_GRANULARITY_ON_TRANSITION_CROSS_ORIGIN,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Strip the referrer down to an origin when the origin of the referrer is
/// different from the destination's origin.
/// </summary>
2017-09-13 10:25:52 +02:00
REFERRER_POLICY_ORIGIN_ONLY_ON_TRANSITION_CROSS_ORIGIN,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Never change the referrer.
/// </summary>
2017-09-13 10:25:52 +02:00
REFERRER_POLICY_NEVER_CLEAR_REFERRER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Strip the referrer down to the origin regardless of the redirect location.
/// </summary>
2017-01-27 17:37:51 +02:00
REFERRER_POLICY_ORIGIN,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Clear the referrer when the request's referrer is cross-origin with the
/// request's destination.
/// </summary>
2017-09-13 10:25:52 +02:00
REFERRER_POLICY_CLEAR_REFERRER_ON_TRANSITION_CROSS_ORIGIN,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Strip the referrer down to the origin, but clear it entirely if the
/// referrer value is HTTPS and the destination is HTTP.
/// </summary>
2017-09-13 10:25:52 +02:00
REFERRER_POLICY_ORIGIN_CLEAR_ON_TRANSITION_FROM_SECURE_TO_INSECURE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Always clear the referrer regardless of the request destination.
/// It has the same value as REFERRER_POLICY_LAST_VALUE
/// </summary>
REFERRER_POLICY_NO_REFERRER
2017-01-27 17:37:51 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Post data elements may represent either bytes or files.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_postdataelement_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPostDataElementType = (
PDE_TYPE_EMPTY = 0 ,
PDE_TYPE_BYTES,
PDE_TYPE_FILE
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Resource type for a request. These constants match their equivalents in
/// Chromium's ResourceType and should not be renumbered.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_resource_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResourceType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Top level page.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_MAIN_FRAME,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Frame or iframe.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_SUB_FRAME,
2023-07-30 18:47:35 +02:00
/// <summary>
/// CSS stylesheet.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_STYLESHEET,
2023-07-30 18:47:35 +02:00
/// <summary>
/// External script.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_SCRIPT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Image (jpg/gif/png/etc).
/// </summary>
2017-01-27 17:37:51 +02:00
RT_IMAGE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Font.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_FONT_RESOURCE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Some other subresource. This is the default type if the actual type is
/// unknown.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_SUB_RESOURCE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Object (or embed) tag for a plugin, or a resource that a plugin requested.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_OBJECT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Media resource.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_MEDIA,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Main resource of a dedicated worker.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_WORKER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Main resource of a shared worker.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_SHARED_WORKER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Explicitly requested prefetch.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_PREFETCH,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Favicon.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_FAVICON,
2023-07-30 18:47:35 +02:00
/// <summary>
/// XMLHttpRequest.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_XHR,
2023-07-30 18:47:35 +02:00
/// <summary>
/// A request for a "<ping>".
/// </summary>
2017-01-27 17:37:51 +02:00
RT_PING,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Main resource of a service worker.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_SERVICE_WORKER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// A report of Content Security Policy violations.
/// </summary>
2017-01-27 17:37:51 +02:00
RT_CSP_REPORT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// A resource that a plugin requested.
/// </summary>
2021-09-27 12:04:33 +02:00
RT_PLUGIN_RESOURCE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// This type doesn't exist in CEF and it's here just to fill this position.
/// </summary>
RT_EMPTY_FILLER_TYPE_DO_NOT_USE,
/// <summary>
/// A main-frame service worker navigation preload request.
/// </summary>
RT_NAVIGATION_PRELOAD_MAIN_FRAME,
/// <summary>
/// A sub-frame service worker navigation preload request.
/// </summary>
2021-09-27 12:04:33 +02:00
RT_NAVIGATION_PRELOAD_SUB_FRAME
2017-01-27 17:37:51 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// DOM document types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_dom_document_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDomDocumentType = (
DOM_DOCUMENT_TYPE_UNKNOWN = 0 ,
DOM_DOCUMENT_TYPE_HTML,
DOM_DOCUMENT_TYPE_XHTML,
DOM_DOCUMENT_TYPE_PLUGIN
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// DOM node types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_dom_node_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDomNodeType = (
DOM_NODE_TYPE_UNSUPPORTED = 0 ,
DOM_NODE_TYPE_ELEMENT,
DOM_NODE_TYPE_ATTRIBUTE,
DOM_NODE_TYPE_TEXT,
DOM_NODE_TYPE_CDATA_SECTION,
DOM_NODE_TYPE_PROCESSING_INSTRUCTIONS,
DOM_NODE_TYPE_COMMENT,
DOM_NODE_TYPE_DOCUMENT,
DOM_NODE_TYPE_DOCUMENT_TYPE,
DOM_NODE_TYPE_DOCUMENT_FRAGMENT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported context menu media types. These constants match their equivalents
/// in Chromium's ContextMenuDataMediaType and should not be renumbered.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_context_menu_media_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefContextMenuMediaType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// No special node is in context.
/// </summary>
2017-01-27 17:37:51 +02:00
CM_MEDIATYPE_NONE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// An image node is selected.
/// </summary>
2017-01-27 17:37:51 +02:00
CM_MEDIATYPE_IMAGE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// A video node is selected.
/// </summary>
2017-01-27 17:37:51 +02:00
CM_MEDIATYPE_VIDEO,
2023-07-30 18:47:35 +02:00
/// <summary>
/// An audio node is selected.
/// </summary>
2017-01-27 17:37:51 +02:00
CM_MEDIATYPE_AUDIO,
2023-07-30 18:47:35 +02:00
/// <summary>
/// An canvas node is selected.
/// </summary>
2022-02-19 19:56:41 +02:00
CM_MEDIATYPE_CANVAS,
2023-07-30 18:47:35 +02:00
/// <summary>
/// A file node is selected.
/// </summary>
2017-01-27 17:37:51 +02:00
CM_MEDIATYPE_FILE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// A plugin node is selected.
/// </summary>
2017-01-27 17:37:51 +02:00
CM_MEDIATYPE_PLUGIN
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported menu item types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_menu_item_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefMenuItemType = (
MENUITEMTYPE_NONE,
MENUITEMTYPE_COMMAND,
MENUITEMTYPE_CHECK,
MENUITEMTYPE_RADIO,
MENUITEMTYPE_SEPARATOR,
MENUITEMTYPE_SUBMENU
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Focus sources.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_focus_source_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefFocusSource = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// The source is explicit navigation via the API (LoadURL(), etc).
/// </summary>
2017-01-27 17:37:51 +02:00
FOCUS_SOURCE_NAVIGATION = 0 ,
2023-07-30 18:47:35 +02:00
/// <summary>
/// The source is a system-generated focus event.
/// </summary>
2017-01-27 17:37:51 +02:00
FOCUS_SOURCE_SYSTEM
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported JavaScript dialog types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_jsdialog_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefJsDialogType = (
JSDIALOGTYPE_ALERT = 0 ,
JSDIALOGTYPE_CONFIRM,
JSDIALOGTYPE_PROMPT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Notification that a character was typed. Use this for text input. Key
/// down events may generate 0, 1, or more than one character event depending
/// on the key, locale, and operating system.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_key_event_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefKeyEventType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Notification that a key transitioned from "up" to "down".
/// </summary>
2017-01-27 17:37:51 +02:00
KEYEVENT_RAWKEYDOWN = 0 ,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Notification that a key was pressed. This does not necessarily correspond
/// to a character depending on the key and language. Use KEYEVENT_CHAR for
/// character input.
/// </summary>
2017-01-27 17:37:51 +02:00
KEYEVENT_KEYDOWN,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Notification that a key was released.
/// </summary>
2017-01-27 17:37:51 +02:00
KEYEVENT_KEYUP,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Notification that a character was typed. Use this for text input. Key
/// down events may generate 0, 1, or more than one character event depending
/// on the key, locale, and operating system.
/// </summary>
2017-01-27 17:37:51 +02:00
KEYEVENT_CHAR
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The manner in which a link click should be opened. These constants match
/// their equivalents in Chromium's window_open_disposition.h and should not be
/// renumbered.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_window_open_disposition_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefWindowOpenDisposition = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Unknown disposition.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_UNKNOWN,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Current tab. This is the default in most cases.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_CURRENT_TAB,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Indicates that only one tab with the url should exist in the same window.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_SINGLETON_TAB,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Shift key + Middle mouse button or meta/ctrl key while clicking.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_NEW_FOREGROUND_TAB,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Middle mouse button or meta/ctrl key while clicking.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_NEW_BACKGROUND_TAB,
2023-07-30 18:47:35 +02:00
/// <summary>
/// New popup window.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_NEW_POPUP,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Shift key while clicking.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_NEW_WINDOW,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Alt key while clicking.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_SAVE_TO_DISK,
2023-07-30 18:47:35 +02:00
/// <summary>
/// New off-the-record (incognito) window.
/// </summary>
2017-01-27 17:37:51 +02:00
WOD_OFF_THE_RECORD,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Special case error condition from the renderer.
/// </summary>
2022-05-03 12:43:16 +02:00
WOD_IGNORE_ACTION,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Activates an existing tab containing the url, rather than navigating.
/// This is similar to SINGLETON_TAB, but searches across all windows from
/// the current profile and anonymity (instead of just the current one);
/// closes the current tab on switching if the current tab was the NTP with
/// no session history; and behaves like CURRENT_TAB instead of
/// NEW_FOREGROUND_TAB when no existing tab is found.
/// </summary>
2022-05-03 12:43:16 +02:00
WOD_SWITCH_TO_TAB,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Creates a new document picture-in-picture window showing a child WebView.
/// </summary>
2022-05-03 12:43:16 +02:00
WOD_NEW_PICTURE_IN_PICTURE
2017-01-27 17:37:51 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Input mode of a virtual keyboard. These constants match their equivalents
/// in Chromium's text_input_mode.h and should not be renumbered.
/// See https://html.spec.whatwg.org/#input-modalities:-the-inputmode-attribute
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_text_input_mode_t)</see></para>
/// </remarks>
2019-03-15 18:17:14 +02:00
TCefTextInpuMode = (
CEF_TEXT_INPUT_MODE_DEFAULT,
CEF_TEXT_INPUT_MODE_NONE,
CEF_TEXT_INPUT_MODE_TEXT,
CEF_TEXT_INPUT_MODE_TEL,
CEF_TEXT_INPUT_MODE_URL,
CEF_TEXT_INPUT_MODE_EMAIL,
CEF_TEXT_INPUT_MODE_NUMERIC,
CEF_TEXT_INPUT_MODE_DECIMAL,
2023-08-18 12:05:45 +02:00
CEF_TEXT_INPUT_MODE_SEARCH
{* CEF_TEXT_INPUT_MODE_MAX = CEF_TEXT_INPUT_MODE_SEARCH *}
2019-03-15 18:17:14 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Touch points states types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_touch_event_type_t)</see></para>
/// </remarks>
2019-03-15 18:17:14 +02:00
TCefTouchEeventType = (
CEF_TET_RELEASED = 0 ,
CEF_TET_PRESSED,
CEF_TET_MOVED,
CEF_TET_CANCELLED
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The device type that caused the event.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_pointer_type_t)</see></para>
/// </remarks>
2019-03-15 18:17:14 +02:00
TCefPointerType = (
CEF_POINTER_TYPE_TOUCH = 0 ,
CEF_POINTER_TYPE_MOUSE,
CEF_POINTER_TYPE_PEN,
CEF_POINTER_TYPE_ERASER,
CEF_POINTER_TYPE_UNKNOWN
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Enumerates the various representations of the ordering of audio channels.
/// Must be kept synchronized with media::ChannelLayout from Chromium.
/// See media\base\channel_layout.h
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_channel_layout_t)</see></para>
/// </remarks>
2020-05-23 15:00:44 +02:00
TCefChannelLayout = (
CEF_CHANNEL_LAYOUT_NONE = 0 ,
2023-07-30 18:47:35 +02:00
CEF_CHANNEL_LAYOUT_UNSUPPORTED = 1 ,
/// <summary>Front C</summary>
CEF_CHANNEL_LAYOUT_MONO = 2 ,
/// <summary>Front L, Front R</summary>
CEF_CHANNEL_LAYOUT_STEREO = 3 ,
/// <summary>Front L, Front R, Back C</summary>
CEF_CHANNEL_LAYOUT_2_1 = 4 ,
/// <summary>Front L, Front R, Front C</summary>
CEF_CHANNEL_LAYOUT_SURROUND = 5 ,
/// <summary>Front L, Front R, Front C, Back C</summary>
CEF_CHANNEL_LAYOUT_4_0 = 6 ,
/// <summary>Front L, Front R, Side L, Side R</summary>
CEF_CHANNEL_LAYOUT_2_2 = 7 ,
/// <summary>Front L, Front R, Back L, Back R</summary>
CEF_CHANNEL_LAYOUT_QUAD = 8 ,
/// <summary>Front L, Front R, Front C, Side L, Side R</summary>
CEF_CHANNEL_LAYOUT_5_0 = 9 ,
/// <summary>Front L, Front R, Front C, LFE, Side L, Side R</summary>
CEF_CHANNEL_LAYOUT_5_1 = 1 0 ,
/// <summary>Front L, Front R, Front C, Back L, Back R</summary>
CEF_CHANNEL_LAYOUT_5_0_BACK = 1 1 ,
/// <summary>Front L, Front R, Front C, LFE, Back L, Back R</summary>
CEF_CHANNEL_LAYOUT_5_1_BACK = 1 2 ,
/// <summary>Front L, Front R, Front C, Side L, Side R, Back L, Back R</summary>
CEF_CHANNEL_LAYOUT_7_0 = 1 3 ,
/// <summary>Front L, Front R, Front C, LFE, Side L, Side R, Back L, Back R</summary>
CEF_CHANNEL_LAYOUT_7_1 = 1 4 ,
/// <summary>Front L, Front R, Front C, LFE, Side L, Side R, Front LofC, Front RofC</summary>
CEF_CHANNEL_LAYOUT_7_1_WIDE = 1 5 ,
/// <summary>Stereo L, Stereo R</summary>
CEF_CHANNEL_LAYOUT_STEREO_DOWNMIX = 1 6 ,
/// <summary>Stereo L, Stereo R, LFE</summary>
CEF_CHANNEL_LAYOUT_2POINT1 = 1 7 ,
/// <summary>Stereo L, Stereo R, Front C, LFE</summary>
CEF_CHANNEL_LAYOUT_3_1 = 1 8 ,
/// <summary>Stereo L, Stereo R, Front C, Rear C, LFE</summary>
CEF_CHANNEL_LAYOUT_4_1 = 1 9 ,
/// <summary>Stereo L, Stereo R, Front C, Side L, Side R, Back C</summary>
CEF_CHANNEL_LAYOUT_6_0 = 2 0 ,
/// <summary>Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC</summary>
CEF_CHANNEL_LAYOUT_6_0_FRONT = 2 1 ,
/// <summary>Stereo L, Stereo R, Front C, Rear L, Rear R, Rear C</summary>
CEF_CHANNEL_LAYOUT_HEXAGONAL = 2 2 ,
/// <summary>Stereo L, Stereo R, Front C, LFE, Side L, Side R, Rear Center</summary>
CEF_CHANNEL_LAYOUT_6_1 = 2 3 ,
/// <summary>Stereo L, Stereo R, Front C, LFE, Back L, Back R, Rear Center</summary>
CEF_CHANNEL_LAYOUT_6_1_BACK = 2 4 ,
/// <summary>Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC, LFE</summary>
CEF_CHANNEL_LAYOUT_6_1_FRONT = 2 5 ,
/// <summary>Front L, Front R, Front C, Side L, Side R, Front LofC, Front RofC</summary>
CEF_CHANNEL_LAYOUT_7_0_FRONT = 2 6 ,
/// <summary>Front L, Front R, Front C, LFE, Back L, Back R, Front LofC, Front RofC</summary>
CEF_CHANNEL_LAYOUT_7_1_WIDE_BACK = 2 7 ,
/// <summary>Front L, Front R, Front C, Side L, Side R, Rear L, Back R, Back C.</summary>
CEF_CHANNEL_LAYOUT_OCTAGONAL = 2 8 ,
/// <summary>Channels are not explicitly mapped to speakers.</summary>
CEF_CHANNEL_LAYOUT_DISCRETE = 2 9 ,
/// <summary>
/// Front L, Front R, Front C. Front C contains the keyboard mic audio. This
/// layout is only intended for input for WebRTC. The Front C channel
/// is stripped away in the WebRTC audio input pipeline and never seen outside
/// of that.
/// </summary>
CEF_CHANNEL_LAYOUT_STEREO_AND_KEYBOARD_MIC = 3 0 ,
/// <summary>Front L, Front R, Side L, Side R, LFE</summary>
CEF_CHANNEL_LAYOUT_4_1_QUAD_SIDE = 3 1 ,
/// <summary>
/// Actual channel layout is specified in the bitstream and the actual channel
/// count is unknown at Chromium media pipeline level (useful for audio
/// pass-through mode).
/// </summary>
CEF_CHANNEL_LAYOUT_BITSTREAM = 3 2 ,
/// <summary>
/// Front L, Front R, Front C, LFE, Side L, Side R,
/// Front Height L, Front Height R, Rear Height L, Rear Height R
/// Will be represented as six channels (5.1) due to eight channel limit
/// kMaxConcurrentChannels
/// </summary>
CEF_CHANNEL_LAYOUT_5_1_4_DOWNMIX = 3 3
2023-08-18 12:05:45 +02:00
{* CEF_CHANNEL_LAYOUT_MAX = CEF_CHANNEL_LAYOUT_5_1_4_DOWNMIX *}
2020-05-23 15:00:44 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Cookie same site values.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_cookie_same_site_t)</see></para>
/// </remarks>
2020-05-23 15:00:44 +02:00
TCefCookieSameSite = (
CEF_COOKIE_SAME_SITE_UNSPECIFIED,
CEF_COOKIE_SAME_SITE_NO_RESTRICTION,
CEF_COOKIE_SAME_SITE_LAX_MODE,
CEF_COOKIE_SAME_SITE_STRICT_MODE
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Paint element types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_paint_element_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPaintElementType = (
PET_VIEW,
PET_POPUP
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Cursor type values.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_cursor_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCursorType = (
CT_POINTER = 0 ,
CT_CROSS,
CT_HAND,
CT_IBEAM,
CT_WAIT,
CT_HELP,
CT_EASTRESIZE,
CT_NORTHRESIZE,
CT_NORTHEASTRESIZE,
CT_NORTHWESTRESIZE,
CT_SOUTHRESIZE,
CT_SOUTHEASTRESIZE,
CT_SOUTHWESTRESIZE,
CT_WESTRESIZE,
CT_NORTHSOUTHRESIZE,
CT_EASTWESTRESIZE,
CT_NORTHEASTSOUTHWESTRESIZE,
CT_NORTHWESTSOUTHEASTRESIZE,
CT_COLUMNRESIZE,
CT_ROWRESIZE,
CT_MIDDLEPANNING,
CT_EASTPANNING,
CT_NORTHPANNING,
CT_NORTHEASTPANNING,
CT_NORTHWESTPANNING,
CT_SOUTHPANNING,
CT_SOUTHEASTPANNING,
CT_SOUTHWESTPANNING,
CT_WESTPANNING,
CT_MOVE,
CT_VERTICALTEXT,
CT_CELL,
CT_CONTEXTMENU,
CT_ALIAS,
CT_PROGRESS,
CT_NODROP,
CT_COPY,
CT_NONE,
CT_NOTALLOWED,
CT_ZOOMIN,
CT_ZOOMOUT,
CT_GRAB,
CT_GRABBING,
2020-05-23 15:00:44 +02:00
CT_MIDDLE_PANNING_VERTICAL,
CT_MIDDLE_PANNING_HORIZONTAL,
CT_CUSTOM,
CT_DND_NONE,
CT_DND_MOVE,
CT_DND_COPY,
CT_DND_LIN
2017-01-27 17:37:51 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Navigation types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_navigation_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefNavigationType = (
NAVIGATION_LINK_CLICKED,
NAVIGATION_FORM_SUBMITTED,
NAVIGATION_BACK_FORWARD,
NAVIGATION_RELOAD,
NAVIGATION_FORM_RESUBMITTED,
NAVIGATION_OTHER
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Existing process IDs.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_process_id_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefProcessId = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Browser process.
/// </summary>
2017-01-27 17:37:51 +02:00
PID_BROWSER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Renderer process.
/// </summary>
2017-01-27 17:37:51 +02:00
PID_RENDERER
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Existing thread IDs.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_thread_id_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefThreadId = (
2023-07-30 18:47:35 +02:00
// BROWSER PROCESS THREADS -- Only available in the browser process.
/// <summary>
/// The main thread in the browser. This will be the same as the main
/// application thread if CefInitialize() is called with a
/// TCefSettings.multi_threaded_message_loop value of false. Do not perform
/// blocking tasks on this thread. All tasks posted after
/// ICefBrowserProcessHandler.OnContextInitialized() and before CefShutdown()
/// are guaranteed to run. This thread will outlive all other CEF threads.
/// </summary>
2017-01-27 17:37:51 +02:00
TID_UI,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used for blocking tasks like file system access where the user won't
/// notice if the task takes an arbitrarily long time to complete. All tasks
/// posted after ICefBrowserProcessHandler.OnContextInitialized() and before
/// CefShutdown() are guaranteed to run.
/// </summary>
2021-07-29 16:20:34 +02:00
TID_FILE_BACKGROUND,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used for blocking tasks like file system access that affect UI or
/// responsiveness of future user interactions. Do not use if an immediate
/// response to a user interaction is expected. All tasks posted after
/// ICefBrowserProcessHandler.OnContextInitialized() and before CefShutdown()
/// are guaranteed to run.
/// Examples:
/// - Updating the UI to reflect progress on a long task.
/// - Loading data that might be shown in the UI after a future user
/// interaction.
/// </summary>
2018-04-20 12:45:06 +02:00
TID_FILE_USER_VISIBLE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used for blocking tasks like file system access that affect UI
/// immediately after a user interaction. All tasks posted after
/// ICefBrowserProcessHandler.OnContextInitialized() and before CefShutdown()
/// are guaranteed to run.
/// Example: Generating data shown in the UI immediately after a click.
/// </summary>
2017-01-27 17:37:51 +02:00
TID_FILE_USER_BLOCKING,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used to launch and terminate browser processes.
/// </summary>
2018-06-03 17:18:54 +02:00
TID_PROCESS_LAUNCHER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used to process IPC and network messages. Do not perform blocking tasks on
/// this thread. All tasks posted after
/// ICefBrowserProcessHandler.OnContextInitialized() and before CefShutdown()
/// are guaranteed to run.
/// </summary>
2017-01-27 17:37:51 +02:00
TID_IO,
2023-07-30 18:47:35 +02:00
// RENDER PROCESS THREADS -- Only available in the render process.
/// <summary>
/// The main thread in the renderer. Used for all WebKit and V8 interaction.
/// Tasks may be posted to this thread after
/// ICefRenderProcessHandler.OnWebKitInitialized but are not guaranteed to
/// run before sub-process termination (sub-processes may be killed at any
/// time without warning).
/// </summary>
2017-01-27 17:37:51 +02:00
TID_RENDERER
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Thread priority values listed in increasing order of importance.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_thread_priority_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefThreadPriority = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Suitable for threads that shouldn't disrupt high priority work.
/// </summary>
2017-01-27 17:37:51 +02:00
TP_BACKGROUND,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Default priority level.
/// </summary>
2017-01-27 17:37:51 +02:00
TP_NORMAL,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Suitable for threads which generate data for the display (at ~60Hz).
/// </summary>
2017-01-27 17:37:51 +02:00
TP_DISPLAY,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Suitable for low-latency, glitch-resistant audio.
/// </summary>
2017-01-27 17:37:51 +02:00
TP_REALTIME_AUDIO
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Flags used to customize the behavior of CefURLRequest.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_message_loop_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefMessageLoopType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supports tasks and timers.
/// </summary>
2017-01-27 17:37:51 +02:00
ML_TYPE_DEFAULT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supports tasks, timers and native UI events (e.g. Windows messages).
/// </summary>
2017-01-27 17:37:51 +02:00
ML_TYPE_UI,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supports tasks, timers and asynchronous IO events.
/// </summary>
2017-01-27 17:37:51 +02:00
ML_TYPE_IO
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Flags used to customize the behavior of CefURLRequest.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_com_init_mode_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCOMInitMode = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// No COM initialization.
/// </summary>
2017-01-27 17:37:51 +02:00
COM_INIT_MODE_NONE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Initialize COM using single-threaded apartments.
/// </summary>
2017-01-27 17:37:51 +02:00
COM_INIT_MODE_STA,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Initialize COM using multi-threaded apartments.
/// </summary>
2017-01-27 17:37:51 +02:00
COM_INIT_MODE_MTA
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Mouse button types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_mouse_button_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefMouseButtonType = (
MBT_LEFT,
MBT_MIDDLE,
MBT_RIGHT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Return value types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_return_value_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefReturnValue = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Cancel immediately.
/// </summary>
2017-01-27 17:37:51 +02:00
RV_CANCEL = 0 ,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Continue immediately.
/// </summary>
2017-01-27 17:37:51 +02:00
RV_CONTINUE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Continue asynchronously (usually via a callback).
/// </summary>
2017-01-27 17:37:51 +02:00
RV_CONTINUE_ASYNC
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Flags that represent CefURLRequest status.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_urlrequest_status_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefUrlRequestStatus = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Unknown status.
/// </summary>
2017-01-27 17:37:51 +02:00
UR_UNKNOWN = 0 ,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Request succeeded.
/// </summary>
2017-01-27 17:37:51 +02:00
UR_SUCCESS,
2023-07-30 18:47:35 +02:00
/// <summary>
/// An IO request is pending, and the caller will be informed when it is
/// completed.
/// </summary>
2017-01-27 17:37:51 +02:00
UR_IO_PENDING,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Request was canceled programatically.
/// </summary>
2017-01-27 17:37:51 +02:00
UR_CANCELED,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Request failed for some reason.
/// </summary>
2017-01-27 17:37:51 +02:00
UR_FAILED
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Process termination status values.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_termination_status_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefTerminationStatus = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Non-zero exit status.
/// </summary>
2017-01-27 17:37:51 +02:00
TS_ABNORMAL_TERMINATION,
2023-07-30 18:47:35 +02:00
/// <summary>
/// SIGKILL or task manager kill.
/// </summary>
2017-01-27 17:37:51 +02:00
TS_PROCESS_WAS_KILLED,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Segmentation fault.
/// </summary>
2018-10-26 10:32:10 +02:00
TS_PROCESS_CRASHED,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Out of memory. Some platforms may use TS_PROCESS_CRASHED instead.
/// </summary>
2018-10-26 10:32:10 +02:00
TS_PROCESS_OOM
2017-01-27 17:37:51 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Process termination status values.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_path_key_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPathKey = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Current directory.
/// </summary>
2017-01-27 17:37:51 +02:00
PK_DIR_CURRENT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Directory containing PK_FILE_EXE.
/// </summary>
2017-01-27 17:37:51 +02:00
PK_DIR_EXE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Directory containing PK_FILE_MODULE.
/// </summary>
2017-01-27 17:37:51 +02:00
PK_DIR_MODULE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Temporary directory.
/// </summary>
2017-01-27 17:37:51 +02:00
PK_DIR_TEMP,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Path and filename of the current executable.
/// </summary>
2017-01-27 17:37:51 +02:00
PK_FILE_EXE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Path and filename of the module containing the CEF code (usually the
/// libcef module).
/// </summary>
2017-01-27 17:37:51 +02:00
PK_FILE_MODULE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// "Local Settings\Application Data" directory under the user profile
/// directory on Windows.
/// </summary>
2017-01-27 17:37:51 +02:00
PK_LOCAL_APP_DATA,
2023-07-30 18:47:35 +02:00
/// <summary>
/// "Application Data" directory under the user profile directory on Windows
/// and "~/Library/Application Support" directory on MacOS.
/// </summary>
2017-10-26 13:23:13 +02:00
PK_USER_DATA,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Directory containing application resources. Can be configured via
/// TCefSettings.resources_dir_path.
/// </summary>
2017-10-26 13:23:13 +02:00
PK_DIR_RESOURCES
2017-01-27 17:37:51 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Storage types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_storage_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefStorageType = (
ST_LOCALSTORAGE = 0 ,
ST_SESSIONSTORAGE
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Return values for ICefResponseFilter.Filter().
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_response_filter_status_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResponseFilterStatus = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Some or all of the pre-filter data was read successfully but more data is
/// needed in order to continue filtering (filtered output is pending).
/// </summary>
2017-01-27 17:37:51 +02:00
RESPONSE_FILTER_NEED_MORE_DATA,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Some or all of the pre-filter data was read successfully and all available
/// filtered output has been written.
/// </summary>
2017-01-27 17:37:51 +02:00
RESPONSE_FILTER_DONE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// An error occurred during filtering.
/// </summary>
2017-01-27 17:37:51 +02:00
RESPONSE_FILTER_ERROR
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Describes how to interpret the components of a pixel.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_color_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefColorType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// RGBA with 8 bits per pixel (32bits total).
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_COLOR_TYPE_RGBA_8888,
2023-07-30 18:47:35 +02:00
/// <summary>
/// BGRA with 8 bits per pixel (32bits total).
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_COLOR_TYPE_BGRA_8888
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Describes how to interpret the alpha component of a pixel.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_alpha_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefAlphaType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// No transparency. The alpha component is ignored.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_ALPHA_TYPE_OPAQUE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Transparency with pre-multiplied alpha component.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_ALPHA_TYPE_PREMULTIPLIED,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Transparency with post-multiplied alpha component.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_ALPHA_TYPE_POSTMULTIPLIED
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Text style types. Should be kepy in sync with gfx::TextStyle.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_text_style_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefTextStyle = (
CEF_TEXT_STYLE_BOLD,
CEF_TEXT_STYLE_ITALIC,
CEF_TEXT_STYLE_STRIKE,
CEF_TEXT_STYLE_DIAGONAL_STRIKE,
CEF_TEXT_STYLE_UNDERLINE
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies where along the main axis the CefBoxLayout child views should be
/// laid out.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_main_axis_alignment_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefMainAxisAlignment = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Child views will be left-aligned.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_MAIN_AXIS_ALIGNMENT_START,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Child views will be center-aligned.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_MAIN_AXIS_ALIGNMENT_CENTER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Child views will be right-aligned.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_MAIN_AXIS_ALIGNMENT_END
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies where along the main axis the CefBoxLayout child views should be
/// laid out.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_cross_axis_alignment_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCrossAxisAlignment = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Child views will be stretched to fit.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_CROSS_AXIS_ALIGNMENT_STRETCH,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Child views will be left-aligned.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_CROSS_AXIS_ALIGNMENT_START,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Child views will be center-aligned.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_CROSS_AXIS_ALIGNMENT_CENTER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Child views will be right-aligned.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_CROSS_AXIS_ALIGNMENT_END
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Margin type for PDF printing.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_pdf_print_margin_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPdfPrintMarginType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Default margins of 1cm (~0.4 inches).
/// </summary>
2017-01-27 17:37:51 +02:00
PDF_PRINT_MARGIN_DEFAULT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// No margins.
/// </summary>
2017-01-27 17:37:51 +02:00
PDF_PRINT_MARGIN_NONE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Custom margins using the |margin_*| values from TCefPdfPrintSettings.
/// </summary>
2017-01-27 17:37:51 +02:00
PDF_PRINT_MARGIN_CUSTOM
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Print job color mode values.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_color_model_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefColorModel = (
COLOR_MODEL_UNKNOWN,
COLOR_MODEL_GRAY,
COLOR_MODEL_COLOR,
COLOR_MODEL_CMYK,
COLOR_MODEL_CMY,
COLOR_MODEL_KCMY,
2023-07-30 18:47:35 +02:00
/// <summary>
/// CMY_K represents CMY+K.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_CMY_K,
COLOR_MODEL_BLACK,
COLOR_MODEL_GRAYSCALE,
COLOR_MODEL_RGB,
COLOR_MODEL_RGB16,
COLOR_MODEL_RGBA,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in samsung printer ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_COLORMODE_COLOR,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in samsung printer ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_COLORMODE_MONOCHROME,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in HP color printer ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_HP_COLOR_COLOR,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in HP color printer ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_HP_COLOR_BLACK,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in foomatic ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_PRINTOUTMODE_NORMAL,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in foomatic ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_PRINTOUTMODE_NORMAL_GRAY,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in canon printer ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_PROCESSCOLORMODEL_CMYK,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in canon printer ppds.
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_PROCESSCOLORMODEL_GREYSCALE,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Used in canon printer ppds
/// </summary>
2017-01-27 17:37:51 +02:00
COLOR_MODEL_PROCESSCOLORMODEL_RGB
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Options that can be passed to CefParseJSON.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_json_parser_options_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefJsonParserOptions = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Parses the input strictly according to RFC 4627. See comments in
/// Chromium's base/json/json_reader.h file for known limitations/
/// deviations from the RFC.
/// </summary>
2017-01-27 17:37:51 +02:00
JSON_PARSER_RFC = 0 ,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Allows commas to exist after the last element in structures.
/// </summary>
2017-01-27 17:37:51 +02:00
JSON_PARSER_ALLOW_TRAILING_COMMAS = 1 shl 0
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported XML encoding types. The parser supports ASCII, ISO-8859-1, and
/// UTF16 (LE and BE) by default. All other types must be translated to UTF8
/// before being passed to the parser. If a BOM is detected and the correct
/// decoder is available then that decoder will be used automatically.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_xml_encoding_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefXmlEncodingType = (
XML_ENCODING_NONE = 0 ,
XML_ENCODING_UTF8,
XML_ENCODING_UTF16LE,
XML_ENCODING_UTF16BE,
XML_ENCODING_ASCII
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// XML node types.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_xml_node_type_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefXmlNodeType = (
XML_NODE_UNSUPPORTED = 0 ,
XML_NODE_PROCESSING_INSTRUCTION,
XML_NODE_DOCUMENT_TYPE,
XML_NODE_ELEMENT_START,
XML_NODE_ELEMENT_END,
XML_NODE_ATTRIBUTE,
XML_NODE_TEXT,
XML_NODE_CDATA,
XML_NODE_ENTITY_REFERENCE,
XML_NODE_WHITESPACE,
XML_NODE_COMMENT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// DOM event processing phases.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_dom_event_phase_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDomEventPhase = (
DOM_EVENT_PHASE_UNKNOWN = 0 ,
DOM_EVENT_PHASE_CAPTURING,
DOM_EVENT_PHASE_AT_TARGET,
DOM_EVENT_PHASE_BUBBLING
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies the button display state.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_button_state_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefButtonState = (
CEF_BUTTON_STATE_NORMAL,
CEF_BUTTON_STATE_HOVERED,
CEF_BUTTON_STATE_PRESSED,
CEF_BUTTON_STATE_DISABLED
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies the horizontal text alignment mode.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_horizontal_alignment_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefHorizontalAlignment = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Align the text's left edge with that of its display area.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_HORIZONTAL_ALIGNMENT_LEFT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Align the text's center with that of its display area.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_HORIZONTAL_ALIGNMENT_CENTER,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Align the text's right edge with that of its display area.
/// </summary>
2017-01-27 17:37:51 +02:00
CEF_HORIZONTAL_ALIGNMENT_RIGHT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies how a menu will be anchored for non-RTL languages. The opposite
/// position will be used for RTL languages.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_menu_anchor_position_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefMenuAnchorPosition = (
CEF_MENU_ANCHOR_TOPLEFT,
CEF_MENU_ANCHOR_TOPRIGHT,
CEF_MENU_ANCHOR_BOTTOMCENTER
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported color types for menu items.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_menu_color_type_t)</see></para>
/// </remarks>
2017-03-16 20:09:42 +02:00
TCefMenuColorType = (
CEF_MENU_COLOR_TEXT,
CEF_MENU_COLOR_TEXT_HOVERED,
CEF_MENU_COLOR_TEXT_ACCELERATOR,
CEF_MENU_COLOR_TEXT_ACCELERATOR_HOVERED,
CEF_MENU_COLOR_BACKGROUND,
CEF_MENU_COLOR_BACKGROUND_HOVERED,
CEF_MENU_COLOR_COUNT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Composition underline style.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_composition_underline_style_t)</see></para>
/// </remarks>
2020-04-10 09:49:34 +02:00
TCefCompositionUnderlineStyle = (
CEF_CUS_SOLID,
CEF_CUS_DOT,
CEF_CUS_DASH,
CEF_CUS_NONE
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Permission request results.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_permission_request_result_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefPermissionRequestResult = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Accept the permission request as an explicit user action.
/// </summary>
2022-08-06 12:00:28 +02:00
CEF_PERMISSION_RESULT_ACCEPT,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Deny the permission request as an explicit user action.
/// </summary>
2022-08-06 12:00:28 +02:00
CEF_PERMISSION_RESULT_DENY,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Dismiss the permission request as an explicit user action.
/// </summary>
2022-08-06 12:00:28 +02:00
CEF_PERMISSION_RESULT_DISMISS,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Ignore the permission request. If the prompt remains unhandled (e.g.
/// OnShowPermissionPrompt returns false and there is no default permissions
/// UI) then any related promises may remain unresolved.
/// </summary>
2022-08-06 12:00:28 +02:00
CEF_PERMISSION_RESULT_IGNORE
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Preferences type passed to
/// ICefBrowserProcessHandler.OnRegisterCustomPreferences.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_preferences_type_t)</see></para>
/// </remarks>
2022-12-16 12:29:15 +02:00
TCefPreferencesType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Global preferences registered a single time at application startup.
/// </summary>
2022-12-16 12:29:15 +02:00
CEF_PREFERENCES_TYPE_GLOBAL,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Request context preferences registered each time a new CefRequestContext
/// is created.
/// </summary>
2022-12-16 12:29:15 +02:00
CEF_PREFERENCES_TYPE_REQUEST_CONTEXT
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies the gesture commands.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_gesture_command_t)</see></para>
/// </remarks>
2023-05-29 17:20:32 +02:00
TCefGestureCommand = (
CEF_GESTURE_COMMAND_BACK,
CEF_GESTURE_COMMAND_FORWARD
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies the gesture commands.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_test_cert_type_t)</see></para>
/// </remarks>
2022-09-04 19:18:07 +02:00
TCefTestCertType = (
2023-07-30 18:47:35 +02:00
/// <summary>
/// Valid certificate using the IP (127.0.0.1). Loads the "ok_cert.pem" file.
/// </summary>
2022-09-04 19:18:07 +02:00
CEF_TEST_CERT_OK_IP,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Valid certificate using the domain ("localhost"). Loads the
/// "localhost_cert.pem" file.
/// </summary>
2022-09-04 19:18:07 +02:00
CEF_TEST_CERT_OK_DOMAIN,
2023-07-30 18:47:35 +02:00
/// <summary>
/// Expired certificate. Loads the "expired_cert.pem" file.
/// </summary>
2022-09-04 19:18:07 +02:00
CEF_TEST_CERT_EXPIRED
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Chrome page action icon types. Should be kept in sync with Chromium's
/// PageActionIconType type.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_chrome_page_action_icon_type_t)</see></para>
/// </remarks>
2023-04-08 19:00:33 +02:00
TCefChromePageActionIconType = (
CEF_CPAIT_BOOKMARK_STAR,
CEF_CPAIT_CLICK_TO_CALL,
CEF_CPAIT_COOKIE_CONTROLS,
CEF_CPAIT_FILE_SYSTEM_ACCESS,
CEF_CPAIT_FIND,
CEF_CPAIT_HIGH_EFFICIENCY,
CEF_CPAIT_INTENT_PICKER,
CEF_CPAIT_LOCAL_CARD_MIGRATION,
CEF_CPAIT_MANAGE_PASSWORDS,
CEF_CPAIT_PAYMENTS_OFFER_NOTIFICATION,
CEF_CPAIT_PRICE_TRACKING,
CEF_CPAIT_PWA_INSTALL,
CEF_CPAIT_QR_CODE_GENERATOR,
CEF_CPAIT_READER_MODE,
CEF_CPAIT_SAVE_AUTOFILL_ADDRESS,
CEF_CPAIT_SAVE_CARD,
CEF_CPAIT_SEND_TAB_TO_SELF,
CEF_CPAIT_SHARING_HUB,
CEF_CPAIT_SIDE_SEARCH,
CEF_CPAIT_SMS_REMOTE_FETCHER,
CEF_CPAIT_TRANSLATE,
CEF_CPAIT_VIRTUAL_CARD_ENROLL,
CEF_CPAIT_VIRTUAL_CARD_MANUAL_FALLBACK,
CEF_CPAIT_ZOOM,
2023-07-30 18:47:35 +02:00
CEF_CPAIT_SAVE_IBAN,
2023-08-18 12:05:45 +02:00
CEF_CPAIT_MANDATORY_REAUTH,
CEF_CPAIT_PRICE_INSIGHTS
{* CEF_CPAIT_MAX_VALUE = CEF_CPAIT_PRICE_INSIGHTS *}
2023-04-08 19:00:33 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Chrome toolbar button types. Should be kept in sync with CEF's internal
/// ToolbarButtonType type.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_time.h">CEF source file: /include/internal/cef_time.h (cef_chrome_toolbar_button_type_t)</see></para>
/// </remarks>
2023-04-08 19:00:33 +02:00
TCefChromeToolbarButtonType = (
CEF_CTBT_CAST,
CEF_CTBT_DOWNLOAD,
CEF_CTBT_SEND_TAB_TO_SELF,
2023-07-30 18:47:35 +02:00
CEF_CTBT_SIDE_PANEL
2023-08-18 12:05:45 +02:00
{* CEF_CTBT_MAX_VALUE = CEF_CTBT_SIDE_PANEL *}
2023-04-08 19:00:33 +02:00
) ;
2023-07-30 18:47:35 +02:00
/// <summary>
2023-08-18 12:05:45 +02:00
/// Touch handle state.
2023-07-30 18:47:35 +02:00
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_time.h">CEF source file: /include/internal/cef_time.h (cef_touch_handle_state_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefTouchHandleState = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Touch handle id. Increments for each new touch handle.
/// </summary>
2022-08-06 12:00:28 +02:00
touch_handle_id : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Combination of TCefTouchHandleStateFlags values indicating what state
/// is set.
/// </summary>
2022-08-06 12:00:28 +02:00
flags : cardinal ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Enabled state. Only set if |flags| contains CEF_THS_FLAG_ENABLED.
/// </summary>
2022-08-06 12:00:28 +02:00
enabled : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Orientation state. Only set if |flags| contains CEF_THS_FLAG_ORIENTATION.
/// </summary>
2022-08-06 12:00:28 +02:00
orientation : TCefHorizontalAlignment;
mirror_vertical : integer ;
mirror_horizontal : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Origin state. Only set if |flags| contains CEF_THS_FLAG_ORIGIN.
/// </summary>
2022-08-06 12:00:28 +02:00
origin : TCefPoint;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Alpha state. Only set if |flags| contains CEF_THS_FLAG_ALPHA.
/// </summary>
2022-08-06 12:00:28 +02:00
alpha : single ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing IME composition underline information. This is a thin
/// wrapper around Blink's WebCompositionUnderline class and should be kept in
/// sync with that.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_time.h">CEF source file: /include/internal/cef_time.h (cef_composition_underline_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCompositionUnderline = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Underline character range.
/// </summary>
2017-01-27 17:37:51 +02:00
range : TCefRange;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Text color.
/// </summary>
2017-01-27 17:37:51 +02:00
color : TCefColor;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Background color.
/// </summary>
2017-01-27 17:37:51 +02:00
background_color : TCefColor;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) for thick underline.
/// </summary>
2017-01-27 17:37:51 +02:00
thick : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Style.
/// </summary>
2020-04-10 09:49:34 +02:00
style : TCefCompositionUnderlineStyle;
2017-01-27 17:37:51 +02:00
end ;
2019-01-08 20:15:25 +02:00
TCefCompositionUnderlineDynArray = array of TCefCompositionUnderline;
2017-01-27 17:37:51 +02:00
2023-07-30 18:47:35 +02:00
/// <summary>
/// Represents a wall clock time in UTC. Values are not guaranteed to be
/// monotonically non-decreasing and are subject to large amounts of skew.
/// Time is stored internally as microseconds since the Windows epoch (1601).
///
/// This is equivalent of Chromium `base::Time` (see base/time/time.h).
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_time.h">CEF source file: /include/internal/cef_time.h (cef_basetime_t)</see></para>
/// </remarks>
2022-09-04 19:18:07 +02:00
TCefBaseTime = type int64 ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Time information. Values should always be in UTC.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_time.h">CEF source file: /include/internal/cef_time.h (cef_time_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefTime = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Four or five digit year "2007" (1601 to 30827 on Windows, 1970 to 2038 on
/// 32-bit POSIX)
/// </summary>
2018-03-29 20:02:04 +02:00
year : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 1-based month (values 1 = January, etc.)
/// </summary>
2018-03-29 20:02:04 +02:00
month : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 0-based day of week (0 = Sunday, etc.)
/// </summary>
2018-03-29 20:02:04 +02:00
day_of_week : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 1-based day of month (1-31)
/// </summary>
2018-03-29 20:02:04 +02:00
day_of_month : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Hour within the current day (0-23)
/// </summary>
2018-03-29 20:02:04 +02:00
hour : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Minute within the current hour (0-59)
/// </summary>
2018-03-29 20:02:04 +02:00
minute : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Second within the current minute (0-59 plus leap seconds which may take
/// it up to 60).
/// </summary>
2018-03-29 20:02:04 +02:00
second : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Milliseconds within the current second (0-999)
/// </summary>
2018-03-29 20:02:04 +02:00
millisecond : Integer ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Initialization settings. Specify NULL or 0 to get the recommended default
/// values. Many of these and other settings can also configured using command-
/// line switches.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_box_layout_settings_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefBoxLayoutSettings = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// If true (1) the layout will be horizontal, otherwise the layout will be
/// vertical.
/// </summary>
2018-03-29 20:02:04 +02:00
horizontal : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Adds additional horizontal space between the child view area and the host
/// view border.
/// </summary>
2018-03-29 20:02:04 +02:00
inside_border_horizontal_spacing : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Adds additional vertical space between the child view area and the host
/// view border.
/// </summary>
2018-03-29 20:02:04 +02:00
inside_border_vertical_spacing : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Adds additional space around the child view area.
/// </summary>
2018-03-29 20:02:04 +02:00
inside_border_insets : TCefInsets;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Adds additional space between child views.
/// </summary>
2018-03-29 20:02:04 +02:00
between_child_spacing : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies where along the main axis the child views should be laid out.
/// </summary>
2018-03-29 20:02:04 +02:00
main_axis_alignment : TCefMainAxisAlignment;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Specifies where along the cross axis the child views should be laid out.
/// </summary>
2018-03-29 20:02:04 +02:00
cross_axis_alignment : TCefCrossAxisAlignment;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Minimum cross axis size.
/// </summary>
2018-03-29 20:02:04 +02:00
minimum_cross_axis_size : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Default flex for views when none is specified via CefBoxLayout methods.
/// Using the preferred size as the basis, free space along the main axis is
/// distributed to views in the ratio of their flex weights. Similarly, if the
/// views will overflow the parent, space is subtracted in these ratios. A
/// flex of 0 means this view is not resized. Flex values must not be
/// negative.
/// </summary>
2018-03-29 20:02:04 +02:00
default_flex : Integer ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Initialization settings. Specify NULL or 0 to get the recommended default
/// values. Many of these and other settings can also configured using command-
/// line switches.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_settings_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSettings = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Size of this structure.
/// </summary>
2019-06-16 10:31:13 +02:00
size : NativeUInt ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to disable the sandbox for sub-processes. See
/// cef_sandbox_win.h for requirements to enable the sandbox on Windows. Also
/// configurable using the "no-sandbox" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
no_sandbox : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The path to a separate executable that will be launched for sub-processes.
/// If this value is empty on Windows or Linux then the main process
/// executable will be used. If this value is empty on macOS then a helper
/// executable must exist at "Contents/Frameworks/<app>
/// Helper.app/Contents/MacOS/<app> Helper" in the top-level app bundle. See
/// the comments on CefExecuteProcess() for details. If this value is
/// non-empty then it must be an absolute path. Also configurable using the
/// "browser-subprocess-path" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
browser_subprocess_path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The path to the CEF framework directory on macOS. If this value is empty
/// then the framework must exist at "Contents/Frameworks/Chromium Embedded
/// Framework.framework" in the top-level app bundle. If this value is
/// non-empty then it must be an absolute path. Also configurable using the
/// "framework-dir-path" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
framework_dir_path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The path to the main bundle on macOS. If this value is empty then it
/// defaults to the top-level app bundle. If this value is non-empty then it
/// must be an absolute path. Also configurable using the "main-bundle-path"
/// command-line switch.
/// </summary>
main_bundle_path : TCefString;
/// <summary>
/// Set to true (1) to enable use of the Chrome runtime in CEF. This feature
/// is considered experimental and is not recommended for most users at this
/// time. See issue #2969 for details.
/// </summary>
2020-08-29 11:48:12 +02:00
chrome_runtime : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to have the browser process message loop run in a separate
/// thread. If false (0) then the CefDoMessageLoopWork() function must be
/// called from your application message loop. This option is only supported
/// on Windows and Linux.
/// </summary>
2019-06-16 10:31:13 +02:00
multi_threaded_message_loop : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to control browser process main (UI) thread message pump
/// scheduling via the ICefBrowserProcessHandler.OnScheduleMessagePumpWork()
/// callback. This option is recommended for use in combination with the
/// CefDoMessageLoopWork() function in cases where the CEF message loop must
/// be integrated into an existing application message loop (see additional
/// comments and warnings on CefDoMessageLoopWork). Enabling this option is
/// not recommended for most users; leave this option disabled and use either
/// the CefRunMessageLoop() function or multi_threaded_message_loop if
/// possible.
/// </summary>
2019-06-16 10:31:13 +02:00
external_message_pump : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to enable windowless (off-screen) rendering support. Do
/// not enable this value if the application does not use windowless rendering
/// as it may reduce rendering performance on some systems.
/// </summary>
2019-06-16 10:31:13 +02:00
windowless_rendering_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to disable configuration of browser process features using
/// standard CEF and Chromium command-line arguments. Configuration can still
/// be specified using CEF data structures or via the
/// ICefApp.OnBeforeCommandLineProcessing() method.
/// </summary>
2019-06-16 10:31:13 +02:00
command_line_args_disabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The location where data for the global browser cache will be stored on
/// disk. If this value is non-empty then it must be an absolute path that is
/// either equal to or a child directory of TCefSettings.root_cache_path. If
/// this value is empty then browsers will be created in "incognito mode"
/// where in-memory caches are used for storage and no data is persisted to
/// disk. HTML5 databases such as localStorage will only persist across
/// sessions if a cache path is specified. Can be overridden for individual
/// CefRequestContext instances via the TCefRequestContextSettings.cache_path
/// value. When using the Chrome runtime the "default" profile will be used if
/// |cache_path| and |root_cache_path| have the same value.
/// </summary>
2019-06-16 10:31:13 +02:00
cache_path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The root directory that all TCefSettings.cache_path and
/// TCefRequestContextSettings.cache_path values must have in common. If this
/// value is empty and TCefSettings.cache_path is non-empty then it will
/// default to the TCefSettings.cache_path value. If both values are empty
/// then the default platform-specific directory will be used
/// ("~/.config/cef_user_data" directory on Linux, "~/Library/Application
/// Support/CEF/User Data" directory on MacOS, "AppData\Local\CEF\User Data"
/// directory under the user profile directory on Windows). If this value is
/// non-empty then it must be an absolute path. Failure to set this value
/// correctly may result in the sandbox blocking read/write access to certain
/// files.
/// </summary>
2019-06-16 10:31:13 +02:00
root_cache_path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// To persist session cookies (cookies without an expiry date or validity
/// interval) by default when using the global cookie manager set this value
/// to true (1). Session cookies are generally intended to be transient and
/// most Web browsers do not persist them. A |cache_path| value must also be
/// specified to enable this feature. Also configurable using the
/// "persist-session-cookies" command-line switch. Can be overridden for
/// individual CefRequestContext instances via the
/// TCefRequestContextSettings.persist_session_cookies value.
/// </summary>
2019-06-16 10:31:13 +02:00
persist_session_cookies : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// To persist user preferences as a JSON file in the cache path directory set
/// this value to true (1). A |cache_path| value must also be specified
/// to enable this feature. Also configurable using the
/// "persist-user-preferences" command-line switch. Can be overridden for
/// individual CefRequestContext instances via the
/// TCefRequestContextSettings.persist_user_preferences value.
/// </summary>
2019-06-16 10:31:13 +02:00
persist_user_preferences : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Value that will be returned as the User-Agent HTTP header. If empty the
/// default User-Agent string will be used. Also configurable using the
/// "user-agent" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
user_agent : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Value that will be inserted as the product portion of the default
/// User-Agent string. If empty the Chromium product version will be used. If
/// |userAgent| is specified this value will be ignored. Also configurable
/// using the "user-agent-product" command-line switch.
/// </summary>
2021-04-28 14:38:07 +02:00
user_agent_product : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The locale string that will be passed to WebKit. If empty the default
/// locale of "en-US" will be used. This value is ignored on Linux where
/// locale is determined using environment variable parsing with the
/// precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG. Also
/// configurable using the "lang" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
locale : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The directory and file name to use for the debug log. If empty a default
/// log file name and location will be used. On Windows and Linux a
/// "debug.log" file will be written in the main executable directory. On
/// MacOS a "~/Library/Logs/[app name]_debug.log" file will be written where
/// [app name] is the name of the main app executable. Also configurable using
/// the "log-file" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
log_file : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The log severity. Only messages of this severity level or higher will be
/// logged. When set to DISABLE no messages will be written to the log file,
/// but FATAL messages will still be output to stderr. Also configurable using
/// the "log-severity" command-line switch with a value of "verbose", "info",
/// "warning", "error", "fatal" or "disable".
/// </summary>
2019-06-16 10:31:13 +02:00
log_severity : TCefLogSeverity;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Custom flags that will be used when initializing the V8 JavaScript engine.
/// The consequences of using custom flags may not be well tested. Also
/// configurable using the "js-flags" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
javascript_flags : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The fully qualified path for the resources directory. If this value is
/// empty the *.pak files must be located in the module directory on
/// Windows/Linux or the app bundle Resources directory on MacOS. If this
/// value is non-empty then it must be an absolute path. Also configurable
/// using the "resources-dir-path" command-line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
resources_dir_path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The fully qualified path for the locales directory. If this value is empty
/// the locales directory must be located in the module directory. If this
/// value is non-empty then it must be an absolute path. This value is ignored
/// on MacOS where pack files are always loaded from the app bundle Resources
/// directory. Also configurable using the "locales-dir-path" command-line
/// switch.
/// </summary>
2019-06-16 10:31:13 +02:00
locales_dir_path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to disable loading of pack files for resources and
/// locales. A resource bundle handler must be provided for the browser and
/// render processes via ICefApp.GetResourceBundleHandler() if loading of pack
/// files is disabled. Also configurable using the "disable-pack-loading"
/// command- line switch.
/// </summary>
2019-06-16 10:31:13 +02:00
pack_loading_disabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to a value between 1024 and 65535 to enable remote debugging on the
/// specified port. Also configurable using the "remote-debugging-port"
/// command-line switch. Remote debugging can be accessed by loading the
/// chrome://inspect page in Google Chrome. Port numbers 9222 and 9229 are
/// discoverable by default. Other port numbers may need to be configured via
/// "Discover network targets" on the Devices tab.
/// </summary>
2019-06-16 10:31:13 +02:00
remote_debugging_port : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The number of stack trace frames to capture for uncaught exceptions.
/// Specify a positive value to enable the
/// ICefRenderProcessHandler.OnUncaughtException() callback. Specify 0
/// (default value) and OnUncaughtException() will not be called. Also
/// configurable using the "uncaught-exception-stack-size" command-line
/// switch.
/// </summary>
2019-06-16 10:31:13 +02:00
uncaught_exception_stack_size : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Background color used for the browser before a document is loaded and when
/// no document color is specified. The alpha component must be either fully
/// opaque (0xFF) or fully transparent (0x00). If the alpha component is fully
/// opaque then the RGB components will be used as the background color. If
/// the alpha component is fully transparent for a windowed browser then the
/// default value of opaque white be used. If the alpha component is fully
/// transparent for a windowless (off-screen) browser then transparent
/// painting will be enabled.
/// </summary>
2019-06-16 10:31:13 +02:00
background_color : TCefColor;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Comma delimited ordered list of language codes without any whitespace that
/// will be used in the "Accept-Language" HTTP header. May be overridden on a
/// per-browser basis using the TCefBrowserSettings.accept_language_list value.
/// If both values are empty then "en-US,en" will be used. Can be overridden
/// for individual ICefRequestContext instances via the
/// TCefRequestContextSettings.accept_language_list value.
/// </summary>
2019-06-16 10:31:13 +02:00
accept_language_list : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Comma delimited list of schemes supported by the associated
/// ICefCookieManager. If |cookieable_schemes_exclude_defaults| is false (0)
/// the default schemes ("http", "https", "ws" and "wss") will also be
/// supported. Not specifying a |cookieable_schemes_list| value and setting
/// |cookieable_schemes_exclude_defaults| to true (1) will disable all loading
/// and saving of cookies. These settings will only impact the global
/// ICefRequestContext. Individual ICefRequestContext instances can be
/// configured via the TCefRequestContextSettings.cookieable_schemes_list and
/// TCefRequestContextSettings.cookieable_schemes_exclude_defaults values.
/// </summary>
2021-04-18 19:36:20 +02:00
cookieable_schemes_list : TCefString;
cookieable_schemes_exclude_defaults : integer ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing window information.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types_win.h">CEF source file: /include/internal/cef_types_win.h (cef_window_info_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefWindowInfo = record
2018-05-24 19:15:41 +02:00
{$IFDEF MSWINDOWS}
2023-07-30 18:47:35 +02:00
/// <summary>
/// Standard parameters required by CreateWindowEx()
/// </summary>
2018-03-29 20:02:04 +02:00
ex_style : DWORD;
window_name : TCefString;
style : DWORD;
2021-10-22 19:19:57 +02:00
bounds : TCefRect;
2018-03-29 20:02:04 +02:00
parent_window : TCefWindowHandle;
menu : HMENU;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to create the browser using windowless (off-screen)
/// rendering. No window will be created for the browser and all rendering
/// will occur via the ICefRenderHandler interface. The |parent_window| value
/// will be used to identify monitor info and to act as the parent window for
/// dialogs, context menus, etc. If |parent_window| is not provided then the
/// main screen monitor will be used and some functionality that requires a
/// parent window may not function correctly. In order to create windowless
/// browsers the TCefSettings.windowless_rendering_enabled value must be set to
/// true. Transparent painting is enabled by default but can be disabled by
/// setting TCefBrowserSettings.background_color to an opaque value.
/// </summary>
2018-03-29 20:02:04 +02:00
windowless_rendering_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to enable shared textures for windowless rendering. Only
/// valid if windowless_rendering_enabled above is also set to true. Currently
/// only supported on Windows (D3D11).
/// </summary>
2018-12-12 18:13:23 +02:00
shared_texture_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to enable the ability to issue BeginFrame requests from
/// the client application by calling ICefBrowserHost.SendExternalBeginFrame.
/// </summary>
2018-12-12 18:13:23 +02:00
external_begin_frame_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Handle for the new browser window. Only used with windowed rendering.
/// </summary>
2018-03-29 20:02:04 +02:00
window : TCefWindowHandle;
2018-05-24 19:15:41 +02:00
{$ENDIF}
2021-01-31 17:53:07 +02:00
{$IFDEF MACOSX}
2018-05-24 19:15:41 +02:00
window_name : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Initial window bounds.
/// </summary>
2021-10-22 19:19:57 +02:00
bounds : TCefRect;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to create the view initially hidden.
/// </summary>
2018-05-24 19:15:41 +02:00
hidden : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// NSView pointer for the parent view.
/// </summary>
2018-05-24 19:15:41 +02:00
parent_view : TCefWindowHandle;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to create the browser using windowless (off-screen)
/// rendering. No view will be created for the browser and all rendering will
/// occur via the CefRenderHandler interface. The |parent_view| value will be
/// used to identify monitor info and to act as the parent view for dialogs,
/// context menus, etc. If |parent_view| is not provided then the main screen
/// monitor will be used and some functionality that requires a parent view
/// may not function correctly. In order to create windowless browsers the
/// TCefSettings.windowless_rendering_enabled value must be set to true.
/// Transparent painting is enabled by default but can be disabled by setting
/// TCefBrowserSettings.background_color to an opaque value.
/// </summary>
2018-05-24 19:15:41 +02:00
windowless_rendering_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to enable shared textures for windowless rendering. Only
/// valid if windowless_rendering_enabled above is also set to true. Currently
/// only supported on Windows (D3D11).
/// </summary>
2018-12-12 18:13:23 +02:00
shared_texture_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to enable the ability to issue BeginFrame from the client
/// application.
/// </summary>
2018-12-12 18:13:23 +02:00
external_begin_frame_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// NSView pointer for the new browser view. Only used with windowed
/// rendering.
/// </summary>
2018-05-24 19:15:41 +02:00
view : TCefWindowHandle;
{$ENDIF}
{$IFDEF LINUX}
2023-07-30 18:47:35 +02:00
/// <summary>
/// The initial title of the window, to be set when the window is created.
/// Some layout managers (e.g., Compiz) can look at the window title
/// in order to decide where to place the window when it is
/// created. When this attribute is not empty, the window title will
/// be set before the window is mapped to the dispay. Otherwise the
/// title will be initially empty.
/// </summary>
2019-03-15 18:17:14 +02:00
window_name : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Initial window bounds.
/// </summary>
2021-10-22 19:19:57 +02:00
bounds : TCefRect;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Pointer for the parent window.
/// </summary>
2018-05-24 19:15:41 +02:00
parent_window : TCefWindowHandle;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to create the browser using windowless (off-screen)
/// rendering. No window will be created for the browser and all rendering
/// will occur via the ICefRenderHandler interface. The |parent_window| value
/// will be used to identify monitor info and to act as the parent window for
/// dialogs, context menus, etc. If |parent_window| is not provided then the
/// main screen monitor will be used and some functionality that requires a
/// parent window may not function correctly. In order to create windowless
/// browsers the TCefSettings.windowless_rendering_enabled value must be set to
/// true. Transparent painting is enabled by default but can be disabled by
/// setting TCefBrowserSettings.background_color to an opaque value.
/// </summary>
2018-05-24 19:15:41 +02:00
windowless_rendering_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to enable shared textures for windowless rendering. Only
/// valid if windowless_rendering_enabled above is also set to true. Currently
/// only supported on Windows (D3D11).
/// </summary>
2018-12-12 18:13:23 +02:00
shared_texture_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to enable the ability to issue BeginFrame requests from
/// the client application by calling ICefBrowserHost.SendExternalBeginFrame.
/// </summary>
2018-12-12 18:13:23 +02:00
external_begin_frame_enabled : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Pointer for the new browser window. Only used with windowed rendering.
/// </summary>
2018-05-24 19:15:41 +02:00
window : TCefWindowHandle;
{$ENDIF}
2018-03-29 20:02:04 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a draggable region.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_draggable_region_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefDraggableRegion = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Bounds of the region.
/// </summary>
2018-03-29 20:02:04 +02:00
bounds : TCefRect;
2023-07-30 18:47:35 +02:00
/// <summary>
/// True (1) this this region is draggable and false (0) otherwise.
/// </summary>
2018-03-29 20:02:04 +02:00
draggable : Integer ;
end ;
TCefDraggableRegionArray = array [ 0 .. ( High( Integer ) div SizeOf( TCefDraggableRegion) ) - 1 ] of TCefDraggableRegion;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing keyboard event information.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_key_event_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefKeyEvent = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// The type of keyboard event. It's called 'type' in the original CEF source code.
/// </summary>
kind : TCefKeyEventType;
/// <summary>
/// Bit flags describing any pressed modifier keys. See
/// TCefEventFlags for values.
/// </summary>
2018-03-29 20:02:04 +02:00
modifiers : TCefEventFlags;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The Windows key code for the key event. This value is used by the DOM
/// specification. Sometimes it comes directly from the event (i.e. on
/// Windows) and sometimes it's determined using a mapping function. See
/// WebCore/platform/chromium/KeyboardCodes.h for the list of values.
/// </summary>
2018-03-29 20:02:04 +02:00
windows_key_code : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The actual key code genenerated by the platform.
/// </summary>
2018-03-29 20:02:04 +02:00
native_key_code : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Indicates whether the event is considered a "system key" event (see
/// http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for details).
/// This value will always be false on non-Windows platforms.
/// </summary>
2018-03-29 20:02:04 +02:00
is_system_key : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The character generated by the keystroke.
/// </summary>
2018-03-29 20:02:04 +02:00
character : WideChar ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Same as |character| but unmodified by any concurrently-held modifiers
/// (except shift). This is useful for working out shortcut keys.
/// </summary>
2018-03-29 20:02:04 +02:00
unmodified_character : WideChar ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// True if the focus is currently on an editable field on the page. This is
/// useful for determining if standard key events should be intercepted.
/// </summary>
2018-03-29 20:02:04 +02:00
focus_on_editable_field : Integer ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Popup window features.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_popup_features_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefPopupFeatures = record
x : Integer ;
xSet : Integer ;
y : Integer ;
ySet : Integer ;
width : Integer ;
widthSet : Integer ;
height : Integer ;
heightSet : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// True (1) if browser interface elements should be hidden.
/// </summary>
2023-02-09 17:45:08 +02:00
isPopup : Integer ;
2018-03-29 20:02:04 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Browser initialization settings. Specify NULL or 0 to get the recommended
/// default values. The consequences of using custom values may not be well
/// tested. Many of these and other settings can also configured using command-
/// line switches.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_browser_settings_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefBrowserSettings = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Size of this structure.
/// </summary>
2018-03-29 20:02:04 +02:00
size : NativeUInt ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The maximum rate in frames per second (fps) that ICefRenderHandler.OnPaint
/// will be called for a windowless browser. The actual fps may be lower if
/// the browser cannot generate frames at the requested rate. The minimum
/// value is 1 and the maximum value is 60 (default 30). This value can also
/// be changed dynamically via ICefBrowserHost.SetWindowlessFrameRate.
/// </summary>
2018-03-29 20:02:04 +02:00
windowless_frame_rate : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Font settings.
/// </summary>
2018-03-29 20:02:04 +02:00
standard_font_family : TCefString;
fixed_font_family : TCefString;
serif_font_family : TCefString;
sans_serif_font_family : TCefString;
cursive_font_family : TCefString;
fantasy_font_family : TCefString;
default_font_size : Integer ;
default_fixed_font_size : Integer ;
minimum_font_size : Integer ;
minimum_logical_font_size : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Default encoding for Web content. If empty "ISO-8859-1" will be used. Also
/// configurable using the "default-encoding" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
default_encoding : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls the loading of fonts from remote sources. Also configurable using
/// the "disable-remote-fonts" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
remote_fonts : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether JavaScript can be executed. Also configurable using the
/// "disable-javascript" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
javascript : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether JavaScript can be used to close windows that were not
/// opened via JavaScript. JavaScript can still be used to close windows that
/// were opened via JavaScript or that have no back/forward history. Also
/// configurable using the "disable-javascript-close-windows" command-line
/// switch.
/// </summary>
2018-03-29 20:02:04 +02:00
javascript_close_windows : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether JavaScript can access the clipboard. Also configurable
/// using the "disable-javascript-access-clipboard" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
javascript_access_clipboard : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether DOM pasting is supported in the editor via
/// execCommand("paste"). The |javascript_access_clipboard| setting must also
/// be enabled. Also configurable using the "disable-javascript-dom-paste"
/// command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
javascript_dom_paste : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether image URLs will be loaded from the network. A cached
/// image will still be rendered if requested. Also configurable using the
/// "disable-image-loading" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
image_loading : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether standalone images will be shrunk to fit the page. Also
/// configurable using the "image-shrink-standalone-to-fit" command-line
/// switch.
/// </summary>
2018-03-29 20:02:04 +02:00
image_shrink_standalone_to_fit : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether text areas can be resized. Also configurable using the
/// "disable-text-area-resize" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
text_area_resize : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether the tab key can advance focus to links. Also configurable
/// using the "disable-tab-to-links" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
tab_to_links : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether local storage can be used. Also configurable using the
/// "disable-local-storage" command-line switch.
2023-08-09 19:38:57 +02:00
/// </summary>
2018-03-29 20:02:04 +02:00
local_storage : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether databases can be used. Also configurable using the
/// "disable-databases" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
databases : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether WebGL can be used. Note that WebGL requires hardware
/// support and may not work on all systems even when enabled. Also
/// configurable using the "disable-webgl" command-line switch.
/// </summary>
2018-03-29 20:02:04 +02:00
webgl : TCefState;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Background color used for the browser before a document is loaded and when
/// no document color is specified. The alpha component must be either fully
/// opaque (0xFF) or fully transparent (0x00). If the alpha component is fully
/// opaque then the RGB components will be used as the background color. If
/// the alpha component is fully transparent for a windowed browser then the
/// TCefSettings.background_color value will be used. If the alpha component is
/// fully transparent for a windowless (off-screen) browser then transparent
/// painting will be enabled.
/// </summary>
2018-03-29 20:02:04 +02:00
background_color : TCefColor;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Comma delimited ordered list of language codes without any whitespace that
/// will be used in the "Accept-Language" HTTP header. May be set globally
/// using the TCefSettings.accept_language_list value. If both values are
/// empty then "en-US,en" will be used.
/// </summary>
2018-03-29 20:02:04 +02:00
accept_language_list : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Controls whether the Chrome status bubble will be used. Only supported
/// with the Chrome runtime. For details about the status bubble see
/// https://www.chromium.org/user-experience/status-bubble/
/// </summary>
2022-05-03 12:43:16 +02:00
chrome_status_bubble : TCefState;
2018-03-29 20:02:04 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Screen information used when window rendering is disabled. This structure is
/// passed as a parameter to ICefRenderHandler.GetScreenInfo and should be
/// filled in by the client.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_screen_info_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefScreenInfo = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Device scale factor. Specifies the ratio between physical and logical
/// pixels.
/// </summary>
2022-08-06 12:00:28 +02:00
device_scale_factor : single ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The screen depth in bits per pixel.
/// </summary>
2022-08-06 12:00:28 +02:00
depth : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The bits per color component. This assumes that the colors are balanced
/// equally.
/// </summary>
2022-08-06 12:00:28 +02:00
depth_per_component : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// This can be true for black and white printers.
/// </summary>
2022-08-06 12:00:28 +02:00
is_monochrome : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// This is set from the rcMonitor member of MONITORINFOEX, to whit:
/// "A RECT structure that specifies the display monitor rectangle,
/// expressed in virtual-screen coordinates. Note that if the monitor
/// is not the primary display monitor, some of the rectangle's
/// coordinates may be negative values."
//
/// The |rect| and |available_rect| properties are used to determine the
/// available surface for rendering popup views.
/// </summary>
2018-03-29 20:02:04 +02:00
rect : TCefRect;
2023-07-30 18:47:35 +02:00
/// <summary>
/// This is set from the rcWork member of MONITORINFOEX, to whit:
/// "A RECT structure that specifies the work area rectangle of the
/// display monitor that can be used by applications, expressed in
/// virtual-screen coordinates. Windows uses this rectangle to
/// maximize an application on the monitor. The rest of the area in
/// rcMonitor contains system windows such as the task bar and side
/// bars. Note that if the monitor is not the primary display monitor,
/// some of the rectangle's coordinates may be negative values".
//
/// The |rect| and |available_rect| properties are used to determine the
/// available surface for rendering popup views.
/// </summary>
2018-03-29 20:02:04 +02:00
available_rect : TCefRect;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Request context initialization settings. Specify NULL or 0 to get the
/// recommended default values.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_request_context_settings_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefRequestContextSettings = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Size of this structure.
/// </summary>
2021-04-18 19:36:20 +02:00
size : NativeUInt ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The location where cache data for this request context will be stored on
/// disk. If this value is non-empty then it must be an absolute path that is
/// either equal to or a child directory of TCefSettings.root_cache_path. If
/// this value is empty then browsers will be created in "incognito mode"
/// where in-memory caches are used for storage and no data is persisted to
/// disk. HTML5 databases such as localStorage will only persist across
/// sessions if a cache path is specified. To share the global browser cache
/// and related configuration set this value to match the
/// TCefSettings.cache_path value.
/// </summary>
2021-04-18 19:36:20 +02:00
cache_path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// To persist session cookies (cookies without an expiry date or validity
/// interval) by default when using the global cookie manager set this value
/// to true (1). Session cookies are generally intended to be transient and
/// most Web browsers do not persist them. Can be set globally using the
/// TCefSettings.persist_session_cookies value. This value will be ignored if
/// |cache_path| is empty or if it matches the TCefSettings.cache_path value.
/// </summary>
2021-04-18 19:36:20 +02:00
persist_session_cookies : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// To persist user preferences as a JSON file in the cache path directory set
/// this value to true (1). Can be set globally using the
/// TCefSettings.persist_user_preferences value. This value will be ignored if
/// |cache_path| is empty or if it matches the TCefSettings.cache_path value.
/// </summary>
2021-04-18 19:36:20 +02:00
persist_user_preferences : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Comma delimited ordered list of language codes without any whitespace that
/// will be used in the "Accept-Language" HTTP header. Can be set globally
/// using the TCefSettings.accept_language_list value or overridden on a per-
/// browser basis using the TCefBrowserSettings.accept_language_list value. If
/// all values are empty then "en-US,en" will be used. This value will be
/// ignored if |cache_path| matches the TCefSettings.cache_path value.
/// </summary>
2021-04-18 19:36:20 +02:00
accept_language_list : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Comma delimited list of schemes supported by the associated
/// CefCookieManager. If |cookieable_schemes_exclude_defaults| is false (0)
/// the default schemes ("http", "https", "ws" and "wss") will also be
/// supported. Not specifying a |cookieable_schemes_list| value and setting
/// |cookieable_schemes_exclude_defaults| to true (1) will disable all loading
/// and saving of cookies. These values will be ignored if |cache_path|
/// matches the TCefSettings.cache_path value.
/// </summary>
2021-04-18 19:36:20 +02:00
cookieable_schemes_list : TCefString;
cookieable_schemes_exclude_defaults : integer ;
2018-03-29 20:02:04 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Cookie information.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_cookie_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefCookie = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// The cookie name.
/// </summary>
2018-03-29 20:02:04 +02:00
name : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The cookie value.
/// </summary>
2018-03-29 20:02:04 +02:00
value : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// If |domain| is empty a host cookie will be created instead of a domain
/// cookie. Domain cookies are stored with a leading "." and are visible to
/// sub-domains whereas host cookies are not.
/// </summary>
2018-03-29 20:02:04 +02:00
domain : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// If |path| is non-empty only URLs at or below the path will get the cookie
/// value.
/// </summary>
2018-03-29 20:02:04 +02:00
path : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// If |secure| is true the cookie will only be sent for HTTPS requests.
/// </summary>
2018-03-29 20:02:04 +02:00
secure : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// If |httponly| is true the cookie will only be sent for HTTP requests.
/// </summary>
2018-03-29 20:02:04 +02:00
httponly : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The cookie creation date. This is automatically populated by the system on
/// cookie creation.
/// </summary>
2022-09-04 19:18:07 +02:00
creation : TCefBaseTime;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The cookie last access date. This is automatically populated by the system
/// on access.
/// </summary>
2022-09-04 19:18:07 +02:00
last_access : TCefBaseTime;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The cookie expiration date is only valid if |has_expires| is true.
/// </summary>
2018-03-29 20:02:04 +02:00
has_expires : Integer ;
2022-09-04 19:18:07 +02:00
expires : TCefBaseTime;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Same site.
/// </summary>
2020-05-23 15:00:44 +02:00
same_site : TCefCookieSameSite;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Priority.
/// </summary>
2020-05-23 15:00:44 +02:00
priority : TCefCookiePriority;
2018-03-29 20:02:04 +02:00
end ;
2023-08-09 19:38:57 +02:00
/// <summary>
/// Cookie information.
/// </summary>
2018-03-29 20:02:04 +02:00
TCookie = record
2018-04-07 20:24:55 +02:00
name : ustring;
2018-03-29 20:02:04 +02:00
value : ustring;
domain : ustring;
path : ustring;
creation : TDateTime;
last_access : TDateTime;
expires : TDateTime;
secure : boolean ;
httponly : boolean ;
has_expires : boolean ;
2020-05-23 15:00:44 +02:00
same_site : TCefCookieSameSite;
priority : TCefCookiePriority;
2018-03-29 20:02:04 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing PDF print settings. These values match the parameters
/// supported by the DevTools Page.printToPDF function. See
/// https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_pdf_print_settings_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefPdfPrintSettings = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) for landscape mode or false (0) for portrait mode.
/// </summary>
2018-03-29 20:02:04 +02:00
landscape : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to print background graphics.
/// </summary>
2022-12-16 12:29:15 +02:00
print_background : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The percentage to scale the PDF by before printing (e.g. .5 is 50%).
/// If this value is less than or equal to zero the default value of 1.0
/// will be used.
/// </summary>
2022-12-16 12:29:15 +02:00
scale : double ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Output paper size in inches. If either of these values is less than or
/// equal to zero then the default paper size (letter, 8.5 x 11 inches) will
/// be used.
/// </summary>
2022-12-16 12:29:15 +02:00
paper_width : double ;
paper_height : double ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to prefer page size as defined by css. Defaults to false
/// (0), in which case the content will be scaled to fit the paper size.
/// </summary>
2022-12-16 12:29:15 +02:00
prefer_css_page_size : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Margin type.
/// </summary>
2022-12-16 12:29:15 +02:00
margin_type : TCefPdfPrintMarginType;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Margins in inches. Only used if |margin_type| is set to
/// PDF_PRINT_MARGIN_CUSTOM.
/// </summary>
2022-12-16 12:29:15 +02:00
margin_top : double ;
margin_right : double ;
margin_bottom : double ;
margin_left : double ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Paper ranges to print, one based, e.g., '1-5, 8, 11-13'. Pages are printed
/// in the document order, not in the order specified, and no more than once.
/// Defaults to empty string, which implies the entire document is printed.
/// The page numbers are quietly capped to actual page count of the document,
/// and ranges beyond the end of the document are ignored. If this results in
/// no pages to print, an error is reported. It is an error to specify a range
/// with start greater than end.
/// </summary>
2022-12-16 12:29:15 +02:00
page_ranges : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Set to true (1) to display the header and/or footer. Modify
/// |header_template| and/or |footer_template| to customize the display.
/// </summary>
2022-12-16 12:29:15 +02:00
display_header_footer : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// HTML template for the print header. Only displayed if
/// |display_header_footer| is true (1). Should be valid HTML markup with
/// the following classes used to inject printing values into them:
///
/// - date: formatted print date
/// - title: document title
/// - url: document location
/// - pageNumber: current page number
/// - totalPages: total pages in the document
///
/// For example, "<span class=title></span>" would generate a span containing
/// the title.
/// </summary>
2022-12-16 12:29:15 +02:00
header_template : TCefString;
2023-07-30 18:47:35 +02:00
/// <summary>
/// HTML template for the print footer. Only displayed if
/// |display_header_footer| is true (1). Uses the same format as
/// |header_template|.
/// </summary>
2022-12-16 12:29:15 +02:00
footer_template : TCefString;
2018-03-29 20:02:04 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing mouse event information.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_mouse_event_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefMouseEvent = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// X coordinate relative to the left side of the view.
/// </summary>
2018-03-29 20:02:04 +02:00
x : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Y coordinate relative to the top side of the view.
/// </summary>
2018-03-29 20:02:04 +02:00
y : Integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Bit flags describing any pressed modifier keys. See
/// TCefEventFlags for values.
/// </summary>
2018-03-29 20:02:04 +02:00
modifiers : TCefEventFlags;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing touch event information.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_touch_event_t)</see></para>
/// </remarks>
2019-03-15 18:17:14 +02:00
TCefTouchEvent = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Id of a touch point. Must be unique per touch, can be any number except
/// -1. Note that a maximum of 16 concurrent touches will be tracked; touches
/// beyond that will be ignored.
/// </summary>
2019-03-15 18:17:14 +02:00
id : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// X coordinate relative to the left side of the view.
/// </summary>
2019-03-15 18:17:14 +02:00
x : single ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Y coordinate relative to the top side of the view.
/// </summary>
2019-03-15 18:17:14 +02:00
y : single ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// X radius in pixels. Set to 0 if not applicable.
/// </summary>
2019-03-15 18:17:14 +02:00
radius_x : single ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Y radius in pixels. Set to 0 if not applicable.
/// </summary>
2019-03-15 18:17:14 +02:00
radius_y : single ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Rotation angle in radians. Set to 0 if not applicable.
/// </summary>
2019-03-15 18:17:14 +02:00
rotation_angle : single ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The normalized pressure of the pointer input in the range of [0,1].
/// Set to 0 if not applicable.
/// </summary>
2019-03-15 18:17:14 +02:00
pressure : single ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The state of the touch point. Touches begin with one CEF_TET_PRESSED event
/// followed by zero or more CEF_TET_MOVED events and finally one
/// CEF_TET_RELEASED or CEF_TET_CANCELLED event. Events not respecting this
/// order will be ignored.
/// </summary>
2019-03-15 18:17:14 +02:00
type_ : TCefTouchEeventType;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Bit flags describing any pressed modifier keys. See
/// TCefEventFlags for values.
/// </summary>
2019-03-15 18:17:14 +02:00
modifiers : TCefEventFlags;
2023-07-30 18:47:35 +02:00
/// <summary>
/// The device type that caused the event.
/// </summary>
2019-03-15 18:17:14 +02:00
pointer_type : TCefPointerType;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing the audio parameters for setting up the audio
/// handler.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_audio_parameters_t)</see></para>
/// </remarks>
2020-05-23 15:00:44 +02:00
TCefAudioParameters = record
2023-07-30 18:47:35 +02:00
/// <summary>
/// Layout of the audio channels
/// </summary>
2020-05-23 15:00:44 +02:00
channel_layout : TCefChannelLayout;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Sample rate
/// </summary>
2020-05-23 15:00:44 +02:00
sample_rate : integer ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Number of frames per buffer
/// </summary>
2020-05-23 15:00:44 +02:00
frames_per_buffer : integer ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Device information for a MediaSink object.
/// handler.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_media_sink_device_info_t)</see></para>
/// </remarks>
2020-07-15 14:56:41 +02:00
TCefMediaSinkDeviceInfo = record
ip_address : TCefString;
port : integer ;
model_name : TCefString;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supported content setting types. Some types are platform-specific or only
/// supported with the Chrome runtime. Should be kept in sync with Chromium's
/// ContentSettingsType type.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_content_setting_types_t)</see></para>
/// </remarks>
TCefContentSettingTypes = (
CEF_CONTENT_SETTING_TYPE_COOKIES = 0 ,
CEF_CONTENT_SETTING_TYPE_IMAGES,
CEF_CONTENT_SETTING_TYPE_JAVASCRIPT,
/// <summary>
/// This setting governs both popups and unwanted redirects like tab-unders and framebusting.
/// </summary>
CEF_CONTENT_SETTING_TYPE_POPUPS,
CEF_CONTENT_SETTING_TYPE_GEOLOCATION,
CEF_CONTENT_SETTING_TYPE_NOTIFICATIONS,
CEF_CONTENT_SETTING_TYPE_AUTO_SELECT_CERTIFICATE,
CEF_CONTENT_SETTING_TYPE_MIXEDSCRIPT,
CEF_CONTENT_SETTING_TYPE_MEDIASTREAM_MIC,
CEF_CONTENT_SETTING_TYPE_MEDIASTREAM_CAMERA,
CEF_CONTENT_SETTING_TYPE_PROTOCOL_HANDLERS,
CEF_CONTENT_SETTING_TYPE_DEPRECATED_PPAPI_BROKER,
CEF_CONTENT_SETTING_TYPE_AUTOMATIC_DOWNLOADS,
CEF_CONTENT_SETTING_TYPE_MIDI_SYSEX,
CEF_CONTENT_SETTING_TYPE_SSL_CERT_DECISIONS,
CEF_CONTENT_SETTING_TYPE_PROTECTED_MEDIA_IDENTIFIER,
CEF_CONTENT_SETTING_TYPE_APP_BANNER,
CEF_CONTENT_SETTING_TYPE_SITE_ENGAGEMENT,
CEF_CONTENT_SETTING_TYPE_DURABLE_STORAGE,
CEF_CONTENT_SETTING_TYPE_USB_CHOOSER_DATA,
CEF_CONTENT_SETTING_TYPE_BLUETOOTH_GUARD,
CEF_CONTENT_SETTING_TYPE_BACKGROUND_SYNC,
CEF_CONTENT_SETTING_TYPE_AUTOPLAY,
CEF_CONTENT_SETTING_TYPE_IMPORTANT_SITE_INFO,
CEF_CONTENT_SETTING_TYPE_PERMISSION_AUTOBLOCKER_DATA,
CEF_CONTENT_SETTING_TYPE_ADS,
/// <summary>
/// Website setting which stores metadata for the subresource filter to aid in
/// decisions for whether or not to show the UI.
/// </summary>
CEF_CONTENT_SETTING_TYPE_ADS_DATA,
/// <summary>
/// This is special-cased in the permissions layer to always allow, and as
/// such doesn't have associated prefs data.
/// </summary>
CEF_CONTENT_SETTING_TYPE_MIDI,
/// <summary>
/// This content setting type is for caching password protection service's
/// verdicts of each origin.
/// </summary>
CEF_CONTENT_SETTING_TYPE_PASSWORD_PROTECTION,
/// <summary>
/// Website setting which stores engagement data for media related to a
/// specific origin.
/// </summary>
CEF_CONTENT_SETTING_TYPE_MEDIA_ENGAGEMENT,
/// <summary>
/// Content setting which stores whether or not the site can play audible
/// sound. This will not block playback but instead the user will not hear it.
/// </summary>
CEF_CONTENT_SETTING_TYPE_SOUND,
/// <summary>
/// Website setting which stores the list of client hints that the origin
/// requested the browser to remember. The browser is expected to send all
/// client hints in the HTTP request headers for every resource requested
/// from that origin.
/// </summary>
CEF_CONTENT_SETTING_TYPE_CLIENT_HINTS,
/// <summary>
/// Generic Sensor API covering ambient-light-sensor, accelerometer, gyroscope
/// and magnetometer are all mapped to a single content_settings_type.
/// Setting for the Generic Sensor API covering ambient-light-sensor,
/// accelerometer, gyroscope and magnetometer. These are all mapped to a
/// single ContentSettingsType.
/// </summary>
CEF_CONTENT_SETTING_TYPE_SENSORS,
/// <summary>
/// Content setting which stores whether or not the user has granted the site
/// permission to respond to accessibility events, which can be used to
/// provide a custom accessibility experience. Requires explicit user consent
/// because some users may not want sites to know they're using assistive
/// technology.
/// </summary>
CEF_CONTENT_SETTING_TYPE_ACCESSIBILITY_EVENTS,
/// <summary>
/// Used to store whether to allow a website to install a payment handler.
/// </summary>
CEF_CONTENT_SETTING_TYPE_PAYMENT_HANDLER,
/// <summary>
/// Content setting which stores whether to allow sites to ask for permission
/// to access USB devices. If this is allowed specific device permissions are
/// stored under USB_CHOOSER_DATA.
/// </summary>
CEF_CONTENT_SETTING_TYPE_USB_GUARD,
/// <summary>
/// Nothing is stored in this setting at present. Please refer to
/// BackgroundFetchPermissionContext for details on how this permission
/// is ascertained.
/// </summary>
CEF_CONTENT_SETTING_TYPE_BACKGROUND_FETCH,
/// <summary>
/// Website setting which stores the amount of times the user has dismissed
/// intent picker UI without explicitly choosing an option.
/// </summary>
CEF_CONTENT_SETTING_TYPE_INTENT_PICKER_DISPLAY,
/// <summary>
/// Used to store whether to allow a website to detect user active/idle state.
/// </summary>
CEF_CONTENT_SETTING_TYPE_IDLE_DETECTION,
/// <summary>
/// Setting for enabling auto-select of all screens for getDisplayMediaSet.
2023-08-09 19:38:57 +02:00
/// </summary>
2023-07-30 18:47:35 +02:00
CEF_CONTENT_SETTING_TYPE_GET_DISPLAY_MEDIA_SET_SELECT_ALL_SCREENS,
/// <summary>
/// Content settings for access to serial ports. The "guard" content setting
/// stores whether to allow sites to ask for permission to access a port. The
/// permissions granted to access particular ports are stored in the "chooser
/// data" website setting.
/// </summary>
CEF_CONTENT_SETTING_TYPE_SERIAL_GUARD,
CEF_CONTENT_SETTING_TYPE_SERIAL_CHOOSER_DATA,
/// <summary>
/// Nothing is stored in this setting at present. Please refer to
/// PeriodicBackgroundSyncPermissionContext for details on how this permission
/// is ascertained.
/// This content setting is not registered because it does not require access
/// to any existing providers.
/// </summary>
CEF_CONTENT_SETTING_TYPE_PERIODIC_BACKGROUND_SYNC,
/// <summary>
/// Content setting which stores whether to allow sites to ask for permission
/// to do Bluetooth scanning.
/// </summary>
CEF_CONTENT_SETTING_TYPE_BLUETOOTH_SCANNING,
/// <summary>
/// Content settings for access to HID devices. The "guard" content setting
/// stores whether to allow sites to ask for permission to access a device.
/// The permissions granted to access particular devices are stored in the
/// "chooser data" website setting.
/// </summary>
CEF_CONTENT_SETTING_TYPE_HID_GUARD,
CEF_CONTENT_SETTING_TYPE_HID_CHOOSER_DATA,
/// <summary>
/// Wake Lock API, which has two lock types: screen and system locks.
/// Currently, screen locks do not need any additional permission, and system
/// locks are always denied while the right UI is worked out.
/// </summary>
CEF_CONTENT_SETTING_TYPE_WAKE_LOCK_SCREEN,
CEF_CONTENT_SETTING_TYPE_WAKE_LOCK_SYSTEM,
/// <summary>
/// Legacy SameSite cookie behavior. This disables SameSite=Lax-by-default,
/// SameSite=None requires Secure, and Schemeful Same-Site, forcing the
/// legacy behavior wherein 1) cookies that don't specify SameSite are treated
/// as SameSite=None, 2) SameSite=None cookies are not required to be Secure,
/// and 3) schemeful same-site is not active.
///
/// This will also be used to revert to legacy behavior when future changes
/// in cookie handling are introduced.
/// </summary>
CEF_CONTENT_SETTING_TYPE_LEGACY_COOKIE_ACCESS,
/// <summary>
/// Content settings which stores whether to allow sites to ask for permission
/// to save changes to an original file selected by the user through the
/// File System Access API.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_WRITE_GUARD,
/// <summary>
/// Used to store whether to allow a website to exchange data with NFC
/// devices.
/// </summary>
CEF_CONTENT_SETTING_TYPE_NFC,
/// <summary>
/// Website setting to store permissions granted to access particular
/// Bluetooth devices.
/// </summary>
CEF_CONTENT_SETTING_TYPE_BLUETOOTH_CHOOSER_DATA,
/// <summary>
/// Full access to the system clipboard (sanitized read without user gesture,
/// and unsanitized read and write with user gesture).
/// </summary>
CEF_CONTENT_SETTING_TYPE_CLIPBOARD_READ_WRITE,
/// <summary>
/// This is special-cased in the permissions layer to always allow, and as
/// such doesn't have associated prefs data.
/// </summary>
CEF_CONTENT_SETTING_TYPE_CLIPBOARD_SANITIZED_WRITE,
/// <summary>
/// This content setting type is for caching safe browsing real time url
/// check's verdicts of each origin.
/// </summary>
CEF_CONTENT_SETTING_TYPE_SAFE_BROWSING_URL_CHECK_DATA,
/// <summary>
/// Used to store whether a site is allowed to request AR or VR sessions with
/// the WebXr Device API.
/// </summary>
CEF_CONTENT_SETTING_TYPE_VR,
CEF_CONTENT_SETTING_TYPE_AR,
/// <summary>
/// Content setting which stores whether to allow site to open and read files
/// and directories selected through the File System Access API.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_READ_GUARD,
/// <summary>
/// Access to first party storage in a third-party context. Exceptions are
/// scoped to the combination of requesting/top-level origin, and are managed
/// through the Storage Access API. For the time being, this content setting
/// exists in parallel to third-party cookie rules stored in COOKIES.
/// </summary>
CEF_CONTENT_SETTING_TYPE_STORAGE_ACCESS,
/// <summary>
/// Content setting which stores whether to allow a site to control camera
/// movements. It does not give access to camera.
/// </summary>
CEF_CONTENT_SETTING_TYPE_CAMERA_PAN_TILT_ZOOM,
/// <summary>
/// Content setting for Screen Enumeration and Screen Detail functionality.
/// Permits access to detailed multi-screen information, like size and
/// position. Permits placing fullscreen and windowed content on specific
/// screens. See also: https://w3c.github.io/window-placement
/// </summary>
CEF_CONTENT_SETTING_TYPE_WINDOW_MANAGEMENT,
/// <summary>
/// Stores whether to allow insecure websites to make local network requests.
/// See also: https://wicg.github.io/local-network-access
/// Set through enterprise policies only.
/// </summary>
CEF_CONTENT_SETTING_TYPE_INSECURE_LOCAL_NETWORK,
/// <summary>
/// Content setting which stores whether or not a site can access low-level
/// locally installed font data using the Local Fonts Access API.
/// </summary>
CEF_CONTENT_SETTING_TYPE_LOCAL_FONTS,
/// <summary>
/// Stores per-origin state for permission auto-revocation (for all permission
/// types).
/// </summary>
CEF_CONTENT_SETTING_TYPE_PERMISSION_AUTOREVOCATION_DATA,
/// <summary>
/// Stores per-origin state of the most recently selected directory for the
/// use by the File System Access API.
2023-08-09 19:38:57 +02:00
/// </summary>
2023-07-30 18:47:35 +02:00
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_LAST_PICKED_DIRECTORY,
/// <summary>
/// Controls access to the getDisplayMedia API when {preferCurrentTab: true}
/// is specified.
/// </summary>
CEF_CONTENT_SETTING_TYPE_DISPLAY_CAPTURE,
/// <summary>
/// Website setting to store permissions metadata granted to paths on the
/// local file system via the File System Access API.
/// |FILE_SYSTEM_WRITE_GUARD| is the corresponding "guard" setting.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FILE_SYSTEM_ACCESS_CHOOSER_DATA,
/// <summary>
/// Stores a grant that allows a relying party to send a request for identity
/// information to specified identity providers, potentially through any
/// anti-tracking measures that would otherwise prevent it. This setting is
/// associated with the relying party's origin.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_SHARING,
/// <summary>
/// Whether to use the v8 optimized JIT for running JavaScript on the page.
/// </summary>
CEF_CONTENT_SETTING_TYPE_JAVASCRIPT_JIT,
/// <summary>
/// Content setting which stores user decisions to allow loading a site over
/// HTTP. Entries are added by hostname when a user bypasses the HTTPS-First
/// Mode interstitial warning when a site does not support HTTPS. Allowed
/// hosts are exact hostname matches -- subdomains of a host on the allowlist
/// must be separately allowlisted.
/// </summary>
CEF_CONTENT_SETTING_TYPE_HTTP_ALLOWED,
/// <summary>
/// Stores metadata related to form fill, such as e.g. whether user data was
/// autofilled on a specific website.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FORMFILL_METADATA,
/// <summary>
/// Setting to indicate that there is an active federated sign-in session
/// between a specified relying party and a specified identity provider for
/// a specified account. When this is present it allows access to session
/// management capabilities between the sites. This setting is associated
/// with the relying party's origin.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_ACTIVE_SESSION,
/// <summary>
/// Setting to indicate whether Chrome should automatically apply darkening to
/// web content.
/// </summary>
CEF_CONTENT_SETTING_TYPE_AUTO_DARK_WEB_CONTENT,
/// <summary>
/// Setting to indicate whether Chrome should request the desktop view of a
/// site instead of the mobile one.
/// </summary>
CEF_CONTENT_SETTING_TYPE_REQUEST_DESKTOP_SITE,
/// <summary>
/// Setting to indicate whether browser should allow signing into a website
/// via the browser FedCM API.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_API,
/// <summary>
/// Stores notification interactions per origin for the past 90 days.
/// Interactions per origin are pre-aggregated over seven-day windows: A
/// notification interaction or display is assigned to the last Monday
/// midnight in local time.
/// </summary>
CEF_CONTENT_SETTING_TYPE_NOTIFICATION_INTERACTIONS,
/// <summary>
/// Website setting which stores the last reduced accept language negotiated
/// for a given origin, to be used on future visits to the origin.
/// </summary>
CEF_CONTENT_SETTING_TYPE_REDUCED_ACCEPT_LANGUAGE,
/// <summary>
/// Website setting which is used for NotificationPermissionReviewService to
/// store origin blocklist from review notification permissions feature.
/// </summary>
CEF_CONTENT_SETTING_TYPE_NOTIFICATION_PERMISSION_REVIEW,
/// <summary>
/// Website setting to store permissions granted to access particular devices
/// in private network.
/// </summary>
CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_GUARD,
CEF_CONTENT_SETTING_TYPE_PRIVATE_NETWORK_CHOOSER_DATA,
/// <summary>
/// Website setting which stores whether the browser has observed the user
/// signing into an identity-provider based on observing the IdP-SignIn-Status
/// HTTP header.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_IDENTITY_PROVIDER_SIGNIN_STATUS,
/// <summary>
/// Website setting which is used for UnusedSitePermissionsService to
/// store revoked permissions of unused sites from unused site permissions
/// feature.
/// </summary>
CEF_CONTENT_SETTING_TYPE_REVOKED_UNUSED_SITE_PERMISSIONS,
/// <summary>
/// Similar to STORAGE_ACCESS, but applicable at the page-level rather than
/// being specific to a frame.
/// </summary>
CEF_CONTENT_SETTING_TYPE_TOP_LEVEL_STORAGE_ACCESS,
/// <summary>
/// Setting to indicate whether user has opted in to allowing auto re-authn
/// via the FedCM API.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_AUTO_REAUTHN_PERMISSION,
/// <summary>
/// Website setting which stores whether the user has explicitly registered
/// a website as an identity-provider.
/// </summary>
CEF_CONTENT_SETTING_TYPE_FEDERATED_IDENTITY_IDENTITY_PROVIDER_REGISTRATION,
/// <summary>
/// Content setting which is used to indicate whether anti-abuse functionality
/// should be enabled.
/// </summary>
CEF_CONTENT_SETTING_TYPE_ANTI_ABUSE,
/// <summary>
/// Content setting used to indicate whether third-party storage partitioning
/// should be enabled.
/// </summary>
CEF_CONTENT_SETTING_TYPE_THIRD_PARTY_STORAGE_PARTITIONING,
/// <summary>
/// Used to indicate whether HTTPS-First Mode is enabled on the hostname.
/// </summary>
CEF_CONTENT_SETTING_TYPE_HTTPS_ENFORCED,
CEF_CONTENT_SETTING_TYPE_NUM_TYPES
) ;
/// <summary>
/// Supported content setting values. Should be kept in sync with Chromium's
/// ContentSetting type.
/// </summary>
/// <remarks>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/internal/cef_types.h">CEF source file: /include/internal/cef_types.h (cef_content_setting_values_t)</see></para>
/// </remarks>
TCefContentSettingValues = (
CEF_CONTENT_SETTING_VALUE_DEFAULT = 0 ,
CEF_CONTENT_SETTING_VALUE_ALLOW,
CEF_CONTENT_SETTING_VALUE_BLOCK,
CEF_CONTENT_SETTING_VALUE_ASK,
CEF_CONTENT_SETTING_VALUE_SESSION_ONLY,
CEF_CONTENT_SETTING_VALUE_DETECT_IMPORTANT_CONTENT,
CEF_CONTENT_SETTING_VALUE_NUM_VALUES
) ;
/// <summary>
/// All ref-counted framework structures must include this structure first.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBaseRefCounted.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_base_capi.h">CEF source file: /include/capi/cef_base_capi.h (cef_base_ref_counted_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefBaseRefCounted = record
2018-10-26 10:32:10 +02:00
size : NativeUInt ;
add_ref : procedure( self: PCefBaseRefCounted) ; stdcall ;
release : function( self: PCefBaseRefCounted) : Integer ; stdcall ;
has_one_ref : function( self: PCefBaseRefCounted) : Integer ; stdcall ;
has_at_least_one_ref : function( self: PCefBaseRefCounted) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// All scoped framework structures must include this structure first.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBaseScoped.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_base_capi.h">CEF source file: /include/capi/cef_base_capi.h (cef_base_scoped_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefBaseScoped = record
size : NativeUInt ;
del : procedure( self: PCefBaseScoped) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to write data to a stream. The functions of this structure
/// may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefStreamWriter.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_stream_capi.h">CEF source file: /include/capi/cef_stream_capi.h (cef_stream_writer_t)</see></para>
/// </remarks>
2018-03-29 20:02:04 +02:00
TCefStreamWriter = record
base : TCefBaseRefCounted;
write : function( self: PCefStreamWriter; const ptr: Pointer ; size, n: NativeUInt ) : NativeUInt ; stdcall ;
seek : function( self: PCefStreamWriter; offset: Int64 ; whence: Integer ) : Integer ; stdcall ;
tell : function( self: PCefStreamWriter) : Int64 ; stdcall ;
flush : function( self: PCefStreamWriter) : Integer ; stdcall ;
may_block : function( self: PCefStreamWriter) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing the issuer or subject field of an X.509 certificate.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefX509CertPrincipal.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_x509_certificate_capi.h">CEF source file: /include/capi/cef_x509_certificate_capi.h (cef_x509cert_principal_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefX509CertPrincipal = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_display_name : function( self: PCefX509CertPrincipal) : PCefStringUserFree; stdcall ;
get_common_name : function( self: PCefX509CertPrincipal) : PCefStringUserFree; stdcall ;
get_locality_name : function( self: PCefX509CertPrincipal) : PCefStringUserFree; stdcall ;
get_state_or_province_name : function( self: PCefX509CertPrincipal) : PCefStringUserFree; stdcall ;
get_country_name : function( self: PCefX509CertPrincipal) : PCefStringUserFree; stdcall ;
get_organization_names : procedure( self: PCefX509CertPrincipal; names: TCefStringList) ; stdcall ;
get_organization_unit_names : procedure( self: PCefX509CertPrincipal; names: TCefStringList) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a X.509 certificate.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefX509Certificate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_x509_certificate_capi.h">CEF source file: /include/capi/cef_x509_certificate_capi.h (cef_x509certificate_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefX509Certificate = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_subject : function( self: PCefX509Certificate) : PCefX509CertPrincipal; stdcall ;
get_issuer : function( self: PCefX509Certificate) : PCefX509CertPrincipal; stdcall ;
get_serial_number : function( self: PCefX509Certificate) : PCefBinaryValue; stdcall ;
2022-09-04 19:18:07 +02:00
get_valid_start : function( self: PCefX509Certificate) : TCefBaseTime; stdcall ;
get_valid_expiry : function( self: PCefX509Certificate) : TCefBaseTime; stdcall ;
2018-03-29 20:02:04 +02:00
get_derencoded : function( self: PCefX509Certificate) : PCefBinaryValue; stdcall ;
get_pemencoded : function( self: PCefX509Certificate) : PCefBinaryValue; stdcall ;
get_issuer_chain_size : function( self: PCefX509Certificate) : NativeUInt ; stdcall ;
get_derencoded_issuer_chain : procedure( self: PCefX509Certificate; var chainCount: NativeUInt ; var chain: PCefBinaryValue) ; stdcall ;
get_pemencoded_issuer_chain : procedure( self: PCefX509Certificate; var chainCount: NativeUInt ; var chain: PCefBinaryValue) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing SSL information.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSslInfo</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_ssl_info_capi.h">CEF source file: /include/capi/cef_ssl_info_capi.h (cef_sslinfo_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSslInfo = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_cert_status : function( self: PCefSslInfo) : TCefCertStatus; stdcall ;
get_x509certificate : function( self: PCefSslInfo) : PCefX509Certificate; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing the SSL information for a navigation entry.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSSLStatus.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_ssl_status_capi.h">CEF source file: /include/capi/cef_ssl_status_capi.h (cef_sslstatus_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSSLStatus = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_secure_connection : function( self: PCefSSLStatus) : integer ; stdcall ;
get_cert_status : function( self: PCefSSLStatus) : TCefCertStatus; stdcall ;
get_sslversion : function( self: PCefSSLStatus) : TCefSSLVersion; stdcall ;
get_content_status : function( self: PCefSSLStatus) : TCefSSLContentStatus; stdcall ;
get_x509certificate : function( self: PCefSSLStatus) : PCefX509Certificate; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used to select a client certificate for authentication.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSelectClientCertificateCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_handler_capi.h">CEF source file: /include/capi/cef_request_handler_capi.h (cef_select_client_certificate_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSelectClientCertificateCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
select : procedure( self: PCefSelectClientCertificateCallback; cert: PCefX509Certificate) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used for continuation of custom context menu display.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRunContextMenuCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_context_menu_handler_capi.h">CEF source file: /include/capi/cef_context_menu_handler_capi.h (cef_run_context_menu_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRunContextMenuCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cont : procedure( self: PCefRunContextMenuCallback; command_id: Integer ; event_flags: TCefEventFlags) ; stdcall ;
cancel : procedure( self: PCefRunContextMenuCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for asynchronous continuation of file dialog requests.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefFileDialogCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_dialog_handler_capi.h">CEF source file: /include/capi/cef_dialog_handler_capi.h (cef_file_dialog_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefFileDialogCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2022-05-26 13:08:20 +02:00
cont : procedure( self: PCefFileDialogCallback; file_paths: TCefStringList) ; stdcall ;
2018-03-29 20:02:04 +02:00
cancel : procedure( self: PCefFileDialogCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle dialog events. The functions of this
/// structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDialogHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_dialog_handler_capi.h">CEF source file: /include/capi/cef_dialog_handler_capi.h (cef_dialog_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDialogHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2022-05-26 13:08:20 +02:00
on_file_dialog : function( self: PCefDialogHandler; browser: PCefBrowser; mode: TCefFileDialogMode; const title, default_file_path: PCefString; accept_filters: TCefStringList; callback: PCefFileDialogCallback) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to browser display state.
/// The functions of this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDisplayHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_display_handler_capi.h">CEF source file: /include/capi/cef_display_handler_capi.h (cef_display_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDisplayHandler = record
2018-04-20 12:45:06 +02:00
base : TCefBaseRefCounted;
on_address_change : procedure( self: PCefDisplayHandler; browser: PCefBrowser; frame: PCefFrame; const url: PCefString) ; stdcall ;
on_title_change : procedure( self: PCefDisplayHandler; browser: PCefBrowser; const title: PCefString) ; stdcall ;
on_favicon_urlchange : procedure( self: PCefDisplayHandler; browser: PCefBrowser; icon_urls: TCefStringList) ; stdcall ;
on_fullscreen_mode_change : procedure( self: PCefDisplayHandler; browser: PCefBrowser; fullscreen: Integer ) ; stdcall ;
on_tooltip : function( self: PCefDisplayHandler; browser: PCefBrowser; text : PCefString) : Integer ; stdcall ;
on_status_message : procedure( self: PCefDisplayHandler; browser: PCefBrowser; const value: PCefString) ; stdcall ;
on_console_message : function( self: PCefDisplayHandler; browser: PCefBrowser; level: TCefLogSeverity; const message_, source: PCefString; line: Integer ) : Integer ; stdcall ;
on_auto_resize : function( self: PCefDisplayHandler; browser: PCefBrowser; const new_size: PCefSize) : Integer ; stdcall ;
on_loading_progress_change : procedure( self: PCefDisplayHandler; browser: PCefBrowser; progress: double ) ; stdcall ;
2020-11-19 19:55:17 +02:00
on_cursor_change : function( self: PCefDisplayHandler; browser: PCefBrowser; cursor: TCefCursorHandle; type_: TCefCursorType; const custom_cursor_info: PCefCursorInfo) : Integer ; stdcall ;
2022-08-06 12:00:28 +02:00
on_media_access_change : procedure( self: PCefDisplayHandler; browser: PCefBrowser; has_video_access, has_audio_access: integer ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to handle file downloads. The functions of this structure
/// will called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDownloadHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_download_handler_capi.h">CEF source file: /include/capi/cef_download_handler_capi.h (cef_download_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDownloadHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2022-05-03 12:43:16 +02:00
can_download : function( self: PCefDownloadHandler; browser: PCefBrowser; const url, request_method: PCefString) : integer ; stdcall ;
2018-03-29 20:02:04 +02:00
on_before_download : procedure( self: PCefDownloadHandler; browser: PCefBrowser; download_item: PCefDownloadItem; const suggested_name: PCefString; callback: PCefBeforeDownloadCallback) ; stdcall ;
on_download_updated : procedure( self: PCefDownloadHandler; browser: PCefBrowser; download_item: PCefDownloadItem; callback: PCefDownloadItemCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to dragging. The functions
/// of this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDragHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_drag_handler_capi.h">CEF source file: /include/capi/cef_drag_handler_capi.h (cef_drag_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDragHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_drag_enter : function( self: PCefDragHandler; browser: PCefBrowser; dragData: PCefDragData; mask: TCefDragOperations) : Integer ; stdcall ;
2019-11-20 11:45:46 +02:00
on_draggable_regions_changed : procedure( self: PCefDragHandler; browser: PCefBrowser; frame: PCefFrame; regionsCount: NativeUInt ; const regions: PCefDraggableRegionArray) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to find results. The
/// functions of this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefFindHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_find_handler_capi.h">CEF source file: /include/capi/cef_find_handler_capi.h (cef_find_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefFindHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_find_result : procedure( self: PCefFindHandler; browser: PCefBrowser; identifier, count: Integer ; const selection_rect: PCefRect; active_match_ordinal, final_update: Integer ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to focus. The functions of
/// this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefFocusHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_focus_handler_capi.h">CEF source file: /include/capi/cef_focus_handler_capi.h (cef_focus_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefFocusHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_take_focus : procedure( self: PCefFocusHandler; browser: PCefBrowser; next: Integer ) ; stdcall ;
on_set_focus : function( self: PCefFocusHandler; browser: PCefBrowser; source: TCefFocusSource) : Integer ; stdcall ;
on_got_focus : procedure( self: PCefFocusHandler; browser: PCefBrowser) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to JavaScript dialogs. The
/// functions of this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefJsDialogHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_jsdialog_handler_capi.h">CEF source file: /include/capi/cef_jsdialog_handler_capi.h (cef_jsdialog_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefJsDialogHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_jsdialog : function( self: PCefJsDialogHandler; browser: PCefBrowser; const origin_url: PCefString; dialog_type: TCefJsDialogType; const message_text, default_prompt_text: PCefString; callback: PCefJsDialogCallback; suppress_message: PInteger ) : Integer ; stdcall ;
on_before_unload_dialog : function( self: PCefJsDialogHandler; browser: PCefBrowser; const message_text: PCefString; is_reload: Integer ; callback: PCefJsDialogCallback) : Integer ; stdcall ;
on_reset_dialog_state : procedure( self: PCefJsDialogHandler; browser: PCefBrowser) ; stdcall ;
on_dialog_closed : procedure( self: PCefJsDialogHandler; browser: PCefBrowser) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used for asynchronous continuation of JavaScript dialog
/// requests.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefJsDialogCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_jsdialog_handler_capi.h">CEF source file: /include/capi/cef_jsdialog_handler_capi.h (cef_jsdialog_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefJsDialogCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cont : procedure( self: PCefJsDialogCallback; success: Integer ; const user_input: PCefString) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to keyboard input. The
/// functions of this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefKeyboardHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_keyboard_handler_capi.h">CEF source file: /include/capi/cef_keyboard_handler_capi.h (cef_keyboard_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefKeyboardHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_pre_key_event : function( self: PCefKeyboardHandler; browser: PCefBrowser; const event: PCefKeyEvent; os_event: TCefEventHandle; is_keyboard_shortcut: PInteger ) : Integer ; stdcall ;
on_key_event : function( self: PCefKeyboardHandler; browser: PCefBrowser; const event: PCefKeyEvent; os_event: TCefEventHandle) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to browser life span. The
/// functions of this structure will be called on the UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefLifeSpanHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_life_span_handler_capi.h">CEF source file: /include/capi/cef_life_span_handler_capi.h (cef_life_span_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefLifeSpanHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2019-06-16 10:31:13 +02:00
on_before_popup : function( self: PCefLifeSpanHandler; browser: PCefBrowser; frame: PCefFrame; const target_url, target_frame_name: PCefString; target_disposition: TCefWindowOpenDisposition; user_gesture: Integer ; const popupFeatures: PCefPopupFeatures; windowInfo: PCefWindowInfo; var client: PCefClient; settings: PCefBrowserSettings; var extra_info: PCefDictionaryValue; no_javascript_access: PInteger ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
on_after_created : procedure( self: PCefLifeSpanHandler; browser: PCefBrowser) ; stdcall ;
do_close : function( self: PCefLifeSpanHandler; browser: PCefBrowser) : Integer ; stdcall ;
on_before_close : procedure( self: PCefLifeSpanHandler; browser: PCefBrowser) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Generic callback structure used for managing the lifespan of a registration.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRegistration.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_registration_capi.h">CEF source file: /include/capi/cef_registration_capi.h (cef_registration_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefRegistration = record
base : TCefBaseRefCounted;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefBrowserHost.AddDevToolsMessageObserver. The
/// functions of this structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDevToolsMessageObserver.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_devtools_message_observer_capi.h">CEF source file: /include/capi/cef_devtools_message_observer_capi.h (cef_dev_tools_message_observer_t)</see></para>
/// </remarks>
2020-06-21 21:27:55 +02:00
TCefDevToolsMessageObserver = record
base : TCefBaseRefCounted;
on_dev_tools_message : function( self: PCefDevToolsMessageObserver; browser: PCefBrowser; const message_: Pointer ; message_size: NativeUInt ) : Integer ; stdcall ;
on_dev_tools_method_result : procedure( self: PCefDevToolsMessageObserver; browser: PCefBrowser; message_id, success: Integer ; const result : Pointer ; result_size: NativeUInt ) ; stdcall ;
2020-07-14 15:50:23 +02:00
on_dev_tools_event : procedure( self: PCefDevToolsMessageObserver; browser: PCefBrowser; const method: PCefString; const params: Pointer ; params_size: NativeUInt ) ; stdcall ;
2020-06-21 21:27:55 +02:00
on_dev_tools_agent_attached : procedure( self: PCefDevToolsMessageObserver; browser: PCefBrowser) ; stdcall ;
on_dev_tools_agent_detached : procedure( self: PCefDevToolsMessageObserver; browser: PCefBrowser) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supports discovery of and communication with media devices on the local
/// network via the Cast and DIAL protocols. The functions of this structure may
/// be called on any browser process thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaRouter.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_router_capi.h">CEF source file: /include/capi/cef_media_router_capi.h (cef_media_router_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefMediaRouter = record
base : TCefBaseRefCounted;
add_observer : function( self: PCefMediaRouter; observer: PCefMediaObserver) : PCefRegistration; stdcall ;
get_source : function( self: PCefMediaRouter; const urn: PCefString) : PCefMediaSource; stdcall ;
notify_current_sinks : procedure( self: PCefMediaRouter) ; stdcall ;
create_route : procedure( self: PCefMediaRouter; source: PCefMediaSource; sink: PCefMediaSink; callback: PCefMediaRouteCreateCallback) ; stdcall ;
notify_current_routes : procedure( self: PCefMediaRouter) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implemented by the client to observe MediaRouter events and registered via
/// ICefMediaRouter.AddObserver. The functions of this structure will be
/// called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaObserver.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_router_capi.h">CEF source file: /include/capi/cef_media_router_capi.h (cef_media_observer_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefMediaObserver = record
base : TCefBaseRefCounted;
on_sinks : procedure( self: PCefMediaObserver; sinksCount: NativeUInt ; const sinks: PPCefMediaSink) ; stdcall ;
on_routes : procedure( self: PCefMediaObserver; routesCount: NativeUInt ; const routes: PPCefMediaRoute) ; stdcall ;
on_route_state_changed : procedure( self: PCefMediaObserver; route: PCefMediaRoute; state: TCefMediaRouteConnectionState) ; stdcall ;
on_route_message_received : procedure( self: PCefMediaObserver; route: PCefMediaRoute; const message_: Pointer ; message_size: NativeUInt ) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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 structure may be called on any
/// browser process thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaRoute.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_router_capi.h">CEF source file: /include/capi/cef_media_router_capi.h (cef_media_route_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefMediaRoute = record
base : TCefBaseRefCounted;
get_id : function( self: PCefMediaRoute) : PCefStringUserFree; stdcall ;
get_source : function( self: PCefMediaRoute) : PCefMediaSource; stdcall ;
get_sink : function( self: PCefMediaRoute) : PCefMediaSink; stdcall ;
send_route_message : procedure( self: PCefMediaRoute; const message_: Pointer ; message_size: NativeUInt ) ; stdcall ;
terminate : procedure( self: PCefMediaRoute) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefMediaRouter.CreateRoute. The functions of
/// this structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaRouteCreateCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_router_capi.h">CEF source file: /include/capi/cef_media_router_capi.h (cef_media_route_create_callback_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefMediaRouteCreateCallback = record
base : TCefBaseRefCounted;
on_media_route_create_finished : procedure( self: PCefMediaRouteCreateCallback; result : TCefMediaRouterCreateResult; const error: PCefString; route: PCefMediaRoute) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Represents a sink to which media can be routed. Instances of this object are
/// retrieved via ICefMediaObserver.OnSinks. The functions of this structure
/// may be called on any browser process thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaSink.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_router_capi.h">CEF source file: /include/capi/cef_media_router_capi.h (cef_media_sink_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefMediaSink = record
base : TCefBaseRefCounted;
get_id : function( self: PCefMediaSink) : PCefStringUserFree; stdcall ;
get_name : function( self: PCefMediaSink) : PCefStringUserFree; stdcall ;
2020-04-30 17:28:41 +02:00
get_icon_type : function( self: PCefMediaSink) : TCefMediaSinkIconType; stdcall ;
2020-07-15 14:56:41 +02:00
get_device_info : procedure( self: PCefMediaSink; callback: PCefMediaSinkDeviceInfoCallback) ; stdcall ;
2020-03-29 17:31:42 +02:00
is_cast_sink : function( self: PCefMediaSink) : Integer ; stdcall ;
is_dial_sink : function( self: PCefMediaSink) : Integer ; stdcall ;
is_compatible_with : function( self: PCefMediaSink; source: PCefMediaSource) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefMediaSink.GetDeviceInfo. The functions of
/// this structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaSinkDeviceInfoCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_router_capi.h">CEF source file: /include/capi/cef_media_router_capi.h (cef_media_sink_device_info_callback_t)</see></para>
/// </remarks>
2020-07-15 14:56:41 +02:00
TCefMediaSinkDeviceInfoCallback = record
base : TCefBaseRefCounted;
on_media_sink_device_info : procedure( self: PCefMediaSinkDeviceInfoCallback; device_info: PCefMediaSinkDeviceInfo) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Represents a source from which media can be routed. Instances of this object
/// are retrieved via ICefMediaRouter.GetSource. The functions of this
/// structure may be called on any browser process thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaSource.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_router_capi.h">CEF source file: /include/capi/cef_media_router_capi.h (cef_media_source_t)</see></para>
/// </remarks>
2020-03-29 17:31:42 +02:00
TCefMediaSource = record
base : TCefBaseRefCounted;
get_id : function( self: PCefMediaSource) : PCefStringUserFree; stdcall ;
is_cast_source : function( self: PCefMediaSource) : Integer ; stdcall ;
is_dial_source : function( self: PCefMediaSource) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used for asynchronous continuation of
/// ICefExtensionHandler.GetExtensionResource.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefGetExtensionResourceCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_extension_handler_capi.h">CEF source file: /include/capi/cef_extension_handler_capi.h (cef_get_extension_resource_callback_t)</see></para>
/// </remarks>
2017-09-19 19:18:52 +02:00
TCefGetExtensionResourceCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2018-04-07 20:24:55 +02:00
cont : procedure( self: PCefGetExtensionResourceCallback; stream: PCefStreamReader) ; stdcall ;
cancel : procedure( self: PCefGetExtensionResourceCallback) ; stdcall ;
2017-09-19 19:18:52 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to browser extensions. The
/// functions of this structure will be called on the UI thread. See
/// ICefRequestContext.LoadExtension for information about extension
/// loading.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefExtensionHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_extension_handler_capi.h">CEF source file: /include/capi/cef_extension_handler_capi.h (cef_extension_handler_t)</see></para>
/// </remarks>
2017-09-19 19:18:52 +02:00
TCefExtensionHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2018-04-07 20:24:55 +02:00
on_extension_load_failed : procedure( self: PCefExtensionHandler; result : TCefErrorcode) ; stdcall ;
2018-03-29 20:02:04 +02:00
on_extension_loaded : procedure( self: PCefExtensionHandler; extension: PCefExtension) ; stdcall ;
on_extension_unloaded : procedure( self: PCefExtensionHandler; extension: PCefExtension) ; stdcall ;
on_before_background_browser : function( self: PCefExtensionHandler; extension: PCefExtension; const url: PCefString; var client: PCefClient; settings: PCefBrowserSettings) : Integer ; stdcall ;
on_before_browser : function( self: PCefExtensionHandler; extension: PCefExtension; browser, active_browser: PCefBrowser; index : Integer ; const url: PCefString; active: Integer ; windowInfo: PCefWindowInfo; var client: PCefClient; settings: PCefBrowserSettings) : Integer ; stdcall ;
get_active_browser : function( self: PCefExtensionHandler; extension: PCefExtension; browser: PCefBrowser; include_incognito: Integer ) : PCefBrowser; stdcall ;
can_access_browser : function( self: PCefExtensionHandler; extension: PCefExtension; browser: PCefBrowser; include_incognito: Integer ; target_browser: PCefBrowser) : Integer ; stdcall ;
get_extension_resource : function( self: PCefExtensionHandler; extension: PCefExtension; browser: PCefBrowser; const file_: PCefString; callback: PCefGetExtensionResourceCallback) : Integer ; stdcall ;
2017-09-19 19:18:52 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle audio events.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefAudioHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_audio_handler_capi.h">CEF source file: /include/capi/cef_audio_handler_capi.h (cef_audio_handler_t)</see></para>
/// </remarks>
2020-05-23 15:00:44 +02:00
TCefAudioHandler = record
base : TCefBaseRefCounted;
get_audio_parameters : function( self: PCefAudioHandler; browser: PCefBrowser; params: PCefAudioParameters) : Integer ; stdcall ;
on_audio_stream_started : procedure( self: PCefAudioHandler; browser: PCefBrowser; const params: PCefAudioParameters; channels: integer ) ; stdcall ;
on_audio_stream_packet : procedure( self: PCefAudioHandler; browser: PCefBrowser; const data : PPSingle; frames: integer ; pts: int64 ) ; stdcall ;
on_audio_stream_stopped : procedure( self: PCefAudioHandler; browser: PCefBrowser) ; stdcall ;
on_audio_stream_error : procedure( self: PCefAudioHandler; browser: PCefBrowser; const message_: PCefString) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Object representing an extension. Methods may be called on any thread unless
/// otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefExtension.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_extension_capi.h">CEF source file: /include/capi/cef_extension_capi.h (cef_extension_t)</see></para>
/// </remarks>
2017-09-19 19:18:52 +02:00
TCefExtension = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2018-04-07 20:24:55 +02:00
get_identifier : function( self: PCefExtension) : PCefStringUserFree; stdcall ;
get_path : function( self: PCefExtension) : PCefStringUserFree; stdcall ;
get_manifest : function( self: PCefExtension) : PCefDictionaryValue; stdcall ;
is_same : function( self, that: PCefExtension) : Integer ; stdcall ;
get_handler : function( self: PCefExtension) : PCefExtensionHandler; stdcall ;
get_loader_context : function( self: PCefExtension) : PCefRequestContext; stdcall ;
is_loaded : function( self: PCefExtension) : Integer ; stdcall ;
unload : procedure( self: PCefExtension) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to browser load status.
/// The functions of this structure will be called on the browser process UI
/// thread or render process main thread (TID_RENDERER).
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefLoadHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_load_handler_capi.h">CEF source file: /include/capi/cef_load_handler_capi.h (cef_load_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefLoadHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_loading_state_change : procedure( self: PCefLoadHandler; browser: PCefBrowser; isLoading, canGoBack, canGoForward: Integer ) ; stdcall ;
on_load_start : procedure( self: PCefLoadHandler; browser: PCefBrowser; frame: PCefFrame; transition_type: TCefTransitionType) ; stdcall ;
on_load_end : procedure( self: PCefLoadHandler; browser: PCefBrowser; frame: PCefFrame; httpStatusCode: Integer ) ; stdcall ;
on_load_error : procedure( self: PCefLoadHandler; browser: PCefBrowser; frame: PCefFrame; errorCode: TCefErrorCode; const errorText, failedUrl: PCefString) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events when window rendering is disabled.
/// The functions of this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRenderHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_render_handler_capi.h">CEF source file: /include/capi/cef_render_handler_capi.h (cef_render_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRenderHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_accessibility_handler : function( self: PCefRenderHandler) : PCefAccessibilityHandler; stdcall ;
get_root_screen_rect : function( self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect) : Integer ; stdcall ;
2018-12-12 18:13:23 +02:00
get_view_rect : procedure( self: PCefRenderHandler; browser: PCefBrowser; rect: PCefRect) ; stdcall ;
2018-03-29 20:02:04 +02:00
get_screen_point : function( self: PCefRenderHandler; browser: PCefBrowser; viewX, viewY: Integer ; screenX, screenY: PInteger ) : Integer ; stdcall ;
get_screen_info : function( self: PCefRenderHandler; browser: PCefBrowser; screen_info: PCefScreenInfo) : Integer ; stdcall ;
on_popup_show : procedure( self: PCefRenderHandler; browser: PCefBrowser; show: Integer ) ; stdcall ;
on_popup_size : procedure( self: PCefRenderHandler; browser: PCefBrowser; const rect: PCefRect) ; stdcall ;
2019-11-20 11:45:46 +02:00
on_paint : procedure( self: PCefRenderHandler; browser: PCefBrowser; type_: TCefPaintElementType; dirtyRectsCount: NativeUInt ; const dirtyRects: PCefRectArray; const buffer: Pointer ; width, height: Integer ) ; stdcall ;
on_accelerated_paint : procedure( self: PCefRenderHandler; browser: PCefBrowser; type_: TCefPaintElementType; dirtyRectsCount: NativeUInt ; const dirtyRects: PCefRectArray; shared_handle: Pointer ) ; stdcall ;
2022-08-06 12:00:28 +02:00
get_touch_handle_size : procedure( self: PCefRenderHandler; browser: PCefBrowser; orientation: TCefHorizontalAlignment; size: PCefSize) ; stdcall ;
on_touch_handle_state_changed : procedure( self: PCefRenderHandler; browser: PCefBrowser; const state: PCefTouchHandleState) ; stdcall ;
2018-03-29 20:02:04 +02:00
start_dragging : function( self: PCefRenderHandler; browser: PCefBrowser; drag_data: PCefDragData; allowed_ops: TCefDragOperations; x, y: Integer ) : Integer ; stdcall ;
update_drag_cursor : procedure( self: PCefRenderHandler; browser: PCefBrowser; operation: TCefDragOperation) ; stdcall ;
on_scroll_offset_changed : procedure( self: PCefRenderHandler; browser: PCefBrowser; x, y: Double ) ; stdcall ;
on_ime_composition_range_changed : procedure( self: PCefRenderHandler; browser: PCefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt ; const character_bounds: PCefRect) ; stdcall ;
2018-04-20 12:45:06 +02:00
on_text_selection_changed : procedure( self: PCefRenderHandler; browser: PCefBrowser; const selected_text: PCefString; const selected_range: PCefRange) ; stdcall ;
2019-03-15 18:17:14 +02:00
on_virtual_keyboard_requested : procedure( self: PCefRenderHandler; browser: PCefBrowser; input_mode: TCefTextInpuMode) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that manages custom preference registrations.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPreferenceRegistrar.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_preference_capi.h">CEF source file: /include/capi/cef_preference_capi.h (cef_preference_registrar_t)</see></para>
/// </remarks>
2022-12-16 12:29:15 +02:00
TCefPreferenceRegistrar = record
base : TCefBaseScoped;
add_preference : function( self: PCefPreferenceRegistrar; const name : PCefString; default_value: PCefValue) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Manage access to preferences. Many built-in preferences are registered by
/// Chromium. Custom preferences can be registered in
/// ICefBrowserProcessHandler.OnRegisterCustomPreferences.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPreferenceManager.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_preference_capi.h">CEF source file: /include/capi/cef_preference_capi.h (cef_preference_manager_t)</see></para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_preference_manager_capi.h">CEF source file: /include/capi/cef_preference_manager_capi.h (cef_preference_manager_t)</see></para>
/// </remarks>
2022-12-16 12:29:15 +02:00
TCefPreferenceManager = record
base : TCefBaseRefCounted;
has_preference : function( self: PCefPreferenceManager; const name : PCefString) : Integer ; stdcall ;
get_preference : function( self: PCefPreferenceManager; const name : PCefString) : PCefValue; stdcall ;
get_all_preferences : function( self: PCefPreferenceManager; include_defaults: Integer ) : PCefDictionaryValue; stdcall ;
can_set_preference : function( self: PCefPreferenceManager; const name : PCefString) : Integer ; stdcall ;
set_preference : function( self: PCefPreferenceManager; const name : PCefString; value: PCefValue; error: PCefString) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefV8StackTrace.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8stack_trace_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefV8StackTrace = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefV8StackTrace) : Integer ; stdcall ;
get_frame_count : function( self: PCefV8StackTrace) : Integer ; stdcall ;
get_frame : function( self: PCefV8StackTrace; index : Integer ) : PCefV8StackFrame; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefV8StackFrame.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8stack_frame_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefV8StackFrame = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefV8StackFrame) : Integer ; stdcall ;
get_script_name : function( self: PCefV8StackFrame) : PCefStringUserFree; stdcall ;
get_script_name_or_source_url : function( self: PCefV8StackFrame) : PCefStringUserFree; stdcall ;
get_function_name : function( self: PCefV8StackFrame) : PCefStringUserFree; stdcall ;
get_line_number : function( self: PCefV8StackFrame) : Integer ; stdcall ;
get_column : function( self: PCefV8StackFrame) : Integer ; stdcall ;
is_eval : function( self: PCefV8StackFrame) : Integer ; stdcall ;
is_constructor : function( self: PCefV8StackFrame) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to read data from a stream. The functions of this structure
/// may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefStreamReader and ICefCustomStreamReader.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_stream_capi.h">CEF source file: /include/capi/cef_stream_capi.h (cef_stream_reader_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefStreamReader = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
read : function( self: PCefStreamReader; ptr: Pointer ; size, n: NativeUInt ) : NativeUInt ; stdcall ;
seek : function( self: PCefStreamReader; offset: Int64 ; whence: Integer ) : Integer ; stdcall ;
tell : function( self: PCefStreamReader) : Int64 ; stdcall ;
eof : function( self: PCefStreamReader) : Integer ; stdcall ;
may_block : function( self: PCefStreamReader) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure the client can implement to provide a custom stream reader. The
/// functions of this structure may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefReadHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_stream_capi.h">CEF source file: /include/capi/cef_stream_capi.h (cef_read_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefReadHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
read : function( self: PCefReadHandler; ptr: Pointer ; size, n: NativeUInt ) : NativeUInt ; stdcall ;
seek : function( self: PCefReadHandler; offset: Int64 ; whence: Integer ) : Integer ; stdcall ;
tell : function( self: PCefReadHandler) : Int64 ; stdcall ;
eof : function( self: PCefReadHandler) : Integer ; stdcall ;
may_block : function( self: PCefReadHandler) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure the client can implement to provide a custom stream writer. The
/// functions of this structure may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefWriteHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_stream_capi.h">CEF source file: /include/capi/cef_stream_capi.h (cef_write_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefWriteHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
write : function( self: PCefWriteHandler; const ptr: Pointer ; size, n: NativeUInt ) : NativeUInt ; stdcall ;
seek : function( self: PCefWriteHandler; offset: Int64 ; whence: Integer ) : Integer ; stdcall ;
tell : function( self: PCefWriteHandler) : Int64 ; stdcall ;
flush : function( self: PCefWriteHandler) : Integer ; stdcall ;
may_block : function( self: PCefWriteHandler) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that supports the reading of XML data via the libxml streaming
/// API. The functions of this structure should only be called on the thread
/// that creates the object.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefXmlReader.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_xml_reader_capi.h">CEF source file: /include/capi/cef_xml_reader_capi.h (cef_xml_reader_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefXmlReader = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
move_to_next_node : function( self: PCefXmlReader) : Integer ; stdcall ;
close : function( self: PCefXmlReader) : Integer ; stdcall ;
has_error : function( self: PCefXmlReader) : Integer ; stdcall ;
get_error : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_type : function( self: PCefXmlReader) : TCefXmlNodeType; stdcall ;
get_depth : function( self: PCefXmlReader) : Integer ; stdcall ;
get_local_name : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_prefix : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_qualified_name : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_namespace_uri : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_base_uri : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_xml_lang : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
is_empty_element : function( self: PCefXmlReader) : Integer ; stdcall ;
has_value : function( self: PCefXmlReader) : Integer ; stdcall ;
get_value : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
has_attributes : function( self: PCefXmlReader) : Integer ; stdcall ;
get_attribute_count : function( self: PCefXmlReader) : NativeUInt ; stdcall ;
get_attribute_byindex : function( self: PCefXmlReader; index : Integer ) : PCefStringUserFree; stdcall ;
get_attribute_byqname : function( self: PCefXmlReader; const qualifiedName: PCefString) : PCefStringUserFree; stdcall ;
get_attribute_bylname : function( self: PCefXmlReader; const localName, namespaceURI: PCefString) : PCefStringUserFree; stdcall ;
get_inner_xml : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_outer_xml : function( self: PCefXmlReader) : PCefStringUserFree; stdcall ;
get_line_number : function( self: PCefXmlReader) : Integer ; stdcall ;
move_to_attribute_byindex : function( self: PCefXmlReader; index : Integer ) : Integer ; stdcall ;
move_to_attribute_byqname : function( self: PCefXmlReader; const qualifiedName: PCefString) : Integer ; stdcall ;
move_to_attribute_bylname : function( self: PCefXmlReader; const localName, namespaceURI: PCefString) : Integer ; stdcall ;
move_to_first_attribute : function( self: PCefXmlReader) : Integer ; stdcall ;
move_to_next_attribute : function( self: PCefXmlReader) : Integer ; stdcall ;
move_to_carrying_element : function( self: PCefXmlReader) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that supports the reading of zip archives via the zlib unzip API.
/// The functions of this structure should only be called on the thread that
/// creates the object.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefZipReader.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_zip_reader_capi.h">CEF source file: /include/capi/cef_zip_reader_capi.h (cef_zip_reader_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefZipReader = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
move_to_first_file : function( self: PCefZipReader) : Integer ; stdcall ;
move_to_next_file : function( self: PCefZipReader) : Integer ; stdcall ;
move_to_file : function( self: PCefZipReader; const fileName: PCefString; caseSensitive: Integer ) : Integer ; stdcall ;
close : function( Self: PCefZipReader) : Integer ; stdcall ;
get_file_name : function( Self: PCefZipReader) : PCefStringUserFree; stdcall ;
get_file_size : function( Self: PCefZipReader) : Int64 ; stdcall ;
2022-09-04 19:18:07 +02:00
get_file_last_modified : function( Self: PCefZipReader) : TCefBaseTime; stdcall ;
2018-03-29 20:02:04 +02:00
open_file : function( Self: PCefZipReader; const password: PCefString) : Integer ; stdcall ;
close_file : function( Self: PCefZipReader) : Integer ; stdcall ;
read_file : function( Self: PCefZipReader; buffer: Pointer ; bufferSize: NativeUInt ) : Integer ; stdcall ;
tell : function( Self: PCefZipReader) : Int64 ; stdcall ;
eof : function( Self: PCefZipReader) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that should be implemented by the ICefUrlRequest client. The
/// functions of this structure will be called on the same thread that created
/// the request unless otherwise documented.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefUrlrequestClient.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_urlrequest_capi.h">CEF source file: /include/capi/cef_urlrequest_capi.h (cef_urlrequest_client_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefUrlrequestClient = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_request_complete : procedure( self: PCefUrlRequestClient; request: PCefUrlRequest) ; stdcall ;
on_upload_progress : procedure( self: PCefUrlRequestClient; request: PCefUrlRequest; current, total: Int64 ) ; stdcall ;
on_download_progress : procedure( self: PCefUrlRequestClient; request: PCefUrlRequest; current, total: Int64 ) ; stdcall ;
on_download_data : procedure( self: PCefUrlRequestClient; request: PCefUrlRequest; const data: Pointer ; data_length: NativeUInt ) ; stdcall ;
get_auth_credentials : function( self: PCefUrlRequestClient; isProxy: Integer ; const host: PCefString; port: Integer ; const realm, scheme: PCefString; callback: PCefAuthCallback) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefUrlRequest.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_urlrequest_capi.h">CEF source file: /include/capi/cef_urlrequest_capi.h (cef_urlrequest_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefUrlRequest = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_request : function( self: PCefUrlRequest) : PCefRequest; stdcall ;
get_client : function( self: PCefUrlRequest) : PCefUrlRequestClient; stdcall ;
get_request_status : function( self: PCefUrlRequest) : TCefUrlRequestStatus; stdcall ;
get_request_error : function( self: PCefUrlRequest) : TCefErrorcode; stdcall ;
get_response : function( self: PCefUrlRequest) : PCefResponse; stdcall ;
response_was_cached : function( self: PCefUrlRequest) : integer ; stdcall ;
cancel : procedure( self: PCefUrlRequest) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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 structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefThread.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_thread_capi.h">CEF source file: /include/capi/cef_thread_capi.h (cef_thread_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefThread = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_task_runner : function( self: PCefThread) : PCefTaskRunner; stdcall ;
get_platform_thread_id : function( self: PCefThread) : TCefPlatformThreadId; stdcall ;
stop : procedure( self: PCefThread) ; stdcall ;
is_running : function( self: PCefThread) : integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefWaitableEvent.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_waitable_event_capi.h">CEF source file: /include/capi/cef_waitable_event_capi.h (cef_waitable_event_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefWaitableEvent = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
reset : procedure( self: PCefWaitableEvent) ; stdcall ;
signal : procedure( self: PCefWaitableEvent) ; stdcall ;
is_signaled : function( self: PCefWaitableEvent) : integer ; stdcall ;
wait : procedure( self: PCefWaitableEvent) ; stdcall ;
timed_wait : function( self: PCefWaitableEvent; max_ms: int64 ) : integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that asynchronously executes tasks on the associated thread. It is
/// safe to call the functions of this structure 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).
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefTaskRunner.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_task_capi.h">CEF source file: /include/capi/cef_task_capi.h (cef_task_runner_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefTaskRunner = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_same : function( self, that: PCefTaskRunner) : Integer ; stdcall ;
belongs_to_current_thread : function( self: PCefTaskRunner) : Integer ; stdcall ;
belongs_to_thread : function( self: PCefTaskRunner; threadId: TCefThreadId) : Integer ; stdcall ;
post_task : function( self: PCefTaskRunner; task: PCefTask) : Integer ; stdcall ;
post_delayed_task : function( self: PCefTaskRunner; task: PCefTask; delay_ms: Int64 ) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to receive notification when tracing has completed.
/// The functions of this structure will be called on the browser process UI
/// thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefEndTracingCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_trace_capi.h">CEF source file: /include/capi/cef_trace_capi.h (cef_end_tracing_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefEndTracingCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_end_tracing_complete : procedure( self: PCefEndTracingCallback; const tracing_file: PCefString) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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
/// structure may be called on any thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResourceBundle.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_resource_bundle_capi.h">CEF source file: /include/capi/cef_resource_bundle_capi.h (cef_resource_bundle_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResourceBundle = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_localized_string : function( self: PCefResourceBundle; string_id: Integer ) : PCefStringUserFree; stdcall ;
2020-07-22 18:01:03 +02:00
get_data_resource : function( self: PCefResourceBundle; resource_id: Integer ) : PCefBinaryValue; stdcall ;
get_data_resource_for_scale : function( self: PCefResourceBundle; resource_id: Integer ; scale_factor: TCefScaleFactor) : PCefBinaryValue; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle menu model events. The functions of this
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMenuModelDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_menu_model_delegate_capi.h">CEF source file: /include/capi/cef_menu_model_delegate_capi.h (cef_menu_model_delegate_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefMenuModelDelegate = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
execute_command : procedure( self: PCefMenuModelDelegate; menu_model: PCefMenuModel; command_id: Integer ; event_flags: TCefEventFlags) ; stdcall ;
mouse_outside_menu : procedure( self: PCefMenuModelDelegate; menu_model: PCefMenuModel; const screen_point: PCefPoint) ; stdcall ;
unhandled_open_submenu : procedure( self: PCefMenuModelDelegate; menu_model: PCefMenuModel; is_rtl: integer ) ; stdcall ;
unhandled_close_submenu : procedure( self: PCefMenuModelDelegate; menu_model: PCefMenuModel; is_rtl: integer ) ; stdcall ;
menu_will_show : procedure( self: PCefMenuModelDelegate; menu_model: PCefMenuModel) ; stdcall ;
menu_closed : procedure( self: PCefMenuModelDelegate; menu_model: PCefMenuModel) ; stdcall ;
format_label : function( self: PCefMenuModelDelegate; menu_model: PCefMenuModel; label_ : PCefString) : integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a message. Can be used on any process and thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefProcessMessage.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_process_message_capi.h">CEF source file: /include/capi/cef_process_message_capi.h (cef_process_message_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefProcessMessage = record
2022-08-06 12:00:28 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefProcessMessage) : Integer ; stdcall ;
is_read_only : function( self: PCefProcessMessage) : Integer ; stdcall ;
copy : function( self: PCefProcessMessage) : PCefProcessMessage; stdcall ;
get_name : function( self: PCefProcessMessage) : PCefStringUserFree; stdcall ;
get_argument_list : function( self: PCefProcessMessage) : PCefListValue; stdcall ;
get_shared_memory_region : function( self: PCefProcessMessage) : PCefSharedMemoryRegion; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to implement render process callbacks. The functions of this
/// structure will be called on the render process main thread (TID_RENDERER)
/// unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRenderProcessHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_render_process_handler_capi.h">CEF source file: /include/capi/cef_render_process_handler_capi.h (cef_render_process_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRenderProcessHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_web_kit_initialized : procedure( self: PCefRenderProcessHandler) ; stdcall ;
2019-06-16 10:31:13 +02:00
on_browser_created : procedure( self: PCefRenderProcessHandler; browser: PCefBrowser; extra_info: PCefDictionaryValue) ; stdcall ;
2018-03-29 20:02:04 +02:00
on_browser_destroyed : procedure( self: PCefRenderProcessHandler; browser: PCefBrowser) ; stdcall ;
get_load_handler : function( self: PCefRenderProcessHandler) : PCefLoadHandler; stdcall ;
on_context_created : procedure( self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context) ; stdcall ;
on_context_released : procedure( self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context) ; stdcall ;
on_uncaught_exception : procedure( self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; context: PCefv8Context; exception: PCefV8Exception; stackTrace: PCefV8StackTrace) ; stdcall ;
on_focused_node_changed : procedure( self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; node: PCefDomNode) ; stdcall ;
2019-06-16 10:31:13 +02:00
on_process_message_received : function( self: PCefRenderProcessHandler; browser: PCefBrowser; frame: PCefFrame; source_process: TCefProcessId; message_: PCefProcessMessage) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to browser requests. The
/// functions of this structure will be called on the thread indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRequestHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_handler_capi.h">CEF source file: /include/capi/cef_request_handler_capi.h (cef_request_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRequestHandler = record
2020-06-21 21:27:55 +02:00
base : TCefBaseRefCounted;
on_before_browse : function( self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; user_gesture, isRedirect: Integer ) : Integer ; stdcall ;
on_open_urlfrom_tab : function( self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; const target_url: PCefString; target_disposition: TCefWindowOpenDisposition; user_gesture: Integer ) : Integer ; stdcall ;
get_resource_request_handler : function( self: PCefRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; is_navigation, is_download: Integer ; const request_initiator: PCefString; disable_default_handling: PInteger ) : PCefResourceRequestHandler; stdcall ;
get_auth_credentials : function( self: PCefRequestHandler; browser: PCefBrowser; const origin_url: PCefString; isProxy: Integer ; const host: PCefString; port: Integer ; const realm, scheme: PCefString; callback: PCefAuthCallback) : Integer ; stdcall ;
2021-10-22 19:19:57 +02:00
on_certificate_error : function( self: PCefRequestHandler; browser: PCefBrowser; cert_error: TCefErrorcode; const request_url: PCefString; ssl_info: PCefSslInfo; callback: PCefCallback) : Integer ; stdcall ;
2020-06-21 21:27:55 +02:00
on_select_client_certificate : function( self: PCefRequestHandler; browser: PCefBrowser; isProxy: integer ; const host: PCefString; port: integer ; certificatesCount: NativeUInt ; const certificates: PPCefX509Certificate; callback: PCefSelectClientCertificateCallback) : integer ; stdcall ;
on_render_view_ready : procedure( self: PCefRequestHandler; browser: PCefBrowser) ; stdcall ;
on_render_process_terminated : procedure( self: PCefRequestHandler; browser: PCefBrowser; status: TCefTerminationStatus) ; stdcall ;
on_document_available_in_main_frame : procedure( self: PCefRequestHandler; browser: PCefBrowser) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used for asynchronous continuation of media access
/// permission requests.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaAccessCallback.</para>
2023-07-30 18:47:35 +02:00
/// This record is declared twice with almost identical parameters. "allowed_permissions" is defined as int and uint32.
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_access_handler_capi.h">CEF source file: /include/capi/cef_media_access_handler_capi.h (cef_media_access_callback_t)</see></para>
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_permission_handler_capi.h">CEF source file: /include/capi/cef_permission_handler_capi.h (cef_media_access_callback_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefMediaAccessCallback = record
base : TCefBaseRefCounted;
cont : procedure( self: PCefMediaAccessCallback; allowed_permissions: integer ) ; stdcall ;
cancel : procedure( self: PCefMediaAccessCallback) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to media access permission
/// requests. The functions of this structure will be called on the browser
/// process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMediaAccessHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_media_access_handler_capi.h">CEF source file: /include/capi/cef_media_access_handler_capi.h (cef_media_access_handler_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefMediaAccessHandler = record
base : TCefBaseRefCounted;
on_request_media_access_permission : function( self: PCefMediaAccessHandler; browser: PCefBrowser; frame: PCefFrame; const requesting_url: PCefString; requested_permissions: integer ; callback: PCefMediaAccessCallback) : integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used for asynchronous continuation of permission prompts.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPermissionPromptCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_permission_handler_capi.h">CEF source file: /include/capi/cef_permission_handler_capi.h (cef_permission_prompt_callback_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefPermissionPromptCallback = record
base : TCefBaseRefCounted;
cont : procedure( self: PCefPermissionPromptCallback; result : TCefPermissionRequestResult) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to permission requests.
/// The functions of this structure will be called on the browser process UI
/// thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPermissionHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_permission_handler_capi.h">CEF source file: /include/capi/cef_permission_handler_capi.h (cef_permission_handler_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefPermissionHandler = record
base : TCefBaseRefCounted;
on_request_media_access_permission : function( self: PCefPermissionHandler; browser: PCefBrowser; frame: PCefFrame; const requesting_origin: PCefString; requested_permissions: cardinal ; callback: PCefMediaAccessCallback) : integer ; stdcall ;
on_show_permission_prompt : function( self: PCefPermissionHandler; browser: PCefBrowser; prompt_id: uint64 ; const requesting_origin: PCefString; requested_permissions: cardinal ; callback: PCefPermissionPromptCallback) : integer ; stdcall ;
on_dismiss_permission_prompt : procedure( self: PCefPermissionHandler; browser: PCefBrowser; prompt_id: uint64 ; result : TCefPermissionRequestResult) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that wraps platform-dependent share memory region mapping.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSharedMemoryRegion.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_shared_memory_region_capi.h">CEF source file: /include/capi/cef_shared_memory_region_capi.h (cef_shared_memory_region_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefSharedMemoryRegion = record
base : TCefBaseRefCounted;
is_valid : function( self: PCefSharedMemoryRegion) : integer ; stdcall ;
size : function( self: PCefSharedMemoryRegion) : NativeUInt ; stdcall ;
memory : function( self: PCefSharedMemoryRegion) : pointer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that builds a ICefProcessMessage containing a shared memory
/// region. This structure is not thread-safe but may be used exclusively on a
/// different thread from the one which constructed it.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSharedProcessMessageBuilder.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_shared_process_message_builder_capi.h">CEF source file: /include/capi/cef_shared_process_message_builder_capi.h (cef_shared_process_message_builder_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefSharedProcessMessageBuilder = record
base : TCefBaseRefCounted;
is_valid : function( self: PCefSharedProcessMessageBuilder) : integer ; stdcall ;
size : function( self: PCefSharedProcessMessageBuilder) : NativeUInt ; stdcall ;
memory : function( self: PCefSharedProcessMessageBuilder) : pointer ; stdcall ;
build : function( self: PCefSharedProcessMessageBuilder) : PCefProcessMessage; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback for asynchronous continuation of ICefResourceHandler.skip().
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResourceSkipCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_resource_handler_capi.h">CEF source file: /include/capi/cef_resource_handler_capi.h (cef_resource_skip_callback_t)</see></para>
/// </remarks>
2019-06-16 10:31:13 +02:00
TCefResourceSkipCallback = record
base : TCefBaseRefCounted;
2019-11-20 11:45:46 +02:00
cont : procedure( self: PCefResourceSkipCallback; bytes_skipped: int64 ) ; stdcall ;
2019-06-16 10:31:13 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback for asynchronous continuation of ICefResourceHandler.read().
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResourceReadCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_resource_handler_capi.h">CEF source file: /include/capi/cef_resource_handler_capi.h (cef_resource_read_callback_t)</see></para>
/// </remarks>
2019-06-16 10:31:13 +02:00
TCefResourceReadCallback = record
base : TCefBaseRefCounted;
2019-11-20 11:45:46 +02:00
cont : procedure( self: PCefResourceReadCallback; bytes_read: int64 ) ; stdcall ;
2019-06-16 10:31:13 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to implement a custom request handler structure. The
/// functions of this structure will be called on the IO thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResourceHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_resource_handler_capi.h">CEF source file: /include/capi/cef_resource_handler_capi.h (cef_resource_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResourceHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2019-06-16 10:31:13 +02:00
open : function( self: PCefResourceHandler; request: PCefRequest; handle_request: PInteger ; callback: PCefCallback) : Integer ; stdcall ;
process_request : function( self: PCefResourceHandler; request: PCefRequest; callback: PCefCallback) : Integer ; stdcall ; // deprecated
2018-03-29 20:02:04 +02:00
get_response_headers : procedure( self: PCefResourceHandler; response: PCefResponse; response_length: PInt64 ; redirectUrl: PCefString) ; stdcall ;
2019-06-16 10:31:13 +02:00
skip : function( self: PCefResourceHandler; bytes_to_skip: int64 ; bytes_skipped: PInt64 ; callback: PCefResourceSkipCallback) : Integer ; stdcall ;
read : function( self: PCefResourceHandler; data_out: Pointer ; bytes_to_read: Integer ; bytes_read: PInteger ; callback: PCefResourceReadCallback) : Integer ; stdcall ;
read_response : function( self: PCefResourceHandler; data_out: Pointer ; bytes_to_read: Integer ; bytes_read: PInteger ; callback: PCefCallback) : Integer ; stdcall ; // deprecated
2018-03-29 20:02:04 +02:00
cancel : procedure( self: PCefResourceHandler) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to browser requests. The
/// functions of this structure will be called on the IO thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResourceRequestHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_resource_request_handler_capi.h">CEF source file: /include/capi/cef_resource_request_handler_capi.h (cef_resource_request_handler_t)</see></para>
/// </remarks>
2019-06-16 10:31:13 +02:00
TCefResourceRequestHandler = record
base : TCefBaseRefCounted;
get_cookie_access_filter : function( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest) : PCefCookieAccessFilter; stdcall ;
2021-10-22 19:19:57 +02:00
on_before_resource_load : function( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; callback: PCefCallback) : TCefReturnValue; stdcall ;
2019-06-16 10:31:13 +02:00
get_resource_handler : function( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest) : PCefResourceHandler; stdcall ;
on_resource_redirect : procedure( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; response: PCefResponse; new_url: PCefString) ; stdcall ;
on_resource_response : function( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; response: PCefResponse) : Integer ; stdcall ;
get_resource_response_filter : function( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; response: PCefResponse) : PCefResponseFilter; stdcall ;
on_resource_load_complete : procedure( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; response: PCefResponse; status: TCefUrlRequestStatus; received_content_length: Int64 ) ; stdcall ;
on_protocol_execution : procedure( self: PCefResourceRequestHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; allow_os_execution: PInteger ) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to filter cookies that may be sent or received from
/// resource requests. The functions of this structure will be called on the IO
/// thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefCookieAccessFilter.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_resource_request_handler_capi.h">CEF source file: /include/capi/cef_resource_request_handler_capi.h (cef_cookie_access_filter_t)</see></para>
/// </remarks>
2019-06-16 10:31:13 +02:00
TCefCookieAccessFilter = record
base : TCefBaseRefCounted;
can_send_cookie : function( self: PCefCookieAccessFilter; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; const cookie: PCefCookie) : Integer ; stdcall ;
can_save_cookie : function( self: PCefCookieAccessFilter; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; response: PCefResponse; const cookie: PCefCookie) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a web response. The functions of this structure
/// may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResponse.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_response_capi.h">CEF source file: /include/capi/cef_response_capi.h (cef_response_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResponse = record
2019-10-30 11:26:48 +02:00
base : TCefBaseRefCounted;
is_read_only : function( self: PCefResponse) : Integer ; stdcall ;
get_error : function( self: PCefResponse) : TCefErrorCode; stdcall ;
set_error : procedure( self: PCefResponse; error: TCefErrorCode) ; stdcall ;
get_status : function( self: PCefResponse) : Integer ; stdcall ;
set_status : procedure( self: PCefResponse; status: Integer ) ; stdcall ;
get_status_text : function( self: PCefResponse) : PCefStringUserFree; stdcall ;
set_status_text : procedure( self: PCefResponse; const statusText: PCefString) ; stdcall ;
get_mime_type : function( self: PCefResponse) : PCefStringUserFree; stdcall ;
set_mime_type : procedure( self: PCefResponse; const mimeType: PCefString) ; stdcall ;
get_charset : function( self: PCefResponse) : PCefStringUserFree; stdcall ;
set_charset : procedure( self: PCefResponse; const charset: PCefString) ; stdcall ;
get_header_by_name : function( self: PCefResponse; const name : PCefString) : PCefStringUserFree; stdcall ;
set_header_by_name : procedure( self: PCefResponse; const name : PCefString; const value: PCefString; overwrite: integer ) ; stdcall ;
get_header_map : procedure( self: PCefResponse; headerMap: TCefStringMultimap) ; stdcall ;
set_header_map : procedure( self: PCefResponse; headerMap: TCefStringMultimap) ; stdcall ;
get_url : function( self: PCefResponse) : PCefStringUserFree; stdcall ;
set_url : procedure( self: PCefResponse; const url: PCefString) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to filter resource response content. The functions
/// of this structure will be called on the browser process IO thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResponseFilter.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_response_filter_capi.h">CEF source file: /include/capi/cef_response_filter_capi.h (cef_response_filter_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResponseFilter = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
init_filter : function( self: PCefResponseFilter) : Integer ; stdcall ;
filter : function( self: PCefResponseFilter; data_in: Pointer ; data_in_size: NativeUInt ; var data_in_read: NativeUInt ; data_out: Pointer ; data_out_size : NativeUInt ; var data_out_written: NativeUInt ) : TCefResponseFilterStatus; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used for asynchronous continuation of authentication
/// requests.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefAuthCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_auth_callback_capi.h">CEF source file: /include/capi/cef_auth_callback_capi.h (cef_auth_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefAuthCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cont : procedure( self: PCefAuthCallback; const username, password: PCefString) ; stdcall ;
cancel : procedure( self: PCefAuthCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Generic callback structure used for asynchronous continuation.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_callback_capi.h">CEF source file: /include/capi/cef_callback_capi.h (cef_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cont : procedure( self: PCefCallback) ; stdcall ;
cancel : procedure( self: PCefCallback) ; stdcall ;
2017-08-19 12:53:47 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRequestContext.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_context_capi.h">CEF source file: /include/capi/cef_request_context_capi.h (cef_request_context_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRequestContext = record
2022-12-16 12:29:15 +02:00
base : TCefPreferenceManager;
2018-03-29 20:02:04 +02:00
is_same : function( self, other: PCefRequestContext) : Integer ; stdcall ;
is_sharing_with : function( self, other: PCefRequestContext) : Integer ; stdcall ;
is_global : function( self: PCefRequestContext) : Integer ; stdcall ;
get_handler : function( self: PCefRequestContext) : PCefRequestContextHandler; stdcall ;
get_cache_path : function( self: PCefRequestContext) : PCefStringUserFree; stdcall ;
2019-06-16 10:31:13 +02:00
get_cookie_manager : function( self: PCefRequestContext; callback: PCefCompletionCallback) : PCefCookieManager; stdcall ;
2018-03-29 20:02:04 +02:00
register_scheme_handler_factory : function( self: PCefRequestContext; const scheme_name, domain_name: PCefString; factory: PCefSchemeHandlerFactory) : Integer ; stdcall ;
clear_scheme_handler_factories : function( self: PCefRequestContext) : Integer ; stdcall ;
clear_certificate_exceptions : procedure( self: PCefRequestContext; callback: PCefCompletionCallback) ; stdcall ;
2019-07-18 11:48:11 +02:00
clear_http_auth_credentials : procedure( self: PCefRequestContext; callback: PCefCompletionCallback) ; stdcall ;
2018-03-29 20:02:04 +02:00
close_all_connections : procedure( self: PCefRequestContext; callback: PCefCompletionCallback) ; stdcall ;
resolve_host : procedure( self: PCefRequestContext; const origin: PCefString; callback: PCefResolveCallback) ; stdcall ;
load_extension : procedure( self: PCefRequestContext; const root_directory: PCefString; manifest: PCefDictionaryValue; handler: PCefExtensionHandler) ; stdcall ;
did_load_extension : function( self: PCefRequestContext; const extension_id: PCefString) : Integer ; stdcall ;
has_extension : function( self: PCefRequestContext; const extension_id: PCefString) : Integer ; stdcall ;
get_extensions : function( self: PCefRequestContext; extension_ids: TCefStringList) : Integer ; stdcall ;
get_extension : function( self: PCefRequestContext; const extension_id: PCefString) : PCefExtension; stdcall ;
2021-04-18 19:36:20 +02:00
get_media_router : function( self: PCefRequestContext; callback: PCefCompletionCallback) : PCefMediaRouter; stdcall ;
2023-07-30 18:47:35 +02:00
get_website_setting : function( self: PCefRequestContext; const requesting_url, top_level_url: PCefString; content_type: TCefContentSettingTypes) : PCefValue; stdcall ;
set_website_setting : procedure( self: PCefRequestContext; const requesting_url, top_level_url: PCefString; content_type: TCefContentSettingTypes; value: PCefValue) ; stdcall ;
get_content_setting : function( self: PCefRequestContext; const requesting_url, top_level_url: PCefString; content_type: TCefContentSettingTypes) : TCefContentSettingValues; stdcall ;
set_content_setting : procedure( self: PCefRequestContext; const requesting_url, top_level_url: PCefString; content_type: TCefContentSettingTypes; value: TCefContentSettingValues) ; stdcall ;
end ;
/// <summary>
/// Implement this structure to provide handler implementations. The handler
/// instance will not be released until all objects related to the context have
/// been destroyed.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRequestContextHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_context_handler_capi.h">CEF source file: /include/capi/cef_request_context_handler_capi.h (cef_request_context_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRequestContextHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_request_context_initialized : procedure( self: PCefRequestContextHandler; request_context: PCefRequestContext) ; stdcall ;
2019-06-16 10:31:13 +02:00
get_resource_request_handler : function( self: PCefRequestContextHandler; browser: PCefBrowser; frame: PCefFrame; request: PCefRequest; is_navigation, is_download: Integer ; const request_initiator: PCefString; disable_default_handling: PInteger ) : PCefResourceRequestHandler; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Generic callback structure used for asynchronous completion.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefCompletionCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_callback_capi.h">CEF source file: /include/capi/cef_callback_capi.h (cef_completion_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCompletionCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_complete : procedure( self: PCefCompletionCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used for managing cookies. The functions of this structure may be
/// called on any thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefCookieManager.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_cookie_capi.h">CEF source file: /include/capi/cef_cookie_capi.h (cef_cookie_manager_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCookieManager = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
visit_all_cookies : function( self: PCefCookieManager; visitor: PCefCookieVisitor) : Integer ; stdcall ;
visit_url_cookies : function( self: PCefCookieManager; const url: PCefString; includeHttpOnly: Integer ; visitor: PCefCookieVisitor) : Integer ; stdcall ;
set_cookie : function( self: PCefCookieManager; const url: PCefString; const cookie: PCefCookie; callback: PCefSetCookieCallback) : Integer ; stdcall ;
delete_cookies : function( self: PCefCookieManager; const url, cookie_name: PCefString; callback: PCefDeleteCookiesCallback) : Integer ; stdcall ;
2019-11-20 11:45:46 +02:00
flush_store : function( self: PCefCookieManager; callback: PCefCompletionCallback) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that creates ICefResourceHandler instances for handling scheme
/// requests. The functions of this structure will always be called on the IO
/// thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSchemeHandlerFactory.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_scheme_capi.h">CEF source file: /include/capi/cef_scheme_capi.h (cef_scheme_handler_factory_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSchemeHandlerFactory = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
create : function( self: PCefSchemeHandlerFactory; browser: PCefBrowser; frame: PCefFrame; const scheme_name: PCefString; request: PCefRequest) : PCefResourceHandler; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefRequestContext.ResolveHost.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResolveCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_context_capi.h">CEF source file: /include/capi/cef_request_context_capi.h (cef_resolve_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResolveCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_resolve_completed : procedure( self: PCefResolveCallback; result : TCefErrorCode; resolved_ips: TCefStringList) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure to implement for visiting cookie values. The functions of this
/// structure will always be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefCookieVisitor.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_cookie_capi.h">CEF source file: /include/capi/cef_cookie_capi.h (cef_cookie_visitor_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCookieVisitor = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
visit : function( self: PCefCookieVisitor; const cookie: PCefCookie; count, total: Integer ; deleteCookie: PInteger ) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure to implement to be notified of asynchronous completion via
/// ICefCookieManager.SetCookie().
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSetCookieCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_cookie_capi.h">CEF source file: /include/capi/cef_cookie_capi.h (cef_set_cookie_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSetCookieCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_complete : procedure( self: PCefSetCookieCallback; success: Integer ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure to implement to be notified of asynchronous completion via
/// ICefCookieManager.DeleteCookies().
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDeleteCookiesCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_cookie_capi.h">CEF source file: /include/capi/cef_cookie_capi.h (cef_delete_cookies_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDeleteCookiesCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_complete : procedure( self: PCefDeleteCookiesCallback; num_deleted: Integer ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefBrowserHost.RunFileDialog. The functions of
/// this structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRunFileDialogCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_browser_capi.h">CEF source file: /include/capi/cef_browser_capi.h (cef_run_file_dialog_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRunFileDialogCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2022-05-26 13:08:20 +02:00
on_file_dialog_dismissed : procedure( self: PCefRunFileDialogCallback; file_paths: TCefStringList) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefBrowserHost.DownloadImage. The functions of
/// this structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDownloadImageCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_browser_capi.h">CEF source file: /include/capi/cef_browser_capi.h (cef_download_image_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDownloadImageCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_download_image_finished : procedure( self: PCefDownloadImageCallback; const image_url: PCefString; http_status_code: Integer ; image: PCefImage) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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
/// structure can be called on any browser process thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefImage.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_image_capi.h">CEF source file: /include/capi/cef_image_capi.h (cef_image_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefImage = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_empty : function( self: PCefImage) : Integer ; stdcall ;
is_same : function( self, that: PCefImage) : Integer ; stdcall ;
add_bitmap : function( self: PCefImage; scale_factor: Single ; pixel_width, pixel_height: Integer ; color_type: TCefColorType; alpha_type: TCefAlphaType; const pixel_data: Pointer ; pixel_data_size: NativeUInt ) : Integer ; stdcall ;
add_png : function( self: PCefImage; scale_factor: Single ; const png_data: Pointer ; png_data_size: NativeUInt ) : Integer ; stdcall ;
add_jpeg : function( self: PCefImage; scale_factor: Single ; const jpeg_data: Pointer ; jpeg_data_size: NativeUInt ) : Integer ; stdcall ;
get_width : function( self: PCefImage) : NativeUInt ; stdcall ;
get_height : function( self: PCefImage) : NativeUInt ; stdcall ;
has_representation : function( self: PCefImage; scale_factor: Single ) : Integer ; stdcall ;
remove_representation : function( self: PCefImage; scale_factor: Single ) : Integer ; stdcall ;
get_representation_info : function( self: PCefImage; scale_factor: Single ; actual_scale_factor: PSingle ; pixel_width, pixel_height: PInteger ) : Integer ; stdcall ;
get_as_bitmap : function( self: PCefImage; scale_factor: Single ; color_type: TCefColorType; alpha_type: TCefAlphaType; pixel_width, pixel_height: PInteger ) : PCefBinaryValue; stdcall ;
get_as_png : function( self: PCefImage; scale_factor: Single ; with_transparency: Integer ; pixel_width, pixel_height: PInteger ) : PCefBinaryValue; stdcall ;
get_as_jpeg : function( self: PCefImage; scale_factor: Single ; quality: Integer ; pixel_width, pixel_height: PInteger ) : PCefBinaryValue; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefBrowserHost.PrintToPDF. The functions of this
/// structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPdfPrintCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_browser_capi.h">CEF source file: /include/capi/cef_browser_capi.h (cef_pdf_print_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPdfPrintCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_pdf_print_finished : procedure( self: PCefPdfPrintCallback; const path: PCefString; ok: Integer ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for ICefBrowserHost.GetNavigationEntries. The
/// functions of this structure will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefNavigationEntryVisitor.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_browser_capi.h">CEF source file: /include/capi/cef_browser_capi.h (cef_navigation_entry_visitor_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefNavigationEntryVisitor = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
visit : function( self: PCefNavigationEntryVisitor; entry: PCefNavigationEntry; current, index , total: Integer ) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent an entry in navigation history.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefNavigationEntry.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_navigation_entry_capi.h">CEF source file: /include/capi/cef_navigation_entry_capi.h (cef_navigation_entry_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefNavigationEntry = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefNavigationEntry) : Integer ; stdcall ;
get_url : function( self: PCefNavigationEntry) : PCefStringUserFree; stdcall ;
get_display_url : function( self: PCefNavigationEntry) : PCefStringUserFree; stdcall ;
get_original_url : function( self: PCefNavigationEntry) : PCefStringUserFree; stdcall ;
get_title : function( self: PCefNavigationEntry) : PCefStringUserFree; stdcall ;
get_transition_type : function( self: PCefNavigationEntry) : TCefTransitionType; stdcall ;
has_post_data : function( self: PCefNavigationEntry) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
get_completion_time : function( self: PCefNavigationEntry) : TCefBaseTime; stdcall ;
2018-03-29 20:02:04 +02:00
get_http_status_code : function( self: PCefNavigationEntry) : Integer ; stdcall ;
get_sslstatus : function( self: PCefNavigationEntry) : PCefSSLStatus; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing print settings.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPrintSettings.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_print_settings_capi.h">CEF source file: /include/capi/cef_print_settings_capi.h (cef_print_settings_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPrintSettings = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefPrintSettings) : Integer ; stdcall ;
is_read_only : function( self: PCefPrintSettings) : Integer ; stdcall ;
set_orientation : procedure( self: PCefPrintSettings; landscape: Integer ) ; stdcall ;
is_landscape : function( self: PCefPrintSettings) : Integer ; stdcall ;
set_printer_printable_area : procedure( self: PCefPrintSettings; const physical_size_device_units: PCefSize; const printable_area_device_units: PCefRect; landscape_needs_flip: Integer ) ; stdcall ;
set_device_name : procedure( self: PCefPrintSettings; const name : PCefString) ; stdcall ;
get_device_name : function( self: PCefPrintSettings) : PCefStringUserFree; stdcall ;
set_dpi : procedure( self: PCefPrintSettings; dpi: Integer ) ; stdcall ;
get_dpi : function( self: PCefPrintSettings) : Integer ; stdcall ;
set_page_ranges : procedure( self: PCefPrintSettings; rangesCount: NativeUInt ; ranges: PCefRange) ; stdcall ;
get_page_ranges_count : function( self: PCefPrintSettings) : NativeUInt ; stdcall ;
get_page_ranges : procedure( self: PCefPrintSettings; rangesCount: PNativeUInt ; ranges: PCefRange) ; stdcall ;
set_selection_only : procedure( self: PCefPrintSettings; selection_only: Integer ) ; stdcall ;
is_selection_only : function( self: PCefPrintSettings) : Integer ; stdcall ;
set_collate : procedure( self: PCefPrintSettings; collate: Integer ) ; stdcall ;
will_collate : function( self: PCefPrintSettings) : Integer ; stdcall ;
set_color_model : procedure( self: PCefPrintSettings; model: TCefColorModel) ; stdcall ;
get_color_model : function( self: PCefPrintSettings) : TCefColorModel; stdcall ;
set_copies : procedure( self: PCefPrintSettings; copies: Integer ) ; stdcall ;
get_copies : function( self: PCefPrintSettings) : Integer ; stdcall ;
set_duplex_mode : procedure( self: PCefPrintSettings; mode: TCefDuplexMode) ; stdcall ;
get_duplex_mode : function( self: PCefPrintSettings) : TCefDuplexMode; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for asynchronous continuation of print dialog requests.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPrintDialogCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_print_handler_capi.h">CEF source file: /include/capi/cef_print_handler_capi.h (cef_print_dialog_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPrintDialogCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cont : procedure( self: PCefPrintDialogCallback; settings: PCefPrintSettings) ; stdcall ;
cancel : procedure( self: PCefPrintDialogCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure for asynchronous continuation of print job requests.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPrintJobCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_print_handler_capi.h">CEF source file: /include/capi/cef_print_handler_capi.h (cef_print_job_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPrintJobCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cont : procedure( self: PCefPrintJobCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle printing on Linux. Each browser will have
/// only one print job in progress at a time. The functions of this structure
/// will be called on the browser process UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPrintHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_print_handler_capi.h">CEF source file: /include/capi/cef_print_handler_capi.h (cef_print_handler_t)</see></para>
/// </remarks>
2017-06-22 11:51:15 +02:00
TCefPrintHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_print_start : procedure( self: PCefPrintHandler; browser: PCefBrowser) ; stdcall ;
on_print_settings : procedure( self: PCefPrintHandler; browser: PCefBrowser; settings: PCefPrintSettings; get_defaults: Integer ) ; stdcall ;
on_print_dialog : function( self: PCefPrintHandler; browser: PCefBrowser; has_selection: Integer ; callback: PCefPrintDialogCallback) : Integer ; stdcall ;
on_print_job : function( self: PCefPrintHandler; browser: PCefBrowser; const document_name, pdf_file_path: PCefString; callback: PCefPrintJobCallback) : Integer ; stdcall ;
on_print_reset : procedure( self: PCefPrintHandler; browser: PCefBrowser) ; stdcall ;
2021-04-18 19:36:20 +02:00
get_pdf_paper_size : function( self: PCefPrintHandler; browser: PCefBrowser; device_units_per_inch: Integer ) : TCefSize; stdcall ;
2017-06-22 11:51:15 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent drag data. The functions of this structure may
/// be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDragData.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_drag_data_capi.h">CEF source file: /include/capi/cef_drag_data_capi.h (cef_drag_data_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDragData = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
clone : function( self: PCefDragData) : PCefDragData; stdcall ;
is_read_only : function( self: PCefDragData) : Integer ; stdcall ;
is_link : function( self: PCefDragData) : Integer ; stdcall ;
is_fragment : function( self: PCefDragData) : Integer ; stdcall ;
is_file : function( self: PCefDragData) : Integer ; stdcall ;
get_link_url : function( self: PCefDragData) : PCefStringUserFree; stdcall ;
get_link_title : function( self: PCefDragData) : PCefStringUserFree; stdcall ;
get_link_metadata : function( self: PCefDragData) : PCefStringUserFree; stdcall ;
get_fragment_text : function( self: PCefDragData) : PCefStringUserFree; stdcall ;
get_fragment_html : function( self: PCefDragData) : PCefStringUserFree; stdcall ;
get_fragment_base_url : function( self: PCefDragData) : PCefStringUserFree; stdcall ;
get_file_name : function( self: PCefDragData) : PCefStringUserFree; stdcall ;
get_file_contents : function( self: PCefDragData; writer: PCefStreamWriter) : NativeUInt ; stdcall ;
get_file_names : function( self: PCefDragData; names: TCefStringList) : Integer ; stdcall ;
set_link_url : procedure( self: PCefDragData; const url: PCefString) ; stdcall ;
set_link_title : procedure( self: PCefDragData; const title: PCefString) ; stdcall ;
set_link_metadata : procedure( self: PCefDragData; const data: PCefString) ; stdcall ;
set_fragment_text : procedure( self: PCefDragData; const text : PCefString) ; stdcall ;
set_fragment_html : procedure( self: PCefDragData; const html: PCefString) ; stdcall ;
set_fragment_base_url : procedure( self: PCefDragData; const base_url: PCefString) ; stdcall ;
reset_file_contents : procedure( self: PCefDragData) ; stdcall ;
add_file : procedure( self: PCefDragData; const path, display_name: PCefString) ; stdcall ;
2022-05-03 12:43:16 +02:00
clear_filenames : procedure( self: PCefDragData) ; stdcall ;
2018-03-29 20:02:04 +02:00
get_image : function( self: PCefDragData) : PCefImage; stdcall ;
get_image_hotspot : function( self: PCefDragData) : PCefPoint; stdcall ;
has_image : function( self: PCefDragData) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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 structure can be used before cef_initialize() is called.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefCommandLine.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_command_line_capi.h">CEF source file: /include/capi/cef_command_line_capi.h (cef_command_line_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefCommandLine = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefCommandLine) : Integer ; stdcall ;
is_read_only : function( self: PCefCommandLine) : Integer ; stdcall ;
copy : function( self: PCefCommandLine) : PCefCommandLine; stdcall ;
init_from_argv : procedure( self: PCefCommandLine; argc: Integer ; const argv: PPAnsiChar) ; stdcall ;
init_from_string : procedure( self: PCefCommandLine; const command_line: PCefString) ; stdcall ;
reset : procedure( self: PCefCommandLine) ; stdcall ;
get_argv : procedure( self: PCefCommandLine; argv: TCefStringList) ; stdcall ;
get_command_line_string : function( self: PCefCommandLine) : PCefStringUserFree; stdcall ;
get_program : function( self: PCefCommandLine) : PCefStringUserFree; stdcall ;
set_program : procedure( self: PCefCommandLine; const program_: PCefString) ; stdcall ;
has_switches : function( self: PCefCommandLine) : Integer ; stdcall ;
has_switch : function( self: PCefCommandLine; const name : PCefString) : Integer ; stdcall ;
get_switch_value : function( self: PCefCommandLine; const name : PCefString) : PCefStringUserFree; stdcall ;
get_switches : procedure( self: PCefCommandLine; switches: TCefStringMap) ; stdcall ;
append_switch : procedure( self: PCefCommandLine; const name : PCefString) ; stdcall ;
append_switch_with_value : procedure( self: PCefCommandLine; const name , value: PCefString) ; stdcall ;
has_arguments : function( self: PCefCommandLine) : Integer ; stdcall ;
get_arguments : procedure( self: PCefCommandLine; arguments: TCefStringList) ; stdcall ;
append_argument : procedure( self: PCefCommandLine; const argument: PCefString) ; stdcall ;
prepend_wrapper : procedure( self: PCefCommandLine; const wrapper: PCefString) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle events related to commands. The functions
/// of this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefCommandHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_command_handler_capi.h">CEF source file: /include/capi/cef_command_handler_capi.h (cef_command_handler_t)</see></para>
/// </remarks>
2022-05-03 12:43:16 +02:00
TCefCommandHandler = record
2023-04-08 19:00:33 +02:00
base : TCefBaseRefCounted;
on_chrome_command : function( self: PCefCommandHandler; browser: PCefBrowser; command_id: integer ; disposition: TCefWindowOpenDisposition) : Integer ; stdcall ;
is_chrome_app_menu_item_visible : function( self: PCefCommandHandler; browser: PCefBrowser; command_id: integer ) : integer ; stdcall ;
is_chrome_app_menu_item_enabled : function( self: PCefCommandHandler; browser: PCefBrowser; command_id: integer ) : integer ; stdcall ;
is_chrome_page_action_icon_visible : function( self: PCefCommandHandler; icon_type: TCefChromePageActionIconType) : integer ; stdcall ;
is_chrome_toolbar_button_visible : function( self: PCefCommandHandler; button_type: TCefChromeToolbarButtonType) : integer ; stdcall ;
2022-05-03 12:43:16 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that manages custom scheme registrations.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefSchemeRegistrar.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_scheme_capi.h">CEF source file: /include/capi/cef_scheme_capi.h (cef_scheme_registrar_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefSchemeRegistrar = record
2018-03-29 20:02:04 +02:00
base : TCefBaseScoped;
2019-03-15 18:17:14 +02:00
add_custom_scheme : function( self: PCefSchemeRegistrar; const scheme_name: PCefString; options : TCefSchemeOptions) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a binary value. Can be used on any process and
/// thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBinaryValue.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_values_capi.h">CEF source file: /include/capi/cef_values_capi.h (cef_binary_value_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefBinaryValue = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefBinaryValue) : Integer ; stdcall ;
is_owned : function( self: PCefBinaryValue) : Integer ; stdcall ;
is_same : function( self, that: PCefBinaryValue) : Integer ; stdcall ;
is_equal : function( self, that: PCefBinaryValue) : Integer ; stdcall ;
copy : function( self: PCefBinaryValue) : PCefBinaryValue; stdcall ;
get_size : function( self: PCefBinaryValue) : NativeUInt ; stdcall ;
get_data : function( self: PCefBinaryValue; buffer: Pointer ; buffer_size, data_offset: NativeUInt ) : NativeUInt ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefValue.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_values_capi.h">CEF source file: /include/capi/cef_values_capi.h (cef_value_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefValue = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefValue) : Integer ; stdcall ;
is_owned : function( self: PCefValue) : Integer ; stdcall ;
is_read_only : function( self: PCefValue) : Integer ; stdcall ;
is_same : function( self, that: PCefValue) : Integer ; stdcall ;
is_equal : function( self, that: PCefValue) : Integer ; stdcall ;
copy : function( self: PCefValue) : PCefValue; stdcall ;
get_type : function( self: PCefValue) : TCefValueType; stdcall ;
get_bool : function( self: PCefValue) : Integer ; stdcall ;
get_int : function( self: PCefValue) : Integer ; stdcall ;
get_double : function( self: PCefValue) : Double ; stdcall ;
get_string : function( self: PCefValue) : PCefStringUserFree; stdcall ;
get_binary : function( self: PCefValue) : PCefBinaryValue; stdcall ;
get_dictionary : function( self: PCefValue) : PCefDictionaryValue; stdcall ;
get_list : function( self: PCefValue) : PCefListValue; stdcall ;
set_null : function( self: PCefValue) : Integer ; stdcall ;
set_bool : function( self: PCefValue; value: Integer ) : Integer ; stdcall ;
set_int : function( self: PCefValue; value: Integer ) : Integer ; stdcall ;
set_double : function( self: PCefValue; value: Double ) : Integer ; stdcall ;
set_string : function( self: PCefValue; const value: PCefString) : Integer ; stdcall ;
set_binary : function( self: PCefValue; value: PCefBinaryValue) : Integer ; stdcall ;
set_dictionary : function( self: PCefValue; value: PCefDictionaryValue) : Integer ; stdcall ;
set_list : function( self: PCefValue; value: PCefListValue) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a dictionary value. Can be used on any process and
/// thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDictionaryValue.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_values_capi.h">CEF source file: /include/capi/cef_values_capi.h (cef_dictionary_value_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDictionaryValue = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefDictionaryValue) : Integer ; stdcall ;
is_owned : function( self: PCefDictionaryValue) : Integer ; stdcall ;
is_read_only : function( self: PCefDictionaryValue) : Integer ; stdcall ;
is_same : function( self, that: PCefDictionaryValue) : Integer ; stdcall ;
is_equal : function( self, that: PCefDictionaryValue) : Integer ; stdcall ;
copy : function( self: PCefDictionaryValue; exclude_empty_children: Integer ) : PCefDictionaryValue; stdcall ;
get_size : function( self: PCefDictionaryValue) : NativeUInt ; stdcall ;
clear : function( self: PCefDictionaryValue) : Integer ; stdcall ;
has_key : function( self: PCefDictionaryValue; const key: PCefString) : Integer ; stdcall ;
get_keys : function( self: PCefDictionaryValue; const keys: TCefStringList) : Integer ; stdcall ;
remove : function( self: PCefDictionaryValue; const key: PCefString) : Integer ; stdcall ;
get_type : function( self: PCefDictionaryValue; const key: PCefString) : TCefValueType; stdcall ;
get_value : function( self: PCefDictionaryValue; const key: PCefString) : PCefValue; stdcall ;
get_bool : function( self: PCefDictionaryValue; const key: PCefString) : Integer ; stdcall ;
get_int : function( self: PCefDictionaryValue; const key: PCefString) : Integer ; stdcall ;
get_double : function( self: PCefDictionaryValue; const key: PCefString) : Double ; stdcall ;
get_string : function( self: PCefDictionaryValue; const key: PCefString) : PCefStringUserFree; stdcall ;
get_binary : function( self: PCefDictionaryValue; const key: PCefString) : PCefBinaryValue; stdcall ;
get_dictionary : function( self: PCefDictionaryValue; const key: PCefString) : PCefDictionaryValue; stdcall ;
get_list : function( self: PCefDictionaryValue; const key: PCefString) : PCefListValue; stdcall ;
set_value : function( self: PCefDictionaryValue; const key: PCefString; value: PCefValue) : Integer ; stdcall ;
set_null : function( self: PCefDictionaryValue; const key: PCefString) : Integer ; stdcall ;
set_bool : function( self: PCefDictionaryValue; const key: PCefString; value: Integer ) : Integer ; stdcall ;
set_int : function( self: PCefDictionaryValue; const key: PCefString; value: Integer ) : Integer ; stdcall ;
set_double : function( self: PCefDictionaryValue; const key: PCefString; value: Double ) : Integer ; stdcall ;
set_string : function( self: PCefDictionaryValue; const key: PCefString; value: PCefString) : Integer ; stdcall ;
set_binary : function( self: PCefDictionaryValue; const key: PCefString; value: PCefBinaryValue) : Integer ; stdcall ;
set_dictionary : function( self: PCefDictionaryValue; const key: PCefString; value: PCefDictionaryValue) : Integer ; stdcall ;
set_list : function( self: PCefDictionaryValue; const key: PCefString; value: PCefListValue) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a list value. Can be used on any process and thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefListValue.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_values_capi.h">CEF source file: /include/capi/cef_values_capi.h (cef_list_value_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefListValue = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefListValue) : Integer ; stdcall ;
is_owned : function( self: PCefListValue) : Integer ; stdcall ;
is_read_only : function( self: PCefListValue) : Integer ; stdcall ;
is_same : function( self, that: PCefListValue) : Integer ; stdcall ;
is_equal : function( self, that: PCefListValue) : Integer ; stdcall ;
copy : function( self: PCefListValue) : PCefListValue; stdcall ;
set_size : function( self: PCefListValue; size: NativeUInt ) : Integer ; stdcall ;
get_size : function( self: PCefListValue) : NativeUInt ; stdcall ;
clear : function( self: PCefListValue) : Integer ; stdcall ;
remove : function( self: PCefListValue; index : NativeUInt ) : Integer ; stdcall ;
get_type : function( self: PCefListValue; index : NativeUInt ) : TCefValueType; stdcall ;
get_value : function( self: PCefListValue; index : NativeUInt ) : PCefValue; stdcall ;
get_bool : function( self: PCefListValue; index : NativeUInt ) : Integer ; stdcall ;
get_int : function( self: PCefListValue; index : NativeUInt ) : Integer ; stdcall ;
get_double : function( self: PCefListValue; index : NativeUInt ) : Double ; stdcall ;
get_string : function( self: PCefListValue; index : NativeUInt ) : PCefStringUserFree; stdcall ;
get_binary : function( self: PCefListValue; index : NativeUInt ) : PCefBinaryValue; stdcall ;
get_dictionary : function( self: PCefListValue; index : NativeUInt ) : PCefDictionaryValue; stdcall ;
get_list : function( self: PCefListValue; index : NativeUInt ) : PCefListValue; stdcall ;
set_value : function( self: PCefListValue; index : NativeUInt ; value: PCefValue) : Integer ; stdcall ;
set_null : function( self: PCefListValue; index : NativeUInt ) : Integer ; stdcall ;
set_bool : function( self: PCefListValue; index : NativeUInt ; value: Integer ) : Integer ; stdcall ;
set_int : function( self: PCefListValue; index : NativeUInt ; value: Integer ) : Integer ; stdcall ;
set_double : function( self: PCefListValue; index : NativeUInt ; value: Double ) : Integer ; stdcall ;
set_string : function( self: PCefListValue; index : NativeUInt ; value: PCefString) : Integer ; stdcall ;
set_binary : function( self: PCefListValue; index : NativeUInt ; value: PCefBinaryValue) : Integer ; stdcall ;
set_dictionary : function( self: PCefListValue; index : NativeUInt ; value: PCefDictionaryValue) : Integer ; stdcall ;
set_list : function( self: PCefListValue; index : NativeUInt ; value: PCefListValue) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to receive string values asynchronously.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefStringVisitor.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_string_visitor_capi.h">CEF source file: /include/capi/cef_string_visitor_capi.h (cef_string_visitor_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefStringVisitor = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
visit : procedure( self: PCefStringVisitor; const str: PCefString) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a single element in the request post data. The
/// functions of this structure may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPostDataElement.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_capi.h">CEF source file: /include/capi/cef_request_capi.h (cef_post_data_element_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPostDataElement = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_read_only : function( self: PCefPostDataElement) : Integer ; stdcall ;
set_to_empty : procedure( self: PCefPostDataElement) ; stdcall ;
set_to_file : procedure( self: PCefPostDataElement; const fileName: PCefString) ; stdcall ;
set_to_bytes : procedure( self: PCefPostDataElement; size: NativeUInt ; const bytes: Pointer ) ; stdcall ;
get_type : function( self: PCefPostDataElement) : TCefPostDataElementType; stdcall ;
get_file : function( self: PCefPostDataElement) : PCefStringUserFree; stdcall ;
get_bytes_count : function( self: PCefPostDataElement) : NativeUInt ; stdcall ;
get_bytes : function( self: PCefPostDataElement; size: NativeUInt ; bytes: Pointer ) : NativeUInt ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent post data for a web request. The functions of
/// this structure may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPostData.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_capi.h">CEF source file: /include/capi/cef_request_capi.h (cef_post_data_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefPostData = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2019-09-25 17:23:16 +02:00
is_read_only : function( self: PCefPostData) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
has_excluded_elements : function( self: PCefPostData) : Integer ; stdcall ;
get_element_count : function( self: PCefPostData) : NativeUInt ; stdcall ;
2019-09-25 17:23:16 +02:00
get_elements : procedure( self: PCefPostData; var elementsCount: NativeUInt ; var elements: PCefPostDataElement) ; stdcall ;
2018-03-29 20:02:04 +02:00
remove_element : function( self: PCefPostData; element: PCefPostDataElement) : Integer ; stdcall ;
add_element : function( self: PCefPostData; element: PCefPostDataElement) : Integer ; stdcall ;
remove_elements : procedure( self: PCefPostData) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a web request. The functions of this structure
/// may be called on any thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRequest.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_request_capi.h">CEF source file: /include/capi/cef_request_capi.h (cef_request_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefRequest = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_read_only : function( self: PCefRequest) : Integer ; stdcall ;
get_url : function( self: PCefRequest) : PCefStringUserFree; stdcall ;
set_url : procedure( self: PCefRequest; const url: PCefString) ; stdcall ;
get_method : function( self: PCefRequest) : PCefStringUserFree; stdcall ;
set_method : procedure( self: PCefRequest; const method: PCefString) ; stdcall ;
set_referrer : procedure( self: PCefRequest; const referrer_url: PCefString; policy: TCefReferrerPolicy) ; stdcall ;
get_referrer_url : function( self: PCefRequest) : PCefStringUserFree; stdcall ;
get_referrer_policy : function( self: PCefRequest) : TCefReferrerPolicy; stdcall ;
get_post_data : function( self: PCefRequest) : PCefPostData; stdcall ;
set_post_data : procedure( self: PCefRequest; postData: PCefPostData) ; stdcall ;
get_header_map : procedure( self: PCefRequest; headerMap: TCefStringMultimap) ; stdcall ;
set_header_map : procedure( self: PCefRequest; headerMap: TCefStringMultimap) ; stdcall ;
2019-06-16 10:31:13 +02:00
get_header_by_name : function( self: PCefRequest; const name : PCefString) : PCefStringUserFree; stdcall ;
set_header_by_name : procedure( self: PCefRequest; const name , value: PCefString; overwrite: integer ) ; stdcall ;
2018-03-29 20:02:04 +02:00
set_ : procedure( self: PCefRequest; const url, method: PCefString; postData: PCefPostData; headerMap: TCefStringMultimap) ; stdcall ;
get_flags : function( self: PCefRequest) : Integer ; stdcall ;
set_flags : procedure( self: PCefRequest; flags: Integer ) ; stdcall ;
get_first_party_for_cookies : function( self: PCefRequest) : PCefStringUserFree; stdcall ;
set_first_party_for_cookies : procedure( self: PCefRequest; const url: PCefString) ; stdcall ;
get_resource_type : function( self: PCefRequest) : TCefResourceType; stdcall ;
get_transition_type : function( self: PCefRequest) : TCefTransitionType; stdcall ;
get_identifier : function( self: PCefRequest) : UInt64 ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefTask.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_task_capi.h">CEF source file: /include/capi/cef_task_capi.h (cef_task_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefTask = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
execute : procedure( self: PCefTask) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure to implement for visiting the DOM. The functions of this structure
/// will be called on the render process main thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDomVisitor.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_dom_capi.h">CEF source file: /include/capi/cef_dom_capi.h (cef_domvisitor_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDomVisitor = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
visit : procedure( self: PCefDomVisitor; document: PCefDomDocument) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Supports creation and modification of menus. See TCefMenuId (cef_menu_id_t) 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 structure can only be accessed on the browser process the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMenuModel.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_menu_model_capi.h">CEF source file: /include/capi/cef_menu_model_capi.h (cef_menu_model_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefMenuModel = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_sub_menu : function( self: PCefMenuModel) : Integer ; stdcall ;
clear : function( self: PCefMenuModel) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
get_count : function( self: PCefMenuModel) : NativeUInt ; stdcall ;
2018-03-29 20:02:04 +02:00
add_separator : function( self: PCefMenuModel) : Integer ; stdcall ;
add_item : function( self: PCefMenuModel; command_id: Integer ; const text : PCefString) : Integer ; stdcall ;
add_check_item : function( self: PCefMenuModel; command_id: Integer ; const text : PCefString) : Integer ; stdcall ;
add_radio_item : function( self: PCefMenuModel; command_id: Integer ; const text : PCefString; group_id: Integer ) : Integer ; stdcall ;
add_sub_menu : function( self: PCefMenuModel; command_id: Integer ; const text : PCefString) : PCefMenuModel; stdcall ;
2022-09-04 19:18:07 +02:00
insert_separator_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
insert_item_at : function( self: PCefMenuModel; index : NativeUInt ; command_id: Integer ; const text : PCefString) : Integer ; stdcall ;
insert_check_item_at : function( self: PCefMenuModel; index : NativeUInt ; command_id: Integer ; const text : PCefString) : Integer ; stdcall ;
insert_radio_item_at : function( self: PCefMenuModel; index : NativeUInt ; command_id: Integer ; const text : PCefString; group_id: Integer ) : Integer ; stdcall ;
insert_sub_menu_at : function( self: PCefMenuModel; index : NativeUInt ; command_id: Integer ; const text : PCefString) : PCefMenuModel; stdcall ;
2018-03-29 20:02:04 +02:00
remove : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
remove_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
get_index_of : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
get_command_id_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
set_command_id_at : function( self: PCefMenuModel; index : NativeUInt ; command_id: Integer ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
get_label : function( self: PCefMenuModel; command_id: Integer ) : PCefStringUserFree; stdcall ;
2022-09-04 19:18:07 +02:00
get_label_at : function( self: PCefMenuModel; index : NativeUInt ) : PCefStringUserFree; stdcall ;
2018-03-29 20:02:04 +02:00
set_label : function( self: PCefMenuModel; command_id: Integer ; const text : PCefString) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
set_label_at : function( self: PCefMenuModel; index : NativeUInt ; const text : PCefString) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
get_type : function( self: PCefMenuModel; command_id: Integer ) : TCefMenuItemType; stdcall ;
2022-09-04 19:18:07 +02:00
get_type_at : function( self: PCefMenuModel; index : NativeUInt ) : TCefMenuItemType; stdcall ;
2018-03-29 20:02:04 +02:00
get_group_id : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
get_group_id_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
set_group_id : function( self: PCefMenuModel; command_id, group_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
set_group_id_at : function( self: PCefMenuModel; index : NativeUInt ; group_id: Integer ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
get_sub_menu : function( self: PCefMenuModel; command_id: Integer ) : PCefMenuModel; stdcall ;
2022-09-04 19:18:07 +02:00
get_sub_menu_at : function( self: PCefMenuModel; index : NativeUInt ) : PCefMenuModel; stdcall ;
2018-03-29 20:02:04 +02:00
is_visible : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
is_visible_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
set_visible : function( self: PCefMenuModel; command_id, visible: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
set_visible_at : function( self: PCefMenuModel; index : NativeUInt ; visible: Integer ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
is_enabled : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
is_enabled_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
set_enabled : function( self: PCefMenuModel; command_id, enabled: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
set_enabled_at : function( self: PCefMenuModel; index : NativeUInt ; enabled: Integer ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
is_checked : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
is_checked_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
set_checked : function( self: PCefMenuModel; command_id, checked: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
set_checked_at : function( self: PCefMenuModel; index : NativeUInt ; checked: Integer ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
has_accelerator : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
has_accelerator_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
set_accelerator : function( self: PCefMenuModel; command_id, key_code, shift_pressed, ctrl_pressed, alt_pressed: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
set_accelerator_at : function( self: PCefMenuModel; index : NativeUInt ; key_code, shift_pressed, ctrl_pressed, alt_pressed: Integer ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
remove_accelerator : function( self: PCefMenuModel; command_id: Integer ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
remove_accelerator_at : function( self: PCefMenuModel; index : NativeUInt ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
get_accelerator : function( self: PCefMenuModel; command_id: Integer ; key_code, shift_pressed, ctrl_pressed, alt_pressed: PInteger ) : Integer ; stdcall ;
2022-09-04 19:18:07 +02:00
get_accelerator_at : function( self: PCefMenuModel; index : NativeUInt ; key_code, shift_pressed, ctrl_pressed, alt_pressed: PInteger ) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
set_color : function( self: PCefMenuModel; command_id: Integer ; color_type: TCefMenuColorType; color: TCefColor) : Integer ; stdcall ;
set_color_at : function( self: PCefMenuModel; index : Integer ; color_type: TCefMenuColorType; color: TCefColor) : Integer ; stdcall ;
get_color : function( self: PCefMenuModel; command_id: Integer ; color_type: TCefMenuColorType; color: PCefColor) : Integer ; stdcall ;
get_color_at : function( self: PCefMenuModel; index : Integer ; color_type: TCefMenuColorType; color: PCefColor) : Integer ; stdcall ;
set_font_list : function( self: PCefMenuModel; command_id: Integer ; const font_list: PCefString) : Integer ; stdcall ;
set_font_list_at : function( self: PCefMenuModel; index : Integer ; const font_list: PCefString) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Provides information about the context menu state. The functions of this
/// structure can only be accessed on browser process the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefContextMenuParams.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_context_menu_handler_capi.h">CEF source file: /include/capi/cef_context_menu_handler_capi.h (cef_context_menu_params_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefContextMenuParams = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_xcoord : function( self: PCefContextMenuParams) : Integer ; stdcall ;
get_ycoord : function( self: PCefContextMenuParams) : Integer ; stdcall ;
get_type_flags : function( self: PCefContextMenuParams) : TCefContextMenuTypeFlags; stdcall ;
get_link_url : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_unfiltered_link_url : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_source_url : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
has_image_contents : function( self: PCefContextMenuParams) : Integer ; stdcall ;
get_title_text : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_page_url : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_frame_url : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_frame_charset : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_media_type : function( self: PCefContextMenuParams) : TCefContextMenuMediaType; stdcall ;
get_media_state_flags : function( self: PCefContextMenuParams) : TCefContextMenuMediaStateFlags; stdcall ;
get_selection_text : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_misspelled_word : function( self: PCefContextMenuParams) : PCefStringUserFree; stdcall ;
get_dictionary_suggestions : function( self: PCefContextMenuParams; suggestions: TCefStringList) : Integer ; stdcall ;
is_editable : function( self: PCefContextMenuParams) : Integer ; stdcall ;
is_spell_check_enabled : function( self: PCefContextMenuParams) : Integer ; stdcall ;
get_edit_state_flags : function( self: PCefContextMenuParams) : TCefContextMenuEditStateFlags; stdcall ;
is_custom_menu : function( self: PCefContextMenuParams) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a download item.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDownloadItem.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_download_item_capi.h">CEF source file: /include/capi/cef_download_item_capi.h (cef_download_item_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDownloadItem = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefDownloadItem) : Integer ; stdcall ;
is_in_progress : function( self: PCefDownloadItem) : Integer ; stdcall ;
is_complete : function( self: PCefDownloadItem) : Integer ; stdcall ;
is_canceled : function( self: PCefDownloadItem) : Integer ; stdcall ;
2023-06-09 15:13:45 +02:00
is_interrupted : function( self: PCefDownloadItem) : Integer ; stdcall ;
get_interrupt_reason : function( self: PCefDownloadItem) : TCefDownloadInterruptReason; stdcall ;
2018-03-29 20:02:04 +02:00
get_current_speed : function( self: PCefDownloadItem) : Int64 ; stdcall ;
get_percent_complete : function( self: PCefDownloadItem) : Integer ; stdcall ;
get_total_bytes : function( self: PCefDownloadItem) : Int64 ; stdcall ;
get_received_bytes : function( self: PCefDownloadItem) : Int64 ; stdcall ;
2022-09-04 19:18:07 +02:00
get_start_time : function( self: PCefDownloadItem) : TCefBaseTime; stdcall ;
get_end_time : function( self: PCefDownloadItem) : TCefBaseTime; stdcall ;
2018-03-29 20:02:04 +02:00
get_full_path : function( self: PCefDownloadItem) : PCefStringUserFree; stdcall ;
get_id : function( self: PCefDownloadItem) : Cardinal ; stdcall ;
get_url : function( self: PCefDownloadItem) : PCefStringUserFree; stdcall ;
get_original_url : function( self: PCefDownloadItem) : PCefStringUserFree; stdcall ;
get_suggested_file_name : function( self: PCefDownloadItem) : PCefStringUserFree; stdcall ;
get_content_disposition : function( self: PCefDownloadItem) : PCefStringUserFree; stdcall ;
get_mime_type : function( self: PCefDownloadItem) : PCefStringUserFree; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used to asynchronously continue a download.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBeforeDownloadCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_download_handler_capi.h">CEF source file: /include/capi/cef_download_handler_capi.h (cef_before_download_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefBeforeDownloadCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cont : procedure( self: PCefBeforeDownloadCallback; const download_path: PCefString; show_dialog: Integer ) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used to asynchronously cancel a download.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDownloadItemCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_download_handler_capi.h">CEF source file: /include/capi/cef_download_handler_capi.h (cef_download_item_callback_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDownloadItemCallback = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
cancel : procedure( self: PCefDownloadItemCallback) ; stdcall ;
pause : procedure( self: PCefDownloadItemCallback) ; stdcall ;
resume : procedure( self: PCefDownloadItemCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a DOM node. The functions of this structure
/// should only be called on the render process main thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDomNode.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_dom_capi.h">CEF source file: /include/capi/cef_dom_capi.h (cef_domnode_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDomNode = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_type : function( self: PCefDomNode) : TCefDomNodeType; stdcall ;
is_text : function( self: PCefDomNode) : Integer ; stdcall ;
is_element : function( self: PCefDomNode) : Integer ; stdcall ;
is_editable : function( self: PCefDomNode) : Integer ; stdcall ;
is_form_control_element : function( self: PCefDomNode) : Integer ; stdcall ;
get_form_control_element_type : function( self: PCefDomNode) : PCefStringUserFree; stdcall ;
is_same : function( self, that: PCefDomNode) : Integer ; stdcall ;
get_name : function( self: PCefDomNode) : PCefStringUserFree; stdcall ;
get_value : function( self: PCefDomNode) : PCefStringUserFree; stdcall ;
set_value : function( self: PCefDomNode; const value: PCefString) : Integer ; stdcall ;
get_as_markup : function( self: PCefDomNode) : PCefStringUserFree; stdcall ;
get_document : function( self: PCefDomNode) : PCefDomDocument; stdcall ;
get_parent : function( self: PCefDomNode) : PCefDomNode; stdcall ;
get_previous_sibling : function( self: PCefDomNode) : PCefDomNode; stdcall ;
get_next_sibling : function( self: PCefDomNode) : PCefDomNode; stdcall ;
has_children : function( self: PCefDomNode) : Integer ; stdcall ;
get_first_child : function( self: PCefDomNode) : PCefDomNode; stdcall ;
get_last_child : function( self: PCefDomNode) : PCefDomNode; stdcall ;
get_element_tag_name : function( self: PCefDomNode) : PCefStringUserFree; stdcall ;
has_element_attributes : function( self: PCefDomNode) : Integer ; stdcall ;
has_element_attribute : function( self: PCefDomNode; const attrName: PCefString) : Integer ; stdcall ;
get_element_attribute : function( self: PCefDomNode; const attrName: PCefString) : PCefStringUserFree; stdcall ;
get_element_attributes : procedure( self: PCefDomNode; attrMap: TCefStringMap) ; stdcall ;
set_element_attribute : function( self: PCefDomNode; const attrName, value: PCefString) : Integer ; stdcall ;
get_element_inner_text : function( self: PCefDomNode) : PCefStringUserFree; stdcall ;
get_element_bounds : function( self: PCefDomNode) : TCefRect; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a DOM document. The functions of this structure
/// should only be called on the render process main thread thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDomDocument.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_dom_capi.h">CEF source file: /include/capi/cef_dom_capi.h (cef_domdocument_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefDomDocument = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_type : function( self: PCefDomDocument) : TCefDomDocumentType; stdcall ;
get_document : function( self: PCefDomDocument) : PCefDomNode; stdcall ;
get_body : function( self: PCefDomDocument) : PCefDomNode; stdcall ;
get_head : function( self: PCefDomDocument) : PCefDomNode; stdcall ;
get_title : function( self: PCefDomDocument) : PCefStringUserFree; stdcall ;
get_element_by_id : function( self: PCefDomDocument; const id: PCefString) : PCefDomNode; stdcall ;
get_focused_node : function( self: PCefDomDocument) : PCefDomNode; stdcall ;
has_selection : function( self: PCefDomDocument) : Integer ; stdcall ;
get_selection_start_offset : function( self: PCefDomDocument) : Integer ; stdcall ;
get_selection_end_offset : function( self: PCefDomDocument) : Integer ; stdcall ;
get_selection_as_markup : function( self: PCefDomDocument) : PCefStringUserFree; stdcall ;
get_selection_as_text : function( self: PCefDomDocument) : PCefStringUserFree; stdcall ;
get_base_url : function( self: PCefDomDocument) : PCefStringUserFree; stdcall ;
get_complete_url : function( self: PCefDomDocument; const partialURL: PCefString) : PCefStringUserFree; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
PCefV8ValueArray = array [ 0 .. ( High( Integer ) div SizeOf( Pointer ) ) - 1 ] of PCefV8Value;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that should be implemented to handle V8 function calls. The
/// functions of this structure will be called on the thread associated with the
/// V8 function.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefv8Handler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefv8Handler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2019-11-24 19:19:49 +02:00
execute : function( self: PCefv8Handler; const name : PCefString; object_: PCefv8Value; argumentsCount: NativeUInt ; const arguments: PPCefV8Value; var retval: PCefV8Value; exception: PCefString) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure representing a V8 exception. The functions of this structure may
/// be called on any render process thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefV8Exception.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8exception_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefV8Exception = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_message : function( self: PCefV8Exception) : PCefStringUserFree; stdcall ;
get_source_line : function( self: PCefV8Exception) : PCefStringUserFree; stdcall ;
get_script_resource_name : function( self: PCefV8Exception) : PCefStringUserFree; stdcall ;
get_line_number : function( self: PCefV8Exception) : Integer ; stdcall ;
get_start_position : function( self: PCefV8Exception) : Integer ; stdcall ;
get_end_position : function( self: PCefV8Exception) : Integer ; stdcall ;
get_start_column : function( self: PCefV8Exception) : Integer ; stdcall ;
get_end_column : function( self: PCefV8Exception) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure that is passed to ICefv8value.CreateArrayBuffer.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefv8ArrayBufferReleaseCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8array_buffer_release_callback_t)</see></para>
/// </remarks>
2018-04-20 12:45:06 +02:00
TCefv8ArrayBufferReleaseCallback = record
base : TCefBaseRefCounted;
release_buffer : procedure( self: PCefv8ArrayBufferReleaseCallback; buffer : Pointer ) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefv8Value.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8value_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefv8Value = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefv8Value) : Integer ; stdcall ;
is_undefined : function( self: PCefv8Value) : Integer ; stdcall ;
is_null : function( self: PCefv8Value) : Integer ; stdcall ;
is_bool : function( self: PCefv8Value) : Integer ; stdcall ;
is_int : function( self: PCefv8Value) : Integer ; stdcall ;
is_uint : function( self: PCefv8Value) : Integer ; stdcall ;
is_double : function( self: PCefv8Value) : Integer ; stdcall ;
is_date : function( self: PCefv8Value) : Integer ; stdcall ;
is_string : function( self: PCefv8Value) : Integer ; stdcall ;
is_object : function( self: PCefv8Value) : Integer ; stdcall ;
is_array : function( self: PCefv8Value) : Integer ; stdcall ;
2018-04-20 12:45:06 +02:00
is_array_buffer : function( self: PCefv8Value) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
is_function : function( self: PCefv8Value) : Integer ; stdcall ;
2022-12-16 12:29:15 +02:00
is_promise : function( self: PCefv8Value) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
is_same : function( self, that: PCefv8Value) : Integer ; stdcall ;
get_bool_value : function( self: PCefv8Value) : Integer ; stdcall ;
get_int_value : function( self: PCefv8Value) : Integer ; stdcall ;
get_uint_value : function( self: PCefv8Value) : Cardinal ; stdcall ;
get_double_value : function( self: PCefv8Value) : Double ; stdcall ;
2022-09-04 19:18:07 +02:00
get_date_value : function( self: PCefv8Value) : TCefBaseTime; stdcall ;
2018-03-29 20:02:04 +02:00
get_string_value : function( self: PCefv8Value) : PCefStringUserFree; stdcall ;
is_user_created : function( self: PCefv8Value) : Integer ; stdcall ;
has_exception : function( self: PCefv8Value) : Integer ; stdcall ;
get_exception : function( self: PCefv8Value) : PCefV8Exception; stdcall ;
clear_exception : function( self: PCefv8Value) : Integer ; stdcall ;
will_rethrow_exceptions : function( self: PCefv8Value) : Integer ; stdcall ;
set_rethrow_exceptions : function( self: PCefv8Value; rethrow: Integer ) : Integer ; stdcall ;
has_value_bykey : function( self: PCefv8Value; const key: PCefString) : Integer ; stdcall ;
has_value_byindex : function( self: PCefv8Value; index : Integer ) : Integer ; stdcall ;
delete_value_bykey : function( self: PCefv8Value; const key: PCefString) : Integer ; stdcall ;
delete_value_byindex : function( self: PCefv8Value; index : Integer ) : Integer ; stdcall ;
get_value_bykey : function( self: PCefv8Value; const key: PCefString) : PCefv8Value; stdcall ;
get_value_byindex : function( self: PCefv8Value; index : Integer ) : PCefv8Value; stdcall ;
set_value_bykey : function( self: PCefv8Value; const key: PCefString; value: PCefv8Value; attribute: TCefV8PropertyAttributes) : Integer ; stdcall ;
set_value_byindex : function( self: PCefv8Value; index : Integer ; value: PCefv8Value) : Integer ; stdcall ;
set_value_byaccessor : function( self: PCefv8Value; const key: PCefString; settings: Integer ; attribute: TCefV8PropertyAttributes) : Integer ; stdcall ;
get_keys : function( self: PCefv8Value; keys: TCefStringList) : Integer ; stdcall ;
set_user_data : function( self: PCefv8Value; user_data: PCefBaseRefCounted) : Integer ; stdcall ;
get_user_data : function( self: PCefv8Value) : PCefBaseRefCounted; stdcall ;
get_externally_allocated_memory : function( self: PCefv8Value) : Integer ; stdcall ;
adjust_externally_allocated_memory : function( self: PCefv8Value; change_in_bytes: Integer ) : Integer ; stdcall ;
get_array_length : function( self: PCefv8Value) : Integer ; stdcall ;
2018-04-20 12:45:06 +02:00
get_array_buffer_release_callback : function( self: PCefv8Value) : PCefv8ArrayBufferReleaseCallback; stdcall ;
neuter_array_buffer : function( self: PCefv8Value) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
get_function_name : function( self: PCefv8Value) : PCefStringUserFree; stdcall ;
get_function_handler : function( self: PCefv8Value) : PCefv8Handler; stdcall ;
execute_function : function( self: PCefv8Value; obj: PCefv8Value; argumentsCount: NativeUInt ; const arguments: PPCefV8Value) : PCefv8Value; stdcall ;
execute_function_with_context : function( self: PCefv8Value; context: PCefv8Context; obj: PCefv8Value; argumentsCount: NativeUInt ; const arguments: PPCefV8Value) : PCefv8Value; stdcall ;
2022-12-16 12:29:15 +02:00
resolve_promise : function( self, arg: PCefv8Value) : Integer ; stdcall ;
reject_promise : function( self: PCefv8Value; const errorMsg: PCefString) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefv8Context.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8context_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefV8Context = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_task_runner : function( self: PCefv8Context) : PCefTaskRunner; stdcall ;
is_valid : function( self: PCefv8Context) : Integer ; stdcall ;
get_browser : function( self: PCefv8Context) : PCefBrowser; stdcall ;
get_frame : function( self: PCefv8Context) : PCefFrame; stdcall ;
get_global : function( self: PCefv8Context) : PCefv8Value; stdcall ;
enter : function( self: PCefv8Context) : Integer ; stdcall ;
exit : function( self: PCefv8Context) : Integer ; stdcall ;
is_same : function( self, that: PCefv8Context) : Integer ; stdcall ;
eval : function( self: PCefv8Context; const code, script_url: PCefString; start_line: integer ; var retval: PCefv8Value; var exception: PCefV8Exception) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that should be implemented to handle V8 interceptor calls. The
/// functions of this structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefV8Interceptor.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8interceptor_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefV8Interceptor = record
2017-03-16 20:09:42 +02:00
base : TCefBaseRefCounted;
2019-11-24 19:19:49 +02:00
get_byname : function( self: PCefV8Interceptor; const name : PCefString; object_: PCefV8Value; out retval: PCefv8Value; exception: PCefString) : integer ; stdcall ;
get_byindex : function( self: PCefV8Interceptor; index : integer ; object_: PCefV8Value; out retval: PCefv8Value; exception: PCefString) : integer ; stdcall ;
set_byname : function( self: PCefV8Interceptor; const name : PCefString; object_, value: PCefv8Value; exception: PCefString) : integer ; stdcall ;
set_byindex : function( self: PCefV8Interceptor; index : integer ; object_, value: PCefv8Value; exception: PCefString) : integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure that should be implemented to handle V8 accessor calls. Accessor
/// identifiers are registered by calling ICefv8value.SetValue(). The
/// functions of this structure will be called on the thread associated with the
/// V8 accessor.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefV8Accessor.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_v8_capi.h">CEF source file: /include/capi/cef_v8_capi.h (cef_v8accessor_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefV8Accessor = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2019-11-24 19:19:49 +02:00
get : function( self: PCefV8Accessor; const name : PCefString; object_: PCefv8Value; out retval: PCefv8Value; exception: PCefString) : Integer ; stdcall ;
set_ : function( self: PCefV8Accessor; const name : PCefString; object_, value: PCefv8Value; exception: PCefString) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a frame in the browser window. When used in the
/// browser process the functions of this structure may be called on any thread
/// unless otherwise indicated in the comments. When used in the render process
/// the functions of this structure may only be called on the main thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefFrame.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_frame_capi.h">CEF source file: /include/capi/cef_frame_capi.h (cef_frame_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefFrame = record
2019-06-16 10:31:13 +02:00
base : TCefBaseRefCounted;
is_valid : function( self: PCefFrame) : Integer ; stdcall ;
undo : procedure( self: PCefFrame) ; stdcall ;
redo : procedure( self: PCefFrame) ; stdcall ;
cut : procedure( self: PCefFrame) ; stdcall ;
copy : procedure( self: PCefFrame) ; stdcall ;
paste : procedure( self: PCefFrame) ; stdcall ;
del : procedure( self: PCefFrame) ; stdcall ;
select_all : procedure( self: PCefFrame) ; stdcall ;
view_source : procedure( self: PCefFrame) ; stdcall ;
get_source : procedure( self: PCefFrame; visitor: PCefStringVisitor) ; stdcall ;
get_text : procedure( self: PCefFrame; visitor: PCefStringVisitor) ; stdcall ;
load_request : procedure( self: PCefFrame; request: PCefRequest) ; stdcall ;
load_url : procedure( self: PCefFrame; const url: PCefString) ; stdcall ;
execute_java_script : procedure( self: PCefFrame; const code, script_url: PCefString; start_line: Integer ) ; stdcall ;
is_main : function( self: PCefFrame) : Integer ; stdcall ;
is_focused : function( self: PCefFrame) : Integer ; stdcall ;
get_name : function( self: PCefFrame) : PCefStringUserFree; stdcall ;
get_identifier : function( self: PCefFrame) : Int64 ; stdcall ;
get_parent : function( self: PCefFrame) : PCefFrame; stdcall ;
get_url : function( self: PCefFrame) : PCefStringUserFree; stdcall ;
get_browser : function( self: PCefFrame) : PCefBrowser; stdcall ;
get_v8context : function( self: PCefFrame) : PCefv8Context; stdcall ;
visit_dom : procedure( self: PCefFrame; visitor: PCefDomVisitor) ; stdcall ;
create_urlrequest : function( self: PCefFrame; request: PCefRequest; client: PCefUrlrequestClient) : PCefUrlRequest; stdcall ;
send_process_message : procedure( self: PCefFrame; target_process: TCefProcessId; message_: PCefProcessMessage) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this STRUCTURE to handle events related to ICefFrame life span.
/// The order of callbacks is:
///
/// (1) During initial ICefBrowserHost creation and navigation of the main
/// frame:
/// - ICefFrameHandler.OnFrameCreated => The initial main frame
/// object has been created. Any commands will be queued until the frame is attached.
/// - ICefFrameHandler.OnMainFrameChanged => The initial main frame object
/// has been assigned to the browser.
/// - ICefLifeSpanHandler.OnAfterCreated => The browser is now valid and
/// can be used.
/// - ICefFrameHandler.OnFrameAttached => The initial main frame object is
/// now connected to its peer in the renderer process. Commands can be routed.
///
/// (2) During further ICefBrowserHost navigation/loading of the main frame
/// and/or sub-frames:
/// - ICefFrameHandler.OnFrameCreated => A new main frame or sub-frame
/// object has been created. Any commands will be queued until the frame is attached.
/// - ICefFrameHandler.OnFrameAttached => A new main frame or sub-frame
/// object is now connected to its peer in the renderer process. Commands can be routed.
/// - ICefFrameHandler.OnFrameDetached => An existing main frame or sub-
/// frame object has lost its connection to the renderer process. If multiple
/// objects are detached at the same time then notifications will be sent for
/// any sub-frame objects before the main frame object. Commands can no longer
/// be routed and will be discarded.
/// - ICefFrameHandler.OnMainFrameChanged => A new main frame object has
/// been assigned to the browser. This will only occur with cross-origin navigation
/// or re-navigation after renderer process termination (due to crashes, etc).
///
/// (3) During final ICefBrowserHost destruction of the main frame:
/// - ICefFrameHandler.OnFrameDetached => Any sub-frame objects have lost
/// their connection to the renderer process. Commands can no longer be routed and
/// will be discarded.
/// - ICefLifeSpanHandler.OnBeforeClose => The browser has been destroyed.
/// - ICefFrameHandler.OnFrameDetached => The main frame object have lost
/// its connection to the renderer process. Notifications will be sent for any
/// sub-frame objects before the main frame object. Commands can no longer be
/// routed and will be discarded.
/// - ICefFrameHandler.OnMainFrameChanged => The final main frame object has
/// been removed from the browser.
///
/// Cross-origin navigation and/or loading receives special handling.
///
/// When the main frame navigates to a different origin the OnMainFrameChanged
/// callback (2) will be executed with the old and new main frame objects.
///
/// When a new sub-frame is loaded in, or an existing sub-frame is navigated to,
/// a different origin from the parent frame, a temporary sub-frame object will
/// first be created in the parent's renderer process. That temporary sub-frame
/// will then be discarded after the real cross-origin sub-frame is created in
/// the new/target renderer process. The client will receive cross-origin
/// navigation callbacks (2) for the transition from the temporary sub-frame to
/// the real sub-frame. The temporary sub-frame will not recieve or execute
/// commands during this transitional period (any sent commands will be
/// discarded).
///
/// When a new popup browser is created in a different origin from the parent
/// browser, a temporary main frame object for the popup will first be created
/// in the parent's renderer process. That temporary main frame will then be
/// discarded after the real cross-origin main frame is created in the
/// new/target renderer process. The client will recieve creation and initial
/// navigation callbacks (1) for the temporary main frame, followed by cross-
/// origin navigation callbacks (2) for the transition from the temporary main
/// frame to the real main frame. The temporary main frame may receive and
/// execute commands during this transitional period (any sent commands may be
/// executed, but the behavior is potentially undesirable since they execute in
/// the parent browser's renderer process and not the new/target renderer
/// process).
///
/// Callbacks will not be executed for placeholders that may be created during
/// pre-commit navigation for sub-frames that do not yet exist in the renderer
/// process. Placeholders will have ICefFrame.GetIdentifier() == -4.
///
/// The functions of this interface will be called on the UI thread unless
/// otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefFrameHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_frame_handler_capi.h">CEF source file: /include/capi/cef_frame_handler_capi.h (cef_frame_handler_t)</see></para>
/// </remarks>
2021-07-29 16:20:34 +02:00
TCefFrameHandler = record
base : TCefBaseRefCounted;
on_frame_created : procedure( self: PCefFrameHandler; browser: PCefBrowser; frame: PCefFrame) ; stdcall ;
2021-09-27 12:04:33 +02:00
on_frame_attached : procedure( self: PCefFrameHandler; browser: PCefBrowser; frame: PCefFrame; reattached: integer ) ; stdcall ;
2021-07-29 16:20:34 +02:00
on_frame_detached : procedure( self: PCefFrameHandler; browser: PCefBrowser; frame: PCefFrame) ; stdcall ;
on_main_frame_changed : procedure( self: PCefFrameHandler; browser: PCefBrowser; old_frame, new_frame: PCefFrame) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to receive accessibility notification when
/// accessibility events have been registered. The functions of this structure
/// will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefAccessibilityHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_accessibility_handler_capi.h">CEF source file: /include/capi/cef_accessibility_handler_capi.h (cef_accessibility_handler_t)</see></para>
/// </remarks>
2017-06-06 12:49:27 +02:00
TCefAccessibilityHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_accessibility_tree_change : procedure( self: PCefAccessibilityHandler; value: PCefValue) ; stdcall ;
on_accessibility_location_change : procedure( self: PCefAccessibilityHandler; value: PCefValue) ; stdcall ;
2017-06-06 12:49:27 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle context menu events. The functions of
/// this structure will be called on the UI thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefContextMenuHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_context_menu_handler_capi.h">CEF source file: /include/capi/cef_context_menu_handler_capi.h (cef_context_menu_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefContextMenuHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_before_context_menu : procedure( self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; params: PCefContextMenuParams; model: PCefMenuModel) ; stdcall ;
run_context_menu : function( self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; params: PCefContextMenuParams; model: PCefMenuModel; callback: PCefRunContextMenuCallback) : Integer ; stdcall ;
on_context_menu_command : function( self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; params: PCefContextMenuParams; command_id: Integer ; event_flags: TCefEventFlags) : Integer ; stdcall ;
on_context_menu_dismissed : procedure( self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame) ; stdcall ;
2022-08-06 12:00:28 +02:00
run_quick_menu : function( self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; location: PCefPoint; size: PCefSize; edit_state_flags: TCefQuickMenuEditStateFlags; callback: PCefRunQuickMenuCallback) : integer ; stdcall ;
on_quick_menu_command : function( self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame; command_id: integer ; event_flags: TCefEventFlags) : integer ; stdcall ;
on_quick_menu_dismissed : procedure( self: PCefContextMenuHandler; browser: PCefBrowser; frame: PCefFrame) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Callback structure used for continuation of custom quick menu display.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefRunQuickMenuCallback.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_context_menu_handler_capi.h">CEF source file: /include/capi/cef_context_menu_handler_capi.h (cef_run_quick_menu_callback_t)</see></para>
/// </remarks>
2022-08-06 12:00:28 +02:00
TCefRunQuickMenuCallback = record
base : TCefBaseRefCounted;
cont : procedure( self: PCefRunQuickMenuCallback; command_id: integer ; event_flags: TCefEventFlags) ; stdcall ;
cancel : procedure( self: PCefRunQuickMenuCallback) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to provide handler implementations.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefClient.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_client_capi.h">CEF source file: /include/capi/cef_client_capi.h (cef_client_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefClient = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2020-05-23 15:00:44 +02:00
get_audio_handler : function( self: PCefClient) : PCefAudioHandler; stdcall ;
2022-05-03 12:43:16 +02:00
get_command_handler : function( self: PCefClient) : PCefCommandHandler; stdcall ;
2018-03-29 20:02:04 +02:00
get_context_menu_handler : function( self: PCefClient) : PCefContextMenuHandler; stdcall ;
get_dialog_handler : function( self: PCefClient) : PCefDialogHandler; stdcall ;
get_display_handler : function( self: PCefClient) : PCefDisplayHandler; stdcall ;
get_download_handler : function( self: PCefClient) : PCefDownloadHandler; stdcall ;
get_drag_handler : function( self: PCefClient) : PCefDragHandler; stdcall ;
get_find_handler : function( self: PCefClient) : PCefFindHandler; stdcall ;
get_focus_handler : function( self: PCefClient) : PCefFocusHandler; stdcall ;
2021-07-29 16:20:34 +02:00
get_frame_handler : function( self: PCefClient) : PCefFrameHandler; stdcall ;
2022-08-06 12:00:28 +02:00
get_permission_handler : function( self: PCefClient) : PCefPermissionHandler; stdcall ;
2018-03-29 20:02:04 +02:00
get_jsdialog_handler : function( self: PCefClient) : PCefJsDialogHandler; stdcall ;
get_keyboard_handler : function( self: PCefClient) : PCefKeyboardHandler; stdcall ;
get_life_span_handler : function( self: PCefClient) : PCefLifeSpanHandler; stdcall ;
get_load_handler : function( self: PCefClient) : PCefLoadHandler; stdcall ;
2021-04-18 19:36:20 +02:00
get_print_handler : function( self: PCefClient) : PCefPrintHandler; stdcall ;
2018-03-29 20:02:04 +02:00
get_render_handler : function( self: PCefClient) : PCefRenderHandler; stdcall ;
get_request_handler : function( self: PCefClient) : PCefRequestHandler; stdcall ;
2019-11-20 11:45:46 +02:00
on_process_message_received : function( self: PCefClient; browser: PCefBrowser; frame: PCefFrame; source_process: TCefProcessId; message_: PCefProcessMessage) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent the browser process aspects of a browser. The
/// functions of this structure can only be called in the browser process. They
/// may be called on any thread in that process unless otherwise indicated in
/// the comments.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBrowserHost.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_browser_capi.h">CEF source file: /include/capi/cef_browser_capi.h (cef_browser_host_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefBrowserHost = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_browser : function( self: PCefBrowserHost) : PCefBrowser; stdcall ;
close_browser : procedure( self: PCefBrowserHost; force_close: Integer ) ; stdcall ;
try_close_browser : function( self: PCefBrowserHost) : Integer ; stdcall ;
set_focus : procedure( self: PCefBrowserHost; focus: Integer ) ; stdcall ;
get_window_handle : function( self: PCefBrowserHost) : TCefWindowHandle; stdcall ;
get_opener_window_handle : function( self: PCefBrowserHost) : TCefWindowHandle; stdcall ;
has_view : function( self: PCefBrowserHost) : Integer ; stdcall ;
get_client : function( self: PCefBrowserHost) : PCefClient; stdcall ;
get_request_context : function( self: PCefBrowserHost) : PCefRequestContext; stdcall ;
get_zoom_level : function( self: PCefBrowserHost) : Double ; stdcall ;
set_zoom_level : procedure( self: PCefBrowserHost; zoomLevel: Double ) ; stdcall ;
2022-05-26 13:08:20 +02:00
run_file_dialog : procedure( self: PCefBrowserHost; mode: TCefFileDialogMode; const title, default_file_path: PCefString; accept_filters: TCefStringList; callback: PCefRunFileDialogCallback) ; stdcall ;
2018-03-29 20:02:04 +02:00
start_download : procedure( self: PCefBrowserHost; const url: PCefString) ; stdcall ;
download_image : procedure( self: PCefBrowserHost; const image_url: PCefString; is_favicon: Integer ; max_image_size: Cardinal ; bypass_cache: Integer ; callback: PCefDownloadImageCallback) ; stdcall ;
print : procedure( self: PCefBrowserHost) ; stdcall ;
print_to_pdf : procedure( self: PCefBrowserHost; const path: PCefString; const settings: PCefPdfPrintSettings; callback: PCefPdfPrintCallback) ; stdcall ;
2022-03-03 12:16:30 +02:00
find : procedure( self: PCefBrowserHost; const searchText: PCefString; forward_, matchCase, findNext: Integer ) ; stdcall ;
2018-03-29 20:02:04 +02:00
stop_finding : procedure( self: PCefBrowserHost; clearSelection: Integer ) ; stdcall ;
show_dev_tools : procedure( self: PCefBrowserHost; const windowInfo: PCefWindowInfo; client: PCefClient; const settings: PCefBrowserSettings; const inspect_element_at: PCefPoint) ; stdcall ;
close_dev_tools : procedure( self: PCefBrowserHost) ; stdcall ;
has_dev_tools : function( self: PCefBrowserHost) : Integer ; stdcall ;
2020-06-21 21:27:55 +02:00
send_dev_tools_message : function( self: PCefBrowserHost; const message_: Pointer ; message_size: NativeUInt ) : Integer ; stdcall ;
execute_dev_tools_method : function( self: PCefBrowserHost; message_id: integer ; const method: PCefString; params: PCefDictionaryValue) : Integer ; stdcall ;
add_dev_tools_message_observer : function( self: PCefBrowserHost; observer: PCefDevToolsMessageObserver) : PCefRegistration; stdcall ;
2018-03-29 20:02:04 +02:00
get_navigation_entries : procedure( self: PCefBrowserHost; visitor: PCefNavigationEntryVisitor; current_only: Integer ) ; stdcall ;
replace_misspelling : procedure( self: PCefBrowserHost; const word : PCefString) ; stdcall ;
add_word_to_dictionary : procedure( self: PCefBrowserHost; const word : PCefString) ; stdcall ;
is_window_rendering_disabled : function( self: PCefBrowserHost) : Integer ; stdcall ;
was_resized : procedure( self: PCefBrowserHost) ; stdcall ;
was_hidden : procedure( self: PCefBrowserHost; hidden: Integer ) ; stdcall ;
notify_screen_info_changed : procedure( self: PCefBrowserHost) ; stdcall ;
2019-11-19 13:44:29 +02:00
invalidate : procedure( self: PCefBrowserHost; type_: TCefPaintElementType) ; stdcall ;
2018-12-12 18:13:23 +02:00
send_external_begin_frame : procedure( self: PCefBrowserHost) ; stdcall ;
2018-03-29 20:02:04 +02:00
send_key_event : procedure( self: PCefBrowserHost; const event: PCefKeyEvent) ; stdcall ;
2019-11-19 13:44:29 +02:00
send_mouse_click_event : procedure( self: PCefBrowserHost; const event: PCefMouseEvent; type_: TCefMouseButtonType; mouseUp, clickCount: Integer ) ; stdcall ;
2018-03-29 20:02:04 +02:00
send_mouse_move_event : procedure( self: PCefBrowserHost; const event: PCefMouseEvent; mouseLeave: Integer ) ; stdcall ;
send_mouse_wheel_event : procedure( self: PCefBrowserHost; const event: PCefMouseEvent; deltaX, deltaY: Integer ) ; stdcall ;
2019-03-15 18:17:14 +02:00
send_touch_event : procedure( self: PCefBrowserHost; const event: PCefTouchEvent) ; stdcall ;
2018-03-29 20:02:04 +02:00
send_capture_lost_event : procedure( self: PCefBrowserHost) ; stdcall ;
notify_move_or_resize_started : procedure( self: PCefBrowserHost) ; stdcall ;
get_windowless_frame_rate : function( self: PCefBrowserHost) : Integer ; stdcall ;
set_windowless_frame_rate : procedure( self: PCefBrowserHost; frame_rate: Integer ) ; stdcall ;
ime_set_composition : procedure( self: PCefBrowserHost; const text : PCefString; underlinesCount : NativeUInt ; const underlines : PCefCompositionUnderline; const replacement_range, selection_range : PCefRange) ; stdcall ;
ime_commit_text : procedure( self: PCefBrowserHost; const text : PCefString; const replacement_range : PCefRange; relative_cursor_pos : integer ) ; stdcall ;
ime_finish_composing_text : procedure( self: PCefBrowserHost; keep_selection : integer ) ; stdcall ;
ime_cancel_composition : procedure( self: PCefBrowserHost) ; stdcall ;
drag_target_drag_enter : procedure( self: PCefBrowserHost; drag_data: PCefDragData; const event: PCefMouseEvent; allowed_ops: TCefDragOperations) ; stdcall ;
drag_target_drag_over : procedure( self: PCefBrowserHost; const event: PCefMouseEvent; allowed_ops: TCefDragOperations) ; stdcall ;
drag_target_drag_leave : procedure( self: PCefBrowserHost) ; stdcall ;
2019-11-19 13:44:29 +02:00
drag_target_drop : procedure( self: PCefBrowserHost; const event: PCefMouseEvent) ; stdcall ;
2018-03-29 20:02:04 +02:00
drag_source_ended_at : procedure( self: PCefBrowserHost; x, y: Integer ; op: TCefDragOperation) ; stdcall ;
drag_source_system_drag_ended : procedure( self: PCefBrowserHost) ; stdcall ;
get_visible_navigation_entry : function( self: PCefBrowserHost) : PCefNavigationEntry; stdcall ;
set_accessibility_state : procedure( self: PCefBrowserHost; accessibility_state: TCefState) ; stdcall ;
set_auto_resize_enabled : procedure( self: PCefBrowserHost; enabled: integer ; const min_size, max_size: PCefSize) ; stdcall ;
get_extension : function( self: PCefBrowserHost) : PCefExtension; stdcall ;
is_background_host : function( self: PCefBrowserHost) : integer ; stdcall ;
2019-03-15 18:17:14 +02:00
set_audio_muted : procedure( self: PCefBrowserHost; mute: integer ) ; stdcall ;
is_audio_muted : function( self: PCefBrowserHost) : integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to represent a browser. When used in the browser process the
/// functions of this structure may be called on any thread unless otherwise
/// indicated in the comments. When used in the render process the functions of
/// this structure may only be called on the main thread.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBrowser.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_browser_capi.h">CEF source file: /include/capi/cef_browser_capi.h (cef_browser_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefBrowser = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2021-07-29 16:20:34 +02:00
is_valid : function( self: PCefBrowser) : Integer ; stdcall ;
2018-03-29 20:02:04 +02:00
get_host : function( self: PCefBrowser) : PCefBrowserHost; stdcall ;
can_go_back : function( self: PCefBrowser) : Integer ; stdcall ;
go_back : procedure( self: PCefBrowser) ; stdcall ;
can_go_forward : function( self: PCefBrowser) : Integer ; stdcall ;
go_forward : procedure( self: PCefBrowser) ; stdcall ;
is_loading : function( self: PCefBrowser) : Integer ; stdcall ;
reload : procedure( self: PCefBrowser) ; stdcall ;
reload_ignore_cache : procedure( self: PCefBrowser) ; stdcall ;
stop_load : procedure( self: PCefBrowser) ; stdcall ;
get_identifier : function( self: PCefBrowser) : Integer ; stdcall ;
is_same : function( self, that: PCefBrowser) : Integer ; stdcall ;
is_popup : function( self: PCefBrowser) : Integer ; stdcall ;
has_document : function( self: PCefBrowser) : Integer ; stdcall ;
get_main_frame : function( self: PCefBrowser) : PCefFrame; stdcall ;
get_focused_frame : function( self: PCefBrowser) : PCefFrame; stdcall ;
get_frame_byident : function( self: PCefBrowser; identifier: Int64 ) : PCefFrame; stdcall ;
get_frame : function( self: PCefBrowser; const name : PCefString) : PCefFrame; stdcall ;
get_frame_count : function( self: PCefBrowser) : NativeUInt ; stdcall ;
get_frame_identifiers : procedure( self: PCefBrowser; var identifiersCount: NativeUInt ; var identifiers: Int64 ) ; stdcall ;
get_frame_names : procedure( self: PCefBrowser; names: TCefStringList) ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to implement a custom resource bundle structure. See
/// TCefSettings for additional options related to resource bundle loading. The
/// functions of this structure may be called on multiple threads.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefResourceBundleHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_resource_bundle_handler_capi.h">CEF source file: /include/capi/cef_resource_bundle_handler_capi.h (cef_resource_bundle_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefResourceBundleHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_localized_string : function( self: PCefResourceBundleHandler; string_id: Integer ; string_val: PCefString) : Integer ; stdcall ;
get_data_resource : function( self: PCefResourceBundleHandler; resource_id: Integer ; var data: Pointer ; var data_size: NativeUInt ) : Integer ; stdcall ;
get_data_resource_for_scale : function( self: PCefResourceBundleHandler; resource_id: Integer ; scale_factor: TCefScaleFactor; var data: Pointer ; var data_size: NativeUInt ) : Integer ; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure used to implement browser process callbacks. The functions of this
/// structure will be called on the browser process main thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBrowserProcessHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_browser_process_handler_capi.h">CEF source file: /include/capi/cef_browser_process_handler_capi.h (cef_browser_process_handler_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefBrowserProcessHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
2022-12-16 12:29:15 +02:00
on_register_custom_preferences : procedure( self: PCefBrowserProcessHandler; type_: TCefPreferencesType; registrar: PCefPreferenceRegistrar) ; stdcall ;
2018-03-29 20:02:04 +02:00
on_context_initialized : procedure( self: PCefBrowserProcessHandler) ; stdcall ;
on_before_child_process_launch : procedure( self: PCefBrowserProcessHandler; command_line: PCefCommandLine) ; stdcall ;
on_schedule_message_pump_work : procedure( self: PCefBrowserProcessHandler; delay_ms: Int64 ) ; stdcall ;
2020-11-19 19:55:17 +02:00
get_default_client : function( self: PCefBrowserProcessHandler) : PCefClient; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to provide handler implementations. Methods will be
/// called by the process and/or thread indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefApp.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_app_capi.h">CEF source file: /include/capi/cef_app_capi.h (cef_app_t)</see></para>
/// </remarks>
2017-01-27 17:37:51 +02:00
TCefApp = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_before_command_line_processing : procedure( self: PCefApp; const process_type: PCefString; command_line: PCefCommandLine) ; stdcall ;
on_register_custom_schemes : procedure( self: PCefApp; registrar: PCefSchemeRegistrar) ; stdcall ;
get_resource_bundle_handler : function( self: PCefApp) : PCefResourceBundleHandler; stdcall ;
get_browser_process_handler : function( self: PCefApp) : PCefBrowserProcessHandler; stdcall ;
get_render_process_handler : function( self: PCefApp) : PCefRenderProcessHandler; stdcall ;
2017-01-27 17:37:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Structure 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 structure are safe to call from any thread
/// in the brower process unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefServer.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_server_capi.h">CEF source file: /include/capi/cef_server_capi.h (cef_server_t)</see></para>
/// </remarks>
2017-12-07 11:49:51 +02:00
TCefServer = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
get_task_runner : function( self: PCefServer) : PCefTaskRunner; stdcall ;
shutdown : procedure( self: PCefServer) ; stdcall ;
is_running : function( self: PCefServer) : Integer ; stdcall ;
get_address : function( self: PCefServer) : PCefStringUserFree; stdcall ;
has_connection : function( self: PCefServer) : Integer ; stdcall ;
is_valid_connection : function( self: PCefServer; connection_id: Integer ) : Integer ; stdcall ;
send_http200response : procedure( self: PCefServer; connection_id: Integer ; const content_type: PCefString; const data: Pointer ; data_size: NativeUInt ) ; stdcall ;
send_http404response : procedure( self: PCefServer; connection_id: Integer ) ; stdcall ;
send_http500response : procedure( self: PCefServer; connection_id: Integer ; const error_message: PCefString) ; stdcall ;
send_http_response : procedure( self: PCefServer; connection_id, response_code: Integer ; const content_type: PCefString; content_length: int64 ; extra_headers: TCefStringMultimap) ; stdcall ;
send_raw_data : procedure( self: PCefServer; connection_id: Integer ; const data: Pointer ; data_size: NativeUInt ) ; stdcall ;
close_connection : procedure( self: PCefServer; connection_id: Integer ) ; stdcall ;
send_web_socket_message : procedure( self: PCefServer; connection_id: Integer ; const data: Pointer ; data_size: NativeUInt ) ; stdcall ;
2017-12-07 11:49:51 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure 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 structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefServerHandler.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/cef_server_capi.h">CEF source file: /include/capi/cef_server_capi.h (cef_server_handler_t)</see></para>
/// </remarks>
2017-12-07 11:49:51 +02:00
TCefServerHandler = record
2018-03-29 20:02:04 +02:00
base : TCefBaseRefCounted;
on_server_created : procedure( self: PCefServerHandler; server: PCefServer) ; stdcall ;
on_server_destroyed : procedure( self: PCefServerHandler; server: PCefServer) ; stdcall ;
on_client_connected : procedure( self: PCefServerHandler; server: PCefServer; connection_id: Integer ) ; stdcall ;
on_client_disconnected : procedure( self: PCefServerHandler; server: PCefServer; connection_id: Integer ) ; stdcall ;
on_http_request : procedure( self: PCefServerHandler; server: PCefServer; connection_id: Integer ; const client_address: PCefString; request: PCefRequest) ; stdcall ;
on_web_socket_request : procedure( self: PCefServerHandler; server: PCefServer; connection_id: Integer ; const client_address: PCefString; request: PCefRequest; callback: PCefCallback) ; stdcall ;
on_web_socket_connected : procedure( self: PCefServerHandler; server: PCefServer; connection_id: Integer ) ; stdcall ;
on_web_socket_message : procedure( self: PCefServerHandler; server: PCefServer; connection_id: Integer ; const data: Pointer ; data_size: NativeUInt ) ; stdcall ;
2017-12-07 11:49:51 +02:00
end ;
2018-05-24 19:15:41 +02:00
2023-08-09 19:38:57 +02:00
{ *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * Views * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
( * ) Has CEF creation function
( d) Has delegate
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| TCefView ( d) | - - - - - - - > | TCefTextfield ( * d) |
- - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - - - - - - -
|
| - - - - - - - - - - - - - - - - - - - - - -
| - - - > | TCefScrollView ( * ) |
| - - - - - - - - - - - - - - - - - - - - - -
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| - - - > | TCefPanel ( * d) | - - - - - - - > | TCefWindow ( * d) |
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
| - - - - - - - - - - - - - - - - - - - - - - - -
| - - - > | TCefBrowserView ( * d) |
| - - - - - - - - - - - - - - - - - - - - - - - -
|
| - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| - - - > | TCefButton ( d) | - - - - - - - > | TCefLabelButton ( * ) | - - - - - - - > | TCefMenuButton ( * d) |
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| TCefLayout | - - - - - - - > | TCefBoxLayout |
- - - - - - - - - - - - - - | - - - - - - - - - - - - - - - - -
|
| - - - - - - - - - - - - - - - - - -
| - - - > | TCefFillLayout |
- - - - - - - - - - - - - - - - - -
* }
2023-07-30 18:47:35 +02:00
/// <summary>
/// This structure typically, but not always, corresponds to a physical display
/// connected to the system. A fake Display may exist on a headless system, or a
/// Display may correspond to a remote, virtual display. All size and position
/// values are in density independent pixel (DIP) coordinates unless otherwise
/// indicated. Methods must be called on the browser process UI thread unless
/// otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefDisplay.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_display_capi.h">CEF source file: /include/capi/views/cef_display_capi.h (cef_display_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefDisplay = record
base : TCefBaseRefCounted;
get_id : function( self: PCefDisplay) : int64 ; stdcall ;
get_device_scale_factor : function( self: PCefDisplay) : Single ; stdcall ;
convert_point_to_pixels : procedure( self: PCefDisplay; point: PCefPoint) ; stdcall ;
convert_point_from_pixels : procedure( self: PCefDisplay; point: PCefPoint) ; stdcall ;
get_bounds : function( self: PCefDisplay) : TCefRect; stdcall ;
get_work_area : function( self: PCefDisplay) : TCefRect; stdcall ;
get_rotation : function( self: PCefDisplay) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefLayout.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_layout_capi.h">CEF source file: /include/capi/views/cef_layout_capi.h (cef_layout_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefLayout = record
base : TCefBaseRefCounted;
as_box_layout : function( self: PCefLayout) : PCefBoxLayout; stdcall ;
as_fill_layout : function( self: PCefLayout) : PCefFillLayout; stdcall ;
is_valid : function( self: PCefLayout) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBoxLayout.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_box_layout_capi.h">CEF source file: /include/capi/views/cef_box_layout_capi.h (cef_box_layout_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefBoxLayout = record
base : TCefLayout;
set_flex_for_view : procedure( self: PCefBoxLayout; view: PCefView; flex: Integer ) ; stdcall ;
clear_flex_for_view : procedure( self: PCefBoxLayout; view: PCefView) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefFillLayout.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_fill_layout_capi.h">CEF source file: /include/capi/views/cef_fill_layout_capi.h (cef_fill_layout_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefFillLayout = record
base : TCefLayout;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefOverlayController.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_overlay_controller_capi.h">CEF source file: /include/capi/views/cef_overlay_controller_capi.h (cef_overlay_controller_t)</see></para>
/// </remarks>
2021-09-27 12:04:33 +02:00
TCefOverlayController = record
base : TCefBaseRefCounted;
is_valid : function( self: PCefOverlayController) : integer ; stdcall ;
is_same : function( self, that: PCefOverlayController) : integer ; stdcall ;
get_contents_view : function( self: PCefOverlayController) : PCefView; stdcall ;
get_window : function( self: PCefOverlayController) : PCefWindow; stdcall ;
get_docking_mode : function( self: PCefOverlayController) : TCefDockingMode; stdcall ;
destroy : procedure( self: PCefOverlayController) ; stdcall ;
set_bounds : procedure( self: PCefOverlayController; const bounds: PCefRect) ; stdcall ;
get_bounds : function( self: PCefOverlayController) : TCefRect; stdcall ;
get_bounds_in_screen : function( self: PCefOverlayController) : TCefRect; stdcall ;
set_size : procedure( self: PCefOverlayController; const size: PCefSize) ; stdcall ;
get_size : function( self: PCefOverlayController) : TCefSize; stdcall ;
set_position : procedure( self: PCefOverlayController; const position: PCefPoint) ; stdcall ;
get_position : function( self: PCefOverlayController) : TCefPoint; stdcall ;
set_insets : procedure( self: PCefOverlayController; const insets: PCefInsets) ; stdcall ;
get_insets : function( self: PCefOverlayController) : TCefInsets; stdcall ;
size_to_preferred_size : procedure( self: PCefOverlayController) ; stdcall ;
set_visible : procedure( self: PCefOverlayController; visible: integer ) ; stdcall ;
is_visible : function( self: PCefOverlayController) : integer ; stdcall ;
is_drawn : function( self: PCefOverlayController) : integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// A View is a rectangle within the views View hierarchy. It is the base
/// structure 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefView.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_view_capi.h">CEF source file: /include/capi/views/cef_view_capi.h (cef_view_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefView = record
base : TCefBaseRefCounted;
as_browser_view : function( self: PCefView) : PCefBrowserView; stdcall ;
as_button : function( self: PCefView) : PCefButton; stdcall ;
as_panel : function( self: PCefView) : PCefPanel; stdcall ;
as_scroll_view : function( self: PCefView) : PCefScrollView; stdcall ;
as_textfield : function( self: PCefView) : PCefTextfield; stdcall ;
get_type_string : function( self: PCefView) : PCefStringUserFree; stdcall ;
to_string : function( self: PCefView; include_children: Integer ) : PCefStringUserFree; stdcall ;
is_valid : function( self: PCefView) : Integer ; stdcall ;
is_attached : function( self: PCefView) : Integer ; stdcall ;
is_same : function( self, that: PCefView) : Integer ; stdcall ;
get_delegate : function( self: PCefView) : PCefViewDelegate; stdcall ;
get_window : function( self: PCefView) : PCefWindow; stdcall ;
get_id : function( self: PCefView) : Integer ; stdcall ;
set_id : procedure( self: PCefView; id: Integer ) ; stdcall ;
get_group_id : function( self: PCefView) : Integer ; stdcall ;
set_group_id : procedure( self: PCefView; group_id: Integer ) ; stdcall ;
get_parent_view : function( self: PCefView) : PCefView; stdcall ;
get_view_for_id : function( self: PCefView; id: Integer ) : PCefView; stdcall ;
set_bounds : procedure( self: PCefView; const bounds: PCefRect) ; stdcall ;
get_bounds : function( self: PCefView) : TCefRect; stdcall ;
get_bounds_in_screen : function( self: PCefView) : TCefRect; stdcall ;
set_size : procedure( self: PCefView; const size: PCefSize) ; stdcall ;
get_size : function( self: PCefView) : TCefSize; stdcall ;
set_position : procedure( self: PCefView; const position: PCefPoint) ; stdcall ;
get_position : function( self: PCefView) : TCefPoint; stdcall ;
2021-09-27 12:04:33 +02:00
set_insets : procedure( self: PCefView; const insets: PCefInsets) ; stdcall ;
get_insets : function( self: PCefView) : TCefInsets; stdcall ;
2018-05-24 19:15:41 +02:00
get_preferred_size : function( self: PCefView) : TCefSize; stdcall ;
size_to_preferred_size : procedure( self: PCefView) ; stdcall ;
get_minimum_size : function( self: PCefView) : TCefSize; stdcall ;
get_maximum_size : function( self: PCefView) : TCefSize; stdcall ;
get_height_for_width : function( self: PCefView; width: Integer ) : Integer ; stdcall ;
invalidate_layout : procedure( self: PCefView) ; stdcall ;
set_visible : procedure( self: PCefView; visible: Integer ) ; stdcall ;
is_visible : function( self: PCefView) : Integer ; stdcall ;
is_drawn : function( self: PCefView) : Integer ; stdcall ;
set_enabled : procedure( self: PCefView; enabled: Integer ) ; stdcall ;
is_enabled : function( self: PCefView) : Integer ; stdcall ;
set_focusable : procedure( self: PCefView; focusable: Integer ) ; stdcall ;
is_focusable : function( self: PCefView) : Integer ; stdcall ;
is_accessibility_focusable : function( self: PCefView) : Integer ; stdcall ;
request_focus : procedure( self: PCefView) ; stdcall ;
set_background_color : procedure( self: PCefView; color: TCefColor) ; stdcall ;
get_background_color : function( self: PCefView) : TCefColor; stdcall ;
convert_point_to_screen : function( self: PCefView; point: PCefPoint) : Integer ; stdcall ;
convert_point_from_screen : function( self: PCefView; point: PCefPoint) : Integer ; stdcall ;
convert_point_to_window : function( self: PCefView; point: PCefPoint) : Integer ; stdcall ;
convert_point_from_window : function( self: PCefView; point: PCefPoint) : Integer ; stdcall ;
convert_point_to_view : function( self, view: PCefView; point: PCefPoint) : Integer ; stdcall ;
convert_point_from_view : function( self, view: PCefView; point: PCefPoint) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle view events. All size and position values
/// are in density independent pixels (DIP) unless otherwise indicated. The
/// functions of this structure will be called on the browser process UI thread
/// unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefViewDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_view_delegate_capi.h">CEF source file: /include/capi/views/cef_view_delegate_capi.h (cef_view_delegate_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefViewDelegate = record
base : TCefBaseRefCounted;
get_preferred_size : function( self: PCefViewDelegate; view: PCefView) : TCefSize; stdcall ;
get_minimum_size : function( self: PCefViewDelegate; view: PCefView) : TCefSize; stdcall ;
get_maximum_size : function( self: PCefViewDelegate; view: PCefView) : TCefSize; stdcall ;
get_height_for_width : function( self: PCefViewDelegate; view: PCefView; width: Integer ) : Integer ; stdcall ;
on_parent_view_changed : procedure( self: PCefViewDelegate; view: PCefView; added: Integer ; parent: PCefView) ; stdcall ;
on_child_view_changed : procedure( self: PCefViewDelegate; view: PCefView; added: Integer ; child: PCefView) ; stdcall ;
2021-04-18 19:36:20 +02:00
on_window_changed : procedure( self: PCefViewDelegate; view: PCefView; added: Integer ) ; stdcall ;
2021-09-27 12:04:33 +02:00
on_layout_changed : procedure( self: PCefViewDelegate; view: PCefView; const new_bounds: PCefRect) ; stdcall ;
2018-05-24 19:15:41 +02:00
on_focus : procedure( self: PCefViewDelegate; view: PCefView) ; stdcall ;
on_blur : procedure( self: PCefViewDelegate; view: PCefView) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefTextfield.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_textfield_capi.h">CEF source file: /include/capi/views/cef_textfield_capi.h (cef_textfield_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefTextfield = record
base : TCefView;
set_password_input : procedure( self: PCefTextfield; password_input: Integer ) ; stdcall ;
is_password_input : function( self: PCefTextfield) : Integer ; stdcall ;
set_read_only : procedure( self: PCefTextfield; read_only: Integer ) ; stdcall ;
is_read_only : function( self: PCefTextfield) : Integer ; stdcall ;
get_text : function( self: PCefTextfield) : PCefStringUserFree; stdcall ;
set_text : procedure( self: PCefTextfield; const text : PCefString) ; stdcall ;
append_text : procedure( self: PCefTextfield; const text : PCefString) ; stdcall ;
insert_or_replace_text : procedure( self: PCefTextfield; const text : PCefString) ; stdcall ;
has_selection : function( self: PCefTextfield) : Integer ; stdcall ;
get_selected_text : function( self: PCefTextfield) : PCefStringUserFree; stdcall ;
select_all : procedure( self: PCefTextfield; reversed: Integer ) ; stdcall ;
clear_selection : procedure( self: PCefTextfield) ; stdcall ;
get_selected_range : function( self: PCefTextfield) : TCefRange; stdcall ;
select_range : procedure( self: PCefTextfield; const range: PCefRange) ; stdcall ;
get_cursor_position : function( self: PCefTextfield) : NativeUInt ; stdcall ;
set_text_color : procedure( self: PCefTextfield; color: TCefColor) ; stdcall ;
get_text_color : function( self: PCefTextfield) : TCefColor; stdcall ;
set_selection_text_color : procedure( self: PCefTextfield; color: TCefColor) ; stdcall ;
get_selection_text_color : function( self: PCefTextfield) : TCefColor; stdcall ;
set_selection_background_color : procedure( self: PCefTextfield; color: TCefColor) ; stdcall ;
get_selection_background_color : function( self: PCefTextfield) : TCefColor; stdcall ;
set_font_list : procedure( self: PCefTextfield; const font_list: PCefString) ; stdcall ;
apply_text_color : procedure( self: PCefTextfield; color: TCefColor; const range: PCefRange) ; stdcall ;
apply_text_style : procedure( self: PCefTextfield; style: TCefTextStyle; add: Integer ; const range: PCefRange) ; stdcall ;
2020-07-18 19:12:01 +02:00
is_command_enabled : function( self: PCefTextfield; command_id: TCefTextFieldCommands) : Integer ; stdcall ;
execute_command : procedure( self: PCefTextfield; command_id: TCefTextFieldCommands) ; stdcall ;
2018-05-24 19:15:41 +02:00
clear_edit_history : procedure( self: PCefTextfield) ; stdcall ;
set_placeholder_text : procedure( self: PCefTextfield; const text : PCefString) ; stdcall ;
get_placeholder_text : function( self: PCefTextfield) : PCefStringUserFree; stdcall ;
set_placeholder_text_color : procedure( self: PCefTextfield; color: TCefColor) ; stdcall ;
set_accessible_name : procedure( self: PCefTextfield; const name : PCefString) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle Textfield events. The functions of this
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefTextfieldDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_textfield_delegate_capi.h">CEF source file: /include/capi/views/cef_textfield_delegate_capi.h (cef_textfield_delegate_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefTextfieldDelegate = record
base : TCefViewDelegate;
on_key_event : function( self: PCefTextfieldDelegate; textfield: PCefTextfield; const event: PCefKeyEvent) : Integer ; stdcall ;
on_after_user_action : procedure( self: PCefTextfieldDelegate; textfield: PCefTextfield) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefScrollView.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_scroll_view_capi.h">CEF source file: /include/capi/views/cef_scroll_view_capi.h (cef_scroll_view_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefScrollView = record
base : TCefView;
set_content_view : procedure( self: PCefScrollView; view: PCefView) ; stdcall ;
get_content_view : function( self: PCefScrollView) : PCefView; stdcall ;
get_visible_content_rect : function( self: PCefScrollView) : TCefRect; stdcall ;
has_horizontal_scrollbar : function( self: PCefScrollView) : Integer ; stdcall ;
get_horizontal_scrollbar_height : function( self: PCefScrollView) : Integer ; stdcall ;
has_vertical_scrollbar : function( self: PCefScrollView) : Integer ; stdcall ;
get_vertical_scrollbar_width : function( self: PCefScrollView) : Integer ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPanel.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_panel_capi.h">CEF source file: /include/capi/views/cef_panel_capi.h (cef_panel_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefPanel = record
base : TCefView;
as_window : function( self: PCefPanel) : PCefWindow; stdcall ;
set_to_fill_layout : function( self: PCefPanel) : PCefFillLayout; stdcall ;
set_to_box_layout : function( self: PCefPanel; const settings: PCefBoxLayoutSettings) : PCefBoxLayout; stdcall ;
get_layout : function( self: PCefPanel) : PCefLayout; stdcall ;
layout : procedure( self: PCefPanel) ; stdcall ;
add_child_view : procedure( self: PCefPanel; view: PCefView) ; stdcall ;
add_child_view_at : procedure( self: PCefPanel; view: PCefView; index : Integer ) ; stdcall ;
reorder_child_view : procedure( self: PCefPanel; view: PCefView; index : Integer ) ; stdcall ;
remove_child_view : procedure( self: PCefPanel; view: PCefView) ; stdcall ;
remove_all_child_views : procedure( self: PCefPanel) ; stdcall ;
get_child_view_count : function( self: PCefPanel) : NativeUInt ; stdcall ;
get_child_view_at : function( self: PCefPanel; index : Integer ) : PCefView; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle Panel events. The functions of this
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefPanelDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_panel_delegate_capi.h">CEF source file: /include/capi/views/cef_panel_delegate_capi.h (cef_panel_delegate_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefPanelDelegate = record
base : TCefViewDelegate;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// A View hosting a ICefBrowser instance. Methods must be called on the
/// browser process UI thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBrowserView.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_browser_view_capi.h">CEF source file: /include/capi/views/cef_browser_view_capi.h (cef_browser_view_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefBrowserView = record
base : TCefView;
get_browser : function( self: PCefBrowserView) : PCefBrowser; stdcall ;
2021-04-18 19:36:20 +02:00
get_chrome_toolbar : function( self: PCefBrowserView) : PCefView; stdcall ;
2018-05-24 19:15:41 +02:00
set_prefer_accelerators : procedure( self: PCefBrowserView; prefer_accelerators: Integer ) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle BrowserView events. The functions of this
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefBrowserViewDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_browser_view_delegate_capi.h">CEF source file: /include/capi/views/cef_browser_view_delegate_capi.h (cef_browser_view_delegate_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefBrowserViewDelegate = record
base : TCefViewDelegate;
on_browser_created : procedure( self: PCefBrowserViewDelegate; browser_view: PCefBrowserView; browser: PCefBrowser) ; stdcall ;
on_browser_destroyed : procedure( self: PCefBrowserViewDelegate; browser_view: PCefBrowserView; browser: PCefBrowser) ; stdcall ;
get_delegate_for_popup_browser_view : function( self: PCefBrowserViewDelegate; browser_view: PCefBrowserView; const settings: PCefBrowserSettings; client: PCefClient; is_devtools: Integer ) : PCefBrowserViewDelegate; stdcall ;
on_popup_browser_view_created : function( self: PCefBrowserViewDelegate; browser_view, popup_browser_view: PCefBrowserView; is_devtools: Integer ) : Integer ; stdcall ;
2021-04-18 19:36:20 +02:00
get_chrome_toolbar_type : function( self: PCefBrowserViewDelegate) : TCefChromeToolbarType; stdcall ;
2023-05-29 17:20:32 +02:00
on_gesture_command : function( self: PCefBrowserViewDelegate; browser_view: PCefBrowserView; gesture_command: TCefGestureCommand) : Integer ; stdcall ;
2018-05-24 19:15:41 +02:00
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefButton.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_button_capi.h">CEF source file: /include/capi/views/cef_button_capi.h (cef_button_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefButton = record
base : TCefView;
as_label_button : function( self: PCefButton) : PCefLabelButton; stdcall ;
set_state : procedure( self: PCefButton; state: TCefButtonState) ; stdcall ;
get_state : function( self: PCefButton) : TCefButtonState; stdcall ;
set_ink_drop_enabled : procedure( self: PCefButton; enabled: Integer ) ; stdcall ;
set_tooltip_text : procedure( self: PCefButton; const tooltip_text: PCefString) ; stdcall ;
set_accessible_name : procedure( self: PCefButton; const name : PCefString) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle Button events. The functions of this
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefButtonDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_button_delegate_capi.h">CEF source file: /include/capi/views/cef_button_delegate_capi.h (cef_button_delegate_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefButtonDelegate = record
base : TCefViewDelegate;
on_button_pressed : procedure( self: PCefButtonDelegate; button: PCefButton) ; stdcall ;
on_button_state_changed : procedure( self: PCefButtonDelegate; button: PCefButton) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// LabelButton is a button with optional text and/or icon. Methods must be
/// called on the browser process UI thread unless otherwise indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefLabelButton.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_label_button_capi.h">CEF source file: /include/capi/views/cef_label_button_capi.h (cef_label_button_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefLabelButton = record
base : TCefButton;
2020-04-29 19:14:44 +02:00
as_menu_button : function( self: PCefLabelButton) : PCefMenuButton; stdcall ;
2018-05-24 19:15:41 +02:00
set_text : procedure( self: PCefLabelButton; const text : PCefString) ; stdcall ;
get_text : function( self: PCefLabelButton) : PCefStringUserFree; stdcall ;
set_image : procedure( self: PCefLabelButton; button_state: TCefButtonState; image: PCefImage) ; stdcall ;
get_image : function( self: PCefLabelButton; button_state: TCefButtonState) : PCefImage; stdcall ;
set_text_color : procedure( self: PCefLabelButton; for_state: TCefButtonState; color: TCefColor) ; stdcall ;
set_enabled_text_colors : procedure( self: PCefLabelButton; color: TCefColor) ; stdcall ;
set_font_list : procedure( self: PCefLabelButton; const font_list: PCefString) ; stdcall ;
set_horizontal_alignment : procedure( self: PCefLabelButton; alignment: TCefHorizontalAlignment) ; stdcall ;
set_minimum_size : procedure( self: PCefLabelButton; const size: PCefSize) ; stdcall ;
set_maximum_size : procedure( self: PCefLabelButton; const size: PCefSize) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMenuButton.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_menu_button_capi.h">CEF source file: /include/capi/views/cef_menu_button_capi.h (cef_menu_button_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefMenuButton = record
base : TCefLabelButton;
show_menu : procedure( self: PCefMenuButton; menu_model: PCefMenuModel; const screen_point: PCefPoint; anchor_position: TCefMenuAnchorPosition) ; stdcall ;
trigger_menu : procedure( self: PCefMenuButton) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// MenuButton pressed lock is released when this object is destroyed.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMenuButtonPressedLock.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_menu_button_delegate_capi.h">CEF source file: /include/capi/views/cef_menu_button_delegate_capi.h (cef_menu_button_pressed_lock_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefMenuButtonPressedLock = record
base : TCefBaseRefCounted;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle MenuButton events. The functions of this
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefMenuButtonDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_menu_button_delegate_capi.h">CEF source file: /include/capi/views/cef_menu_button_delegate_capi.h (cef_menu_button_delegate_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefMenuButtonDelegate = record
base : TCefButtonDelegate;
on_menu_button_pressed : procedure( self: PCefMenuButtonDelegate; menu_button: PCefMenuButton; const screen_point: PCefPoint; button_pressed_lock: PCefMenuButtonPressedLock) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// 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.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefWindow.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_window_capi.h">CEF source file: /include/capi/views/cef_window_capi.h (cef_window_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefWindow = record
base : TCefPanel;
show : procedure( self: PCefWindow) ; stdcall ;
2023-07-30 18:47:35 +02:00
show_as_browser_modal_dialog : procedure( self: PCefWindow; browser_view: PCefBrowserView) ; stdcall ;
2018-05-24 19:15:41 +02:00
hide : procedure( self: PCefWindow) ; stdcall ;
center_window : procedure( self: PCefWindow; const size: PCefSize) ; stdcall ;
close : procedure( self: PCefWindow) ; stdcall ;
is_closed : function( self: PCefWindow) : Integer ; stdcall ;
activate : procedure( self: PCefWindow) ; stdcall ;
deactivate : procedure( self: PCefWindow) ; stdcall ;
is_active : function( self: PCefWindow) : Integer ; stdcall ;
bring_to_top : procedure( self: PCefWindow) ; stdcall ;
set_always_on_top : procedure( self: PCefWindow; on_top: Integer ) ; stdcall ;
is_always_on_top : function( self: PCefWindow) : Integer ; stdcall ;
maximize : procedure( self: PCefWindow) ; stdcall ;
minimize : procedure( self: PCefWindow) ; stdcall ;
restore : procedure( self: PCefWindow) ; stdcall ;
set_fullscreen : procedure( self: PCefWindow; fullscreen: Integer ) ; stdcall ;
is_maximized : function( self: PCefWindow) : Integer ; stdcall ;
is_minimized : function( self: PCefWindow) : Integer ; stdcall ;
is_fullscreen : function( self: PCefWindow) : Integer ; stdcall ;
set_title : procedure( self: PCefWindow; const title: PCefString) ; stdcall ;
get_title : function( self: PCefWindow) : PCefStringUserFree; stdcall ;
set_window_icon : procedure( self: PCefWindow; image: PCefImage) ; stdcall ;
get_window_icon : function( self: PCefWindow) : PCefImage; stdcall ;
set_window_app_icon : procedure( self: PCefWindow; image: PCefImage) ; stdcall ;
get_window_app_icon : function( self: PCefWindow) : PCefImage; stdcall ;
2021-09-27 12:04:33 +02:00
add_overlay_view : function( self: PCefWindow; view: PCefView; docking_mode: TCefDockingMode) : PCefOverlayController; stdcall ;
2018-05-24 19:15:41 +02:00
show_menu : procedure( self: PCefWindow; menu_model: PCefMenuModel; const screen_point: PCefPoint; anchor_position : TCefMenuAnchorPosition) ; stdcall ;
cancel_menu : procedure( self: PCefWindow) ; stdcall ;
get_display : function( self: PCefWindow) : PCefDisplay; stdcall ;
get_client_area_bounds_in_screen : function( self: PCefWindow) : TCefRect; stdcall ;
2020-04-29 19:14:44 +02:00
set_draggable_regions : procedure( self: PCefWindow; regionsCount: NativeUInt ; const regions: PCefDraggableRegionArray) ; stdcall ;
2018-05-24 19:15:41 +02:00
get_window_handle : function( self: PCefWindow) : TCefWindowHandle; stdcall ;
2020-05-05 18:10:33 +02:00
send_key_press : procedure( self: PCefWindow; key_code: Integer ; event_flags: cardinal ) ; stdcall ;
2018-05-24 19:15:41 +02:00
send_mouse_move : procedure( self: PCefWindow; screen_x, screen_y: Integer ) ; stdcall ;
send_mouse_events : procedure( self: PCefWindow; button: TCefMouseButtonType; mouse_down, mouse_up: Integer ) ; stdcall ;
set_accelerator : procedure( self: PCefWindow; command_id, key_code, shift_pressed, ctrl_pressed, alt_pressed: Integer ) ; stdcall ;
remove_accelerator : procedure( self: PCefWindow; command_id: Integer ) ; stdcall ;
remove_all_accelerators : procedure( self: PCefWindow) ; stdcall ;
end ;
2023-07-30 18:47:35 +02:00
/// <summary>
/// Implement this structure to handle window events. The functions of this
/// structure will be called on the browser process UI thread unless otherwise
/// indicated.
/// </summary>
/// <remarks>
2023-08-09 19:38:57 +02:00
/// <para>Implemented by ICefWindowDelegate.</para>
2023-07-30 18:47:35 +02:00
/// <para><see href="https://bitbucket.org/chromiumembedded/cef/src/master/include/capi/views/cef_window_delegate_capi.h">CEF source file: /include/capi/views/cef_window_delegate_capi.h (cef_window_delegate_t)</see></para>
/// </remarks>
2018-05-24 19:15:41 +02:00
TCefWindowDelegate = record
base : TCefPanelDelegate;
on_window_created : procedure( self: PCefWindowDelegate; window: PCefWindow) ; stdcall ;
2022-12-16 12:29:15 +02:00
on_window_closing : procedure( self: PCefWindowDelegate; window: PCefWindow) ; stdcall ;
2018-05-24 19:15:41 +02:00
on_window_destroyed : procedure( self: PCefWindowDelegate; window: PCefWindow) ; stdcall ;
2022-05-26 13:08:20 +02:00
on_window_activation_changed : procedure( self: PCefWindowDelegate; window: PCefWindow; active: integer ) ; stdcall ;
2022-12-16 12:29:15 +02:00
on_window_bounds_changed : procedure( self: PCefWindowDelegate; window: PCefWindow; const new_bounds: PCefRect) ; stdcall ;
2018-05-24 19:15:41 +02:00
get_parent_window : function( self: PCefWindowDelegate; window: PCefWindow; is_menu, can_activate_menu: PInteger ) : PCefWindow; stdcall ;
2023-07-30 18:47:35 +02:00
is_window_modal_dialog : function( self: PCefWindowDelegate; window: PCefWindow) : Integer ; stdcall ;
2020-09-10 11:21:39 +02:00
get_initial_bounds : function( self: PCefWindowDelegate; window: PCefWindow) : TCefRect; stdcall ;
2021-09-27 12:04:33 +02:00
get_initial_show_state : function( self: PCefWindowDelegate; window: PCefWindow) : TCefShowState; stdcall ;
2018-05-24 19:15:41 +02:00
is_frameless : function( self: PCefWindowDelegate; window: PCefWindow) : Integer ; stdcall ;
2023-03-10 17:55:57 +02:00
with_standard_window_buttons : function( self: PCefWindowDelegate; window: PCefWindow) : Integer ; stdcall ;
get_titlebar_height : function( self: PCefWindowDelegate; window: PCefWindow; titlebar_height: PSingle ) : Integer ; stdcall ;
2018-05-24 19:15:41 +02:00
can_resize : function( self: PCefWindowDelegate; window: PCefWindow) : Integer ; stdcall ;
can_maximize : function( self: PCefWindowDelegate; window: PCefWindow) : Integer ; stdcall ;
can_minimize : function( self: PCefWindowDelegate; window: PCefWindow) : Integer ; stdcall ;
can_close : function( self: PCefWindowDelegate; window: PCefWindow) : Integer ; stdcall ;
on_accelerator : function( self: PCefWindowDelegate; window: PCefWindow; command_id: Integer ) : Integer ; stdcall ;
on_key_event : function( self: PCefWindowDelegate; window: PCefWindow; const event: PCefKeyEvent) : Integer ; stdcall ;
2023-04-21 16:05:10 +02:00
on_window_fullscreen_transition : procedure( self: PCefWindowDelegate; window: PCefWindow; is_completed: integer ) ; stdcall ;
2018-05-24 19:15:41 +02:00
end ;
2017-01-27 17:37:51 +02:00
implementation
end .
2023-08-09 19:38:57 +02:00