// ************************************************************************ // ***************************** CEF4Delphi ******************************* // ************************************************************************ // // CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based // browser in Delphi applications. // // The original license of DCEF3 still applies to CEF4Delphi. // // For more information about CEF4Delphi visit : // https://www.briskbard.com/index.php?lang=en&pageid=cef // // Copyright © 2018 Salvador Diaz Fau. All rights reserved. // // ************************************************************************ // ************ vvvv Original license and comments below vvvv ************* // ************************************************************************ (* * Delphi Chromium Embedded 3 * * Usage allowed under the restrictions of the Lesser GNU General Public License * or alternatively the restrictions of the Mozilla Public License 1.1 * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for * the specific language governing rights and limitations under the License. * * Unit owner : Henri Gourvest * Web site : http://www.progdigy.com * Repository : http://code.google.com/p/delphichromiumembedded/ * Group : http://groups.google.com/group/delphichromiumembedded * * Embarcadero Technologies, Inc is not permitted to use or redistribute * this source code without explicit permission. * *) unit uCEFInterfaces; {$IFDEF FPC} {$MODE OBJFPC}{$H+} {$ENDIF} {$IFNDEF CPUX64} {$ALIGN ON} {$MINENUMSIZE 4} {$ENDIF} {$I cef.inc} interface uses {$IFDEF DELPHI16_UP} {$IFDEF MSWINDOWS}WinApi.Windows,{$ENDIF} System.Classes, {$ELSE} {$IFDEF MSWINDOWS}Windows,{$ENDIF} Classes, {$ENDIF} uCEFTypes, uCEFSchemeRegistrar; type ICefBrowser = interface; ICefFrame = interface; ICefRequest = interface; ICefv8Value = interface; ICefV8Exception = interface; ICefV8StackTrace = interface; ICefDomVisitor = interface; ICefDomDocument = interface; ICefDomNode = interface; ICefv8Context = interface; ICefListValue = interface; ICefBinaryValue = interface; ICefDictionaryValue = interface; ICefClient = interface; ICefUrlrequestClient = interface; ICefBrowserHost = interface; ICefTask = interface; ICefTaskRunner = interface; ICefFileDialogCallback = interface; ICefPrintHandler = interface; ICefPrintDialogCallback = interface; ICefPrintJobCallback = interface; ICefRequestContext = interface; ICefAccessibilityHandler = interface; ICefDragData = interface; ICefNavigationEntry = interface; ICefSslInfo = interface; ICefSSLStatus = interface; ICefImage = interface; IChromiumEvents = interface; ICefThread = interface; ICefWaitableEvent = interface; ICefX509CertPrincipal = interface; ICefX509Certificate = interface; ICefSelectClientCertificateCallback = interface; ICefCommandLine = interface; ICefRequestHandler = interface; ICefResourceBundleHandler = interface; ICefBrowserProcessHandler = interface; ICefRenderProcessHandler = interface; ICefProcessMessage = interface; ICefLifeSpanHandler = interface; ICefGetExtensionResourceCallback = interface; ICefExtensionHandler = interface; ICefExtension = interface; ICefStreamReader = interface; ICefLoadHandler = interface; ICefServer = interface; ICefServerHandler = interface; ICefContextMenuParams = interface; ICefMenuModel = interface; ICefRunContextMenuCallback = interface; ICefDownloadItem = interface; ICefBeforeDownloadCallback = interface; ICefJsDialogCallback = interface; ICefDownloadItemCallback = interface; ICefRequestCallback = interface; ICefResourceHandler = interface; ICefResponse = interface; ICefResponseFilter = interface; ICefAuthCallback = interface; ICefCallback = interface; ICefDragHandler = interface; ICefFindHandler = interface; ICefCookieManager = interface; ICefWebPluginInfo = interface; ICefDisplay = interface; ICefLayout = interface; ICefBoxLayout = interface; ICefFillLayout = interface; ICefView = interface; ICefBrowserView = interface; ICefButton = interface; ICefPanel = interface; ICefScrollView = interface; ICefTextfield = interface; ICefViewDelegate = interface; ICefWindow = interface; ICefLabelButton = interface; ICefMenuButton = interface; TCefv8ValueArray = array of ICefv8Value; TCefX509CertificateArray = array of ICefX509Certificate; TCefBinaryValueArray = array of ICefBinaryValue; TCefFrameIdentifierArray = array of int64; // ******************************************* // ***************** Events ****************** // ******************************************* TOnRegisterCustomSchemesEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const registrar: TCefSchemeRegistrarRef) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnRenderThreadCreatedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const extraInfo: ICefListValue) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnWebKitInitializedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure() {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnBrowserCreatedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnBrowserDestroyedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnContextCreatedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnContextReleasedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnUncaughtExceptionEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context; const exception: ICefV8Exception; const stackTrace: ICefV8StackTrace) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnFocusedNodeChangedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; const frame: ICefFrame; const node: ICefDomNode) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnProcessMessageReceivedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser: ICefBrowser; sourceProcess: TCefProcessId; const message: ICefProcessMessage; var aHandled : boolean) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnContextInitializedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure() {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnBeforeChildProcessLaunchEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const commandLine: ICefCommandLine) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnRenderProcessThreadCreatedEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const extraInfo: ICefListValue) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnScheduleMessagePumpWorkEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const delayMs: Int64) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnGetDataResourceEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(resourceId: Integer; out data: Pointer; out dataSize: NativeUInt; var aResult : Boolean) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnGetLocalizedStringEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(stringId: Integer; out stringVal: ustring; var aResult : Boolean) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnGetDataResourceForScaleEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(resourceId: Integer; scaleFactor: TCefScaleFactor; out data: Pointer; out dataSize: NativeUInt; var aResult : Boolean) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; TOnCDMRegistrationCompleteEvent = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(result : TCefCDMRegistrationError; const error_message : ustring) {$IFNDEF DELPHI12_UP}of object{$ENDIF}; // ******************************************* // **** Callback procedures and functions **** // ******************************************* TCefEndTracingCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const tracingFile: ustring); TCefRegisterCDMProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(result: TCefCDMRegistrationError; const error_message: ustring); TCefRequestContextHandlerProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function: ICefCookieManager; TCefFastTaskProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(); TCefv8ArrayBufferReleaseCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(buffer : Pointer); TCefWebPluginInfoVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const info: ICefWebPluginInfo; count, total: Integer): Boolean; TCefWebPluginIsUnstableProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const path: ustring; unstable: Boolean); TCefV8AccessorGetterProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean; TCefV8AccessorSetterProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): Boolean; TCefV8InterceptorGetterByNameProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean; TCefV8InterceptorSetterByNameProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): Boolean; TCefV8InterceptorGetterByIndexProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(index: integer; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean; TCefV8InterceptorSetterByIndexProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(index: integer; const obj, value: ICefv8Value; const exception: ustring): Boolean; TOnPdfPrintFinishedProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const path: ustring; ok: Boolean); TCefDomVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const document: ICefDomDocument); TCefDomVisitorProc2 = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser : ICefBrowser; const document: ICefDomDocument); TCefStringVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const str: ustring); TCefRunFileDialogCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(selectedAcceptFilter: Integer; const filePaths: TStrings); TCefCompletionCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(); TCefSetCookieCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(success: Boolean); TCefDeleteCookiesCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(numDeleted: Integer); TCefNavigationEntryVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const entry: ICefNavigationEntry; current: Boolean; index, total: Integer): Boolean; TOnDownloadImageFinishedProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const imageUrl: ustring; httpStatusCode: Integer; const image: ICefImage); TCefCookieVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name, value, domain, path: ustring; secure, httponly, hasExpires: Boolean; const creation, lastAccess, expires: TDateTime; count, total: Integer; out deleteCookie: Boolean): Boolean; // ******************************************* // ************ Custom interfaces ************ // ******************************************* ICefStringList = interface ['{DB24F301-2F64-48D6-A72E-33697748147E}'] function GetHandle: TCefStringList; function GetSize: NativeUInt; function GetValue(Index: NativeUInt): ustring; procedure Append(const Value: ustring); procedure Clear; function Copy : TCefStringList; procedure CopyToStrings(const aStrings : TStrings); procedure AddStrings(const aStrings : TStrings); property Handle : TCefStringList read GetHandle; property Size : NativeUInt read GetSize; property Value[index: NativeUInt] : ustring read GetValue; end; ICefStringMap = interface ['{A33EBC01-B23A-4918-86A4-E24A243B342F}'] function GetHandle: TCefStringMap; function GetSize: NativeUInt; function Find(const Key: ustring): ustring; function GetKey(Index: NativeUInt): ustring; function GetValue(Index: NativeUInt): ustring; function Append(const Key, Value: ustring) : boolean; procedure Clear; property Handle : TCefStringMap read GetHandle; property Size : NativeUInt read GetSize; property Key[index: NativeUInt] : ustring read GetKey; property Value[index: NativeUInt] : ustring read GetValue; end; ICefStringMultimap = interface ['{583ED0C2-A9D6-4034-A7C9-20EC7E47F0C7}'] function GetHandle: TCefStringMultimap; function GetSize: NativeUInt; function FindCount(const Key: ustring): NativeUInt; function GetEnumerate(const Key: ustring; ValueIndex: NativeUInt): ustring; function GetKey(Index: NativeUInt): ustring; function GetValue(Index: NativeUInt): ustring; function Append(const Key, Value: ustring) : boolean; procedure Clear; property Handle : TCefStringMultimap read GetHandle; property Size : NativeUInt read GetSize; property Key[index: NativeUInt] : ustring read GetKey; property Value[index: NativeUInt] : ustring read GetValue; property Enumerate[const aKey: ustring; aValueIndex: NativeUInt] : ustring read GetEnumerate; end; IChromiumEvents = interface ['{0C139DB1-0349-4D7F-8155-76FEA6A0126D}'] procedure GetSettings(var settings: TCefBrowserSettings); // ICefClient function doOnProcessMessageReceived(const browser: ICefBrowser; sourceProcess: TCefProcessId; const message: ICefProcessMessage): Boolean; // ICefLoadHandler procedure doOnLoadingStateChange(const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean); procedure doOnLoadStart(const browser: ICefBrowser; const frame: ICefFrame; transitionType: TCefTransitionType); procedure doOnLoadEnd(const browser: ICefBrowser; const frame: ICefFrame; httpStatusCode: Integer); procedure doOnLoadError(const browser: ICefBrowser; const frame: ICefFrame; errorCode: TCefErrorCode; const errorText, failedUrl: ustring); // ICefFocusHandler procedure doOnTakeFocus(const browser: ICefBrowser; next: Boolean); function doOnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean; procedure doOnGotFocus(const browser: ICefBrowser); // ICefContextMenuHandler procedure doOnBeforeContextMenu(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel); function doRunContextMenu(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel; const callback: ICefRunContextMenuCallback): Boolean; function doOnContextMenuCommand(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; commandId: Integer; eventFlags: TCefEventFlags): Boolean; procedure doOnContextMenuDismissed(const browser: ICefBrowser; const frame: ICefFrame); // ICefKeyboardHandler function doOnPreKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out isKeyboardShortcut: Boolean): Boolean; function doOnKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle): Boolean; // ICefDisplayHandler procedure doOnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring); procedure doOnTitleChange(const browser: ICefBrowser; const title: ustring); procedure doOnFaviconUrlChange(const browser: ICefBrowser; const iconUrls: TStrings); procedure doOnFullScreenModeChange(const browser: ICefBrowser; fullscreen: Boolean); function doOnTooltip(const browser: ICefBrowser; var text: ustring): Boolean; procedure doOnStatusMessage(const browser: ICefBrowser; const value: ustring); function doOnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const message, source: ustring; line: Integer): Boolean; function doOnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; procedure doOnLoadingProgressChange(const browser: ICefBrowser; const progress: double); // ICefDownloadHandler procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); procedure doOnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); // ICefJsDialogHandler function doOnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; function doOnBeforeUnloadDialog(const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback): Boolean; procedure doOnResetDialogState(const browser: ICefBrowser); procedure doOnDialogClosed(const browser: ICefBrowser); // ICefLifeSpanHandler function doOnBeforePopup(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; var client: ICefClient; var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean): Boolean; procedure doOnAfterCreated(const browser: ICefBrowser); procedure doOnBeforeClose(const browser: ICefBrowser); function doOnClose(const browser: ICefBrowser): Boolean; // ICefRequestHandler function doOnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; function doOnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; function doOnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; function doOnGetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; procedure doOnResourceRedirect(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; var newUrl: ustring); function doOnResourceResponse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse): Boolean; function doOnGetResourceResponseFilter(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse): ICefResponseFilter; procedure doOnResourceLoadComplete(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; status: TCefUrlRequestStatus; receivedContentLength: Int64); function doOnGetAuthCredentials(const browser: ICefBrowser; const frame: ICefFrame; isProxy: Boolean; const host: ustring; port: Integer; const realm, scheme: ustring; const callback: ICefAuthCallback): Boolean; function doCanGetCookies(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): boolean; function doCanSetCookie(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const cookie : PCefCookie): boolean; function doOnQuotaRequest(const browser: ICefBrowser; const originUrl: ustring; newSize: Int64; const callback: ICefRequestCallback): Boolean; procedure doOnProtocolExecution(const browser: ICefBrowser; const url: ustring; out allowOsExecution: Boolean); function doOnCertificateError(const browser: ICefBrowser; certError: TCefErrorcode; const requestUrl: ustring; const sslInfo: ICefSslInfo; const callback: ICefRequestCallback): Boolean; function doOnSelectClientCertificate(const browser: ICefBrowser; isProxy: boolean; const host: ustring; port: integer; certificatesCount: NativeUInt; const certificates: TCefX509CertificateArray; const callback: ICefSelectClientCertificateCallback): boolean; procedure doOnPluginCrashed(const browser: ICefBrowser; const pluginPath: ustring); procedure doOnRenderViewReady(const browser: ICefBrowser); procedure doOnRenderProcessTerminated(const browser: ICefBrowser; status: TCefTerminationStatus); // ICefDialogHandler function doOnFileDialog(const browser: ICefBrowser; mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; selectedAcceptFilter: Integer; const callback: ICefFileDialogCallback): Boolean; // ICefRenderHandler procedure doOnGetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; function doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean); procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect); procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure doOnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; cursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); function doOnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); procedure doOnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); procedure doOnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); procedure doOnTextSelectionChanged(const browser: ICefBrowser; const selected_text: ustring; const selected_range: PCefRange); // ICefDragHandler function doOnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations): Boolean; procedure doOnDraggableRegionsChanged(const browser: ICefBrowser; regionsCount: NativeUInt; regions: PCefDraggableRegionArray); // ICefFindHandler procedure doOnFindResult(const browser: ICefBrowser; identifier, count: Integer; const selectionRect: PCefRect; activeMatchOrdinal: Integer; finalUpdate: Boolean); // Custom procedure doCookiesDeleted(numDeleted : integer); procedure doPdfPrintFinished(aResultOK : boolean); procedure doTextResultAvailable(const aText : ustring); procedure doUpdatePreferences(const aBrowser: ICefBrowser); procedure doUpdateOwnPreferences; function doSavePreferences : boolean; procedure doResolvedHostAvailable(result: TCefErrorCode; const resolvedIps: TStrings); end; IServerEvents = interface ['{06A1B3C6-0967-4F6C-A751-8AA3A29E2FF5}'] procedure doOnServerCreated(const server: ICefServer); procedure doOnServerDestroyed(const server: ICefServer); procedure doOnClientConnected(const server: ICefServer; connection_id: Integer); procedure doOnClientDisconnected(const server: ICefServer; connection_id: Integer); procedure doOnHttpRequest(const server: ICefServer; connection_id: Integer; const client_address: ustring; const request: ICefRequest); procedure doOnWebSocketRequest(const server: ICefServer; connection_id: Integer; const client_address: ustring; const request: ICefRequest; const callback: ICefCallback); procedure doOnWebSocketConnected(const server: ICefServer; connection_id: Integer); procedure doOnWebSocketMessage(const server: ICefServer; connection_id: Integer; const data: Pointer; data_size: NativeUInt); end; // ******************************************* // ************** CEF interfaces ************* // ******************************************* // TCefBaseRefCounted // /include/capi/cef_base_capi.h (cef_base_ref_counted_t) ICefBaseRefCounted = interface ['{1F9A7B44-DCDC-4477-9180-3ADD44BDEB7B}'] function Wrap: Pointer; function SameAs(aData : Pointer) : boolean; end; // TCefRunFileDialogCallback // /include/capi/cef_browser_capi.h (cef_run_file_dialog_callback_t) ICefRunFileDialogCallback = interface(ICefBaseRefCounted) ['{59FCECC6-E897-45BA-873B-F09586C4BE47}'] procedure OnFileDialogDismissed(selectedAcceptFilter: Integer; const filePaths: TStrings); end; // TCefNavigationEntryVisitor // /include/capi/cef_browser_capi.h (cef_navigation_entry_visitor_t) ICefNavigationEntryVisitor = interface(ICefBaseRefCounted) ['{CC4D6BC9-0168-4C2C-98BA-45E9AA9CD619}'] function Visit(const entry: ICefNavigationEntry; current: Boolean; index, total: Integer): Boolean; end; // TCefPdfPrintCallback // /include/capi/cef_browser_capi.h (cef_pdf_print_callback_t) ICefPdfPrintCallback = interface(ICefBaseRefCounted) ['{F1CC58E9-2C30-4932-91AE-467C8D8EFB8E}'] procedure OnPdfPrintFinished(const path: ustring; ok: Boolean); end; // TCefDownloadImageCallback // /include/capi/cef_browser_capi.h (cef_download_image_callback_t) ICefDownloadImageCallback = interface(ICefBaseRefCounted) ['{0C6E9032-27DF-4584-95C6-DC3C7CB63727}'] procedure OnDownloadImageFinished(const imageUrl: ustring; httpStatusCode: Integer; const image: ICefImage); end; // TCefBrowserHost // /include/capi/cef_browser_capi.h (cef_browser_host_t) ICefBrowserHost = interface(ICefBaseRefCounted) ['{53AE02FF-EF5D-48C3-A43E-069DA9535424}'] function GetBrowser: ICefBrowser; procedure CloseBrowser(forceClose: Boolean); function TryCloseBrowser: Boolean; procedure SetFocus(focus: Boolean); function GetWindowHandle: TCefWindowHandle; function GetOpenerWindowHandle: TCefWindowHandle; function HasView: Boolean; function GetRequestContext: ICefRequestContext; function GetZoomLevel: Double; procedure SetZoomLevel(const zoomLevel: Double); procedure RunFileDialog(mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; selectedAcceptFilter: Integer; const callback: ICefRunFileDialogCallback); procedure RunFileDialogProc(mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; selectedAcceptFilter: Integer; const callback: TCefRunFileDialogCallbackProc); procedure StartDownload(const url: ustring); procedure DownloadImage(const imageUrl: ustring; isFavicon: Boolean; maxImageSize: cardinal; bypassCache: Boolean; const callback: ICefDownloadImageCallback); procedure Print; procedure PrintToPdf(const path: ustring; settings: PCefPdfPrintSettings; const callback: ICefPdfPrintCallback); procedure PrintToPdfProc(const path: ustring; settings: PCefPdfPrintSettings; const callback: TOnPdfPrintFinishedProc); procedure Find(identifier: Integer; const searchText: ustring; forward, matchCase, findNext: Boolean); procedure StopFinding(clearSelection: Boolean); procedure ShowDevTools(const windowInfo: PCefWindowInfo; const client: ICefClient; const settings: PCefBrowserSettings; inspectElementAt: PCefPoint); procedure CloseDevTools; function HasDevTools: Boolean; procedure GetNavigationEntries(const visitor: ICefNavigationEntryVisitor; currentOnly: Boolean); procedure GetNavigationEntriesProc(const proc: TCefNavigationEntryVisitorProc; currentOnly: Boolean); procedure SetMouseCursorChangeDisabled(disabled: Boolean); function IsMouseCursorChangeDisabled: Boolean; procedure ReplaceMisspelling(const word: ustring); procedure AddWordToDictionary(const word: ustring); function IsWindowRenderingDisabled: Boolean; procedure WasResized; procedure WasHidden(hidden: Boolean); procedure NotifyScreenInfoChanged; procedure Invalidate(kind: TCefPaintElementType); procedure SendKeyEvent(const event: PCefKeyEvent); procedure SendMouseClickEvent(const event: PCefMouseEvent; kind: TCefMouseButtonType; mouseUp: Boolean; clickCount: Integer); procedure SendMouseMoveEvent(const event: PCefMouseEvent; mouseLeave: Boolean); procedure SendMouseWheelEvent(const event: PCefMouseEvent; deltaX, deltaY: Integer); procedure SendFocusEvent(aSetFocus: Boolean); procedure SendCaptureLostEvent; procedure NotifyMoveOrResizeStarted; function GetWindowlessFrameRate : Integer; procedure SetWindowlessFrameRate(frameRate: Integer); procedure IMESetComposition(const text: ustring; underlinesCount : NativeUInt; const underlines : PCefCompositionUnderline; const replacement_range, selection_range : PCefRange); procedure IMECommitText(const text: ustring; const replacement_range : PCefRange; relative_cursor_pos : integer); procedure IMEFinishComposingText(keep_selection : boolean); procedure IMECancelComposition; procedure DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations); procedure DragTargetDragOver(const event: PCefMouseEvent; allowedOps: TCefDragOperations); procedure DragTargetDragLeave; procedure DragTargetDrop(event: PCefMouseEvent); procedure DragSourceEndedAt(x, y: Integer; op: TCefDragOperation); procedure DragSourceSystemDragEnded; function GetVisibleNavigationEntry : ICefNavigationEntry; procedure SetAccessibilityState(accessibilityState: TCefState); procedure SetAutoResizeEnabled(enabled: boolean; const min_size, max_size: PCefSize); function GetExtension : ICefExtension; function IsBackgroundHost : boolean; property Browser : ICefBrowser read GetBrowser; property WindowHandle : TCefWindowHandle read GetWindowHandle; property OpenerWindowHandle : TCefWindowHandle read GetOpenerWindowHandle; property ZoomLevel : Double read GetZoomLevel write SetZoomLevel; property RequestContext : ICefRequestContext read GetRequestContext; property VisibleNavigationEntry : ICefNavigationEntry read GetVisibleNavigationEntry; end; // TCefProcessMessage // /include/capi/cef_process_message_capi.h (cef_process_message_t) ICefProcessMessage = interface(ICefBaseRefCounted) ['{E0B1001A-8777-425A-869B-29D40B8B93B1}'] function IsValid: Boolean; function IsReadOnly: Boolean; function Copy: ICefProcessMessage; function GetName: ustring; function GetArgumentList: ICefListValue; property Name: ustring read GetName; property ArgumentList: ICefListValue read GetArgumentList; end; // TCefBrowser // /include/capi/cef_browser_capi.h (cef_browser_t) ICefBrowser = interface(ICefBaseRefCounted) ['{BA003C2E-CF15-458F-9D4A-FE3CEFCF3EEF}'] function GetHost: ICefBrowserHost; function CanGoBack: Boolean; procedure GoBack; function CanGoForward: Boolean; procedure GoForward; function IsLoading: Boolean; procedure Reload; procedure ReloadIgnoreCache; procedure StopLoad; function GetIdentifier: Integer; function IsSame(const that: ICefBrowser): Boolean; function IsPopup: Boolean; function HasDocument: Boolean; function GetMainFrame: ICefFrame; function GetFocusedFrame: ICefFrame; function GetFrameByident(const identifier: Int64): ICefFrame; function GetFrame(const name: ustring): ICefFrame; function GetFrameCount: NativeUInt; function GetFrameIdentifiers(var aFrameCount : NativeUInt; var aFrameIdentifierArray : TCefFrameIdentifierArray) : boolean; function GetFrameNames(var aFrameNames : TStrings) : boolean; function SendProcessMessage(targetProcess: TCefProcessId; const ProcMessage: ICefProcessMessage): Boolean; property MainFrame : ICefFrame read GetMainFrame; property FocusedFrame : ICefFrame read GetFocusedFrame; property FrameCount : NativeUInt read GetFrameCount; property Host : ICefBrowserHost read GetHost; property Identifier : Integer read GetIdentifier; end; // TCefPostDataElement // /include/capi/cef_request_capi.h (cef_post_data_element_t) ICefPostDataElement = interface(ICefBaseRefCounted) ['{3353D1B8-0300-4ADC-8D74-4FF31C77D13C}'] function IsReadOnly: Boolean; procedure SetToEmpty; procedure SetToFile(const fileName: ustring); procedure SetToBytes(size: NativeUInt; const bytes: Pointer); function GetType: TCefPostDataElementType; function GetFile: ustring; function GetBytesCount: NativeUInt; function GetBytes(size: NativeUInt; bytes: Pointer): NativeUInt; end; // TCefPostData // /include/capi/cef_request_capi.h (cef_post_data_t) ICefPostData = interface(ICefBaseRefCounted) ['{1E677630-9339-4732-BB99-D6FE4DE4AEC0}'] function IsReadOnly: Boolean; function HasExcludedElements: Boolean; function GetCount: NativeUInt; function GetElements(Count: NativeUInt): IInterfaceList; // list of ICefPostDataElement function RemoveElement(const element: ICefPostDataElement): Integer; function AddElement(const element: ICefPostDataElement): Integer; procedure RemoveElements; end; // TCefRequest // /include/capi/cef_request_capi.h (cef_request_t) ICefRequest = interface(ICefBaseRefCounted) ['{FB4718D3-7D13-4979-9F4C-D7F6C0EC592A}'] function IsReadOnly: Boolean; function GetUrl: ustring; function GetMethod: ustring; function GetPostData: ICefPostData; procedure GetHeaderMap(const HeaderMap: ICefStringMultimap); procedure SetUrl(const value: ustring); procedure SetMethod(const value: ustring); procedure SetReferrer(const referrerUrl: ustring; policy: TCefReferrerPolicy); function GetReferrerUrl: ustring; function GetReferrerPolicy: TCefReferrerPolicy; procedure SetPostData(const value: ICefPostData); procedure SetHeaderMap(const HeaderMap: ICefStringMultimap); function GetFlags: TCefUrlRequestFlags; procedure SetFlags(flags: TCefUrlRequestFlags); function GetFirstPartyForCookies: ustring; procedure SetFirstPartyForCookies(const url: ustring); procedure Assign(const url, method: ustring; const postData: ICefPostData; const headerMap: ICefStringMultimap); function GetResourceType: TCefResourceType; function GetTransitionType: TCefTransitionType; function GetIdentifier: UInt64; property Url : ustring read GetUrl write SetUrl; property Method : ustring read GetMethod write SetMethod; property ReferrerUrl : ustring read GetReferrerUrl; property ReferrerPolicy : TCefReferrerPolicy read GetReferrerPolicy; property PostData : ICefPostData read GetPostData write SetPostData; property Flags : TCefUrlRequestFlags read GetFlags write SetFlags; property FirstPartyForCookies : ustring read GetFirstPartyForCookies write SetFirstPartyForCookies; property ResourceType : TCefResourceType read GetResourceType; property TransitionType : TCefTransitionType read GetTransitionType; property Identifier : UInt64 read GetIdentifier; end; // TCefStringVisitor // /include/capi/cef_string_visitor_capi.h (cef_string_visitor_t) ICefStringVisitor = interface(ICefBaseRefCounted) ['{63ED4D6C-2FC8-4537-964B-B84C008F6158}'] procedure Visit(const str: ustring); end; // TCefFrame // /include/capi/cef_frame_capi.h (cef_frame_t) ICefFrame = interface(ICefBaseRefCounted) ['{8FD3D3A6-EA3A-4A72-8501-0276BD5C3D1D}'] function IsValid: Boolean; procedure Undo; procedure Redo; procedure Cut; procedure Copy; procedure Paste; procedure Del; procedure SelectAll; procedure ViewSource; procedure GetSource(const visitor: ICefStringVisitor); procedure GetSourceProc(const proc: TCefStringVisitorProc); procedure GetText(const visitor: ICefStringVisitor); procedure GetTextProc(const proc: TCefStringVisitorProc); procedure LoadRequest(const request: ICefRequest); procedure LoadUrl(const url: ustring); procedure LoadString(const str, url: ustring); procedure ExecuteJavaScript(const code, scriptUrl: ustring; startLine: Integer); function IsMain: Boolean; function IsFocused: Boolean; function GetName: ustring; function GetIdentifier: Int64; function GetParent: ICefFrame; function GetUrl: ustring; function GetBrowser: ICefBrowser; function GetV8Context: ICefv8Context; procedure VisitDom(const visitor: ICefDomVisitor); procedure VisitDomProc(const proc: TCefDomVisitorProc); property Name : ustring read GetName; property Url : ustring read GetUrl; property Browser : ICefBrowser read GetBrowser; property Parent : ICefFrame read GetParent; property Identifier : int64 read GetIdentifier; end; // TCefStreamReader // /include/capi/cef_stream_capi.h (cef_stream_reader_t) ICefCustomStreamReader = interface(ICefBaseRefCounted) ['{BBCFF23A-6FE7-4C28-B13E-6D2ACA5C83B7}'] function Read(ptr: Pointer; size, n: NativeUInt): NativeUInt; function Seek(offset: Int64; whence: Integer): Integer; function Tell: Int64; function Eof: Boolean; function MayBlock: Boolean; end; // TCefStreamReader // /include/capi/cef_stream_capi.h (cef_stream_reader_t) ICefStreamReader = interface(ICefBaseRefCounted) ['{DD5361CB-E558-49C5-A4BD-D1CE84ADB277}'] function Read(ptr: Pointer; size, n: NativeUInt): NativeUInt; function Seek(offset: Int64; whence: Integer): Integer; function Tell: Int64; function Eof: Boolean; function MayBlock: Boolean; end; // TCefWriteHandler // /include/capi/cef_stream_capi.h (cef_write_handler_t) ICefWriteHandler = interface(ICefBaseRefCounted) ['{F2431888-4EAB-421E-9EC3-320BE695AF30}'] function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; function Seek(offset: Int64; whence: Integer): Integer; function Tell: Int64; function Flush: Integer; function MayBlock: Boolean; end; // TCefStreamWriter // /include/capi/cef_stream_capi.h (cef_stream_writer_t) ICefStreamWriter = interface(ICefBaseRefCounted) ['{4AA6C477-7D8A-4D5A-A704-67F900A827E7}'] function Write(const ptr: Pointer; size, n: NativeUInt): NativeUInt; function Seek(offset: Int64; whence: Integer): Integer; function Tell: Int64; function Flush: Integer; function MayBlock: Boolean; end; // TCefResponse // /include/capi/cef_response_capi.h (cef_response_t) ICefResponse = interface(ICefBaseRefCounted) ['{E9C896E4-59A8-4B96-AB5E-6EA3A498B7F1}'] function IsReadOnly: Boolean; function GetError: TCefErrorCode; procedure SetError(error: TCefErrorCode); function GetStatus: Integer; procedure SetStatus(status: Integer); function GetStatusText: ustring; procedure SetStatusText(const StatusText: ustring); function GetMimeType: ustring; procedure SetMimeType(const mimetype: ustring); function GetHeader(const name: ustring): ustring; procedure GetHeaderMap(const headerMap: ICefStringMultimap); procedure SetHeaderMap(const headerMap: ICefStringMultimap); function GetURL: ustring; procedure SetURL(const url: ustring); property Status : Integer read GetStatus write SetStatus; property StatusText : ustring read GetStatusText write SetStatusText; property MimeType : ustring read GetMimeType write SetMimeType; property Error : TCefErrorCode read GetError write SetError; property URL : ustring read GetURL write SetURL; end; // TCefDownloadItem // /include/capi/cef_download_item_capi.h (cef_download_item_t) ICefDownloadItem = interface(ICefBaseRefCounted) ['{B34BD320-A82E-4185-8E84-B98E5EEC803F}'] function IsValid: Boolean; function IsInProgress: Boolean; function IsComplete: Boolean; function IsCanceled: Boolean; function GetCurrentSpeed: Int64; function GetPercentComplete: Integer; function GetTotalBytes: Int64; function GetReceivedBytes: Int64; function GetStartTime: TDateTime; function GetEndTime: TDateTime; function GetFullPath: ustring; function GetId: Cardinal; function GetUrl: ustring; function GetOriginalUrl: ustring; function GetSuggestedFileName: ustring; function GetContentDisposition: ustring; function GetMimeType: ustring; property CurrentSpeed : Int64 read GetCurrentSpeed; property PercentComplete : Integer read GetPercentComplete; property TotalBytes : Int64 read GetTotalBytes; property ReceivedBytes : Int64 read GetReceivedBytes; property StartTime : TDateTime read GetStartTime; property EndTime : TDateTime read GetEndTime; property FullPath : ustring read GetFullPath; property Id : Cardinal read GetId; property Url : ustring read GetUrl; property OriginalUrl : ustring read GetOriginalUrl; property SuggestedFileName : ustring read GetSuggestedFileName; property ContentDisposition : ustring read GetContentDisposition; property MimeType : ustring read GetMimeType; end; // TCefBeforeDownloadCallback // /include/capi/cef_download_handler_capi.h (cef_before_download_callback_t) ICefBeforeDownloadCallback = interface(ICefBaseRefCounted) ['{5A81AF75-CBA2-444D-AD8E-522160F36433}'] procedure Cont(const downloadPath: ustring; showDialog: Boolean); end; // TCefDownloadItemCallback // /include/capi/cef_download_handler_capi.h (cef_download_item_callback_t) ICefDownloadItemCallback = interface(ICefBaseRefCounted) ['{498F103F-BE64-4D5F-86B7-B37EC69E1735}'] procedure Cancel; procedure Pause; procedure Resume; end; // TCefDownloadHandler // /include/capi/cef_download_handler_capi.h (cef_download_handler_t) ICefDownloadHandler = interface(ICefBaseRefCounted) ['{3137F90A-5DC5-43C1-858D-A269F28EF4F1}'] procedure OnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); procedure OnDownloadUpdated(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback); procedure RemoveReferences; // custom procedure to clear all references end; // TCefV8Exception // /include/capi/cef_v8_capi.h (cef_v8exception_t) ICefV8Exception = interface(ICefBaseRefCounted) ['{7E422CF0-05AC-4A60-A029-F45105DCE6A4}'] function GetMessage: ustring; function GetSourceLine: ustring; function GetScriptResourceName: ustring; function GetLineNumber: Integer; function GetStartPosition: Integer; function GetEndPosition: Integer; function GetStartColumn: Integer; function GetEndColumn: Integer; property Message : ustring read GetMessage; property SourceLine : ustring read GetSourceLine; property ScriptResourceName : ustring read GetScriptResourceName; property LineNumber : Integer read GetLineNumber; property StartPosition : Integer read GetStartPosition; property EndPosition : Integer read GetEndPosition; property StartColumn : Integer read GetStartColumn; property EndColumn : Integer read GetEndColumn; end; // TCefv8ArrayBufferReleaseCallback // /include/capi/cef_v8_capi.h (cef_v8array_buffer_release_callback_t) ICefv8ArrayBufferReleaseCallback = interface(ICefBaseRefCounted) ['{4EAAB422-D046-43DF-B1F0-5503116A5816}'] procedure ReleaseBuffer(buffer : Pointer); end; // TCefV8Context // /include/capi/cef_v8_capi.h (cef_v8context_t) ICefv8Context = interface(ICefBaseRefCounted) ['{2295A11A-8773-41F2-AD42-308C215062D9}'] function GetTaskRunner: ICefTaskRunner; function IsValid: Boolean; function GetBrowser: ICefBrowser; function GetFrame: ICefFrame; function GetGlobal: ICefv8Value; function Enter: Boolean; function Exit: Boolean; function IsSame(const that: ICefv8Context): Boolean; function Eval(const code: ustring; const script_url: ustring; start_line: integer; var retval: ICefv8Value; var exception: ICefV8Exception): Boolean; property Browser : ICefBrowser read GetBrowser; property Frame : ICefFrame read GetFrame; property Global : ICefv8Value read GetGlobal; end; // TCefv8Handler // /include/capi/cef_v8_capi.h (cef_v8handler_t) ICefv8Handler = interface(ICefBaseRefCounted) ['{F94CDC60-FDCB-422D-96D5-D2A775BD5D73}'] function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; end; // TCefV8Interceptor // /include/capi/cef_v8_capi.h (cef_v8interceptor_t) ICefV8Interceptor = interface(ICefBaseRefCounted) ['{B3B8FD7C-A916-4B25-93A2-2892AC324F21}'] function GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; function GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; function SetByName(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): boolean; function SetByIndex(index: integer; const obj, value: ICefv8Value; const exception: ustring): boolean; end; // TCefV8Accessor // /include/capi/cef_v8_capi.h (cef_v8accessor_t) ICefV8Accessor = interface(ICefBaseRefCounted) ['{DCA6D4A2-726A-4E24-AA64-5E8C731D868A}'] function Get(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; var exception: ustring): Boolean; function Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean; end; // TCefTask // /include/capi/cef_task_capi.h (cef_task_t) ICefTask = interface(ICefBaseRefCounted) ['{0D965470-4A86-47CE-BD39-A8770021AD7E}'] procedure Execute; end; // TCefTaskRunner // /include/capi/cef_task_capi.h (cef_task_runner_t) ICefTaskRunner = interface(ICefBaseRefCounted) ['{6A500FA3-77B7-4418-8EA8-6337EED1337B}'] function IsSame(const that: ICefTaskRunner): Boolean; function BelongsToCurrentThread: Boolean; function BelongsToThread(threadId: TCefThreadId): Boolean; function PostTask(const task: ICefTask): Boolean; function PostDelayedTask(const task: ICefTask; delayMs: Int64): Boolean; end; // TCefThread // /include/capi/cef_thread_capi.h (cef_thread_t) ICefThread = interface(ICefBaseRefCounted) ['{26B30EA5-F44A-4C40-97DF-67FD9E73A4FF}'] function GetTaskRunner : ICefTaskRunner; function GetPlatformThreadID : TCefPlatformThreadId; procedure Stop; function IsRunning : boolean; end; // TCefWaitableEvent // /include/capi/cef_waitable_event_capi.h (cef_waitable_event_t) ICefWaitableEvent = interface(ICefBaseRefCounted) ['{965C90C9-3DAE-457F-AA64-E04FF508094A}'] procedure Reset; procedure Signal; function IsSignaled : boolean; procedure Wait; function TimedWait(max_ms: int64): boolean; end; // TCefv8Value // /include/capi/cef_v8_capi.h (cef_v8value_t) ICefv8Value = interface(ICefBaseRefCounted) ['{52319B8D-75A8-422C-BD4B-16FA08CC7F42}'] function IsValid: Boolean; function IsUndefined: Boolean; function IsNull: Boolean; function IsBool: Boolean; function IsInt: Boolean; function IsUInt: Boolean; function IsDouble: Boolean; function IsDate: Boolean; function IsString: Boolean; function IsObject: Boolean; function IsArray: Boolean; function IsArrayBuffer: Boolean; function IsFunction: Boolean; function IsSame(const that: ICefv8Value): Boolean; function GetBoolValue: Boolean; function GetIntValue: Integer; function GetUIntValue: Cardinal; function GetDoubleValue: Double; function GetDateValue: TDateTime; function GetStringValue: ustring; function IsUserCreated: Boolean; function HasException: Boolean; function GetException: ICefV8Exception; function ClearException: Boolean; function WillRethrowExceptions: Boolean; function SetRethrowExceptions(rethrow: Boolean): Boolean; function HasValueByKey(const key: ustring): Boolean; function HasValueByIndex(index: Integer): Boolean; function DeleteValueByKey(const key: ustring): Boolean; function DeleteValueByIndex(index: Integer): Boolean; function GetValueByKey(const key: ustring): ICefv8Value; function GetValueByIndex(index: Integer): ICefv8Value; function SetValueByKey(const key: ustring; const value: ICefv8Value; attribute: TCefV8PropertyAttributes): Boolean; function SetValueByIndex(index: Integer; const value: ICefv8Value): Boolean; function SetValueByAccessor(const key: ustring; settings: TCefV8AccessControls; attribute: TCefV8PropertyAttributes): Boolean; function GetKeys(const keys: TStrings): Integer; function SetUserData(const data: ICefv8Value): Boolean; function GetUserData: ICefv8Value; function GetExternallyAllocatedMemory: Integer; function AdjustExternallyAllocatedMemory(changeInBytes: Integer): Integer; function GetArrayLength: Integer; function GetArrayBufferReleaseCallback : ICefv8ArrayBufferReleaseCallback; function NeuterArrayBuffer : boolean; function GetFunctionName: ustring; function GetFunctionHandler: ICefv8Handler; function ExecuteFunction(const obj: ICefv8Value; const arguments: TCefv8ValueArray): ICefv8Value; function ExecuteFunctionWithContext(const context: ICefv8Context; const obj: ICefv8Value; const arguments: TCefv8ValueArray): ICefv8Value; end; // TCefV8StackFrame // /include/capi/cef_v8_capi.h (cef_v8stack_frame_t) ICefV8StackFrame = interface(ICefBaseRefCounted) ['{BA1FFBF4-E9F2-4842-A827-DC220F324286}'] function IsValid: Boolean; function GetScriptName: ustring; function GetScriptNameOrSourceUrl: ustring; function GetFunctionName: ustring; function GetLineNumber: Integer; function GetColumn: Integer; function IsEval: Boolean; function IsConstructor: Boolean; property ScriptName : ustring read GetScriptName; property ScriptNameOrSourceUrl : ustring read GetScriptNameOrSourceUrl; property FunctionName : ustring read GetFunctionName; property LineNumber : Integer read GetLineNumber; property Column : Integer read GetColumn; end; // TCefV8StackTrace // /include/capi/cef_v8_capi.h (cef_v8stack_trace_t) ICefV8StackTrace = interface(ICefBaseRefCounted) ['{32111C84-B7F7-4E3A-92B9-7CA1D0ADB613}'] function IsValid: Boolean; function GetFrameCount: Integer; function GetFrame(index: Integer): ICefV8StackFrame; property FrameCount : Integer read GetFrameCount; property Frame[index: Integer] : ICefV8StackFrame read GetFrame; end; // TCefXmlReader // /include/capi/cef_xml_reader_capi.h (cef_xml_reader_t) ICefXmlReader = interface(ICefBaseRefCounted) ['{0DE686C3-A8D7-45D2-82FD-92F7F4E62A90}'] function MoveToNextNode: Boolean; function Close: Boolean; function HasError: Boolean; function GetError: ustring; function GetType: TCefXmlNodeType; function GetDepth: Integer; function GetLocalName: ustring; function GetPrefix: ustring; function GetQualifiedName: ustring; function GetNamespaceUri: ustring; function GetBaseUri: ustring; function GetXmlLang: ustring; function IsEmptyElement: Boolean; function HasValue: Boolean; function GetValue: ustring; function HasAttributes: Boolean; function GetAttributeCount: NativeUInt; function GetAttributeByIndex(index: Integer): ustring; function GetAttributeByQName(const qualifiedName: ustring): ustring; function GetAttributeByLName(const localName, namespaceURI: ustring): ustring; function GetInnerXml: ustring; function GetOuterXml: ustring; function GetLineNumber: Integer; function MoveToAttributeByIndex(index: Integer): Boolean; function MoveToAttributeByQName(const qualifiedName: ustring): Boolean; function MoveToAttributeByLName(const localName, namespaceURI: ustring): Boolean; function MoveToFirstAttribute: Boolean; function MoveToNextAttribute: Boolean; function MoveToCarryingElement: Boolean; end; // TCefZipReader // /include/capi/cef_zip_reader_capi.h (cef_zip_reader_t) ICefZipReader = interface(ICefBaseRefCounted) ['{3B6C591F-9877-42B3-8892-AA7B27DA34A8}'] function MoveToFirstFile: Boolean; function MoveToNextFile: Boolean; function MoveToFile(const fileName: ustring; caseSensitive: Boolean): Boolean; function Close: Boolean; function GetFileName: ustring; function GetFileSize: Int64; function GetFileLastModified: TCefTime; function OpenFile(const password: ustring): Boolean; function CloseFile: Boolean; function ReadFile(buffer: Pointer; bufferSize: NativeUInt): Integer; function Tell: Int64; function Eof: Boolean; end; // TCefDomNode // /include/capi/cef_dom_capi.h (cef_domnode_t) ICefDomNode = interface(ICefBaseRefCounted) ['{96C03C9E-9C98-491A-8DAD-1947332232D6}'] function GetType: TCefDomNodeType; function IsText: Boolean; function IsElement: Boolean; function IsEditable: Boolean; function IsFormControlElement: Boolean; function GetFormControlElementType: ustring; function IsSame(const that: ICefDomNode): Boolean; function GetName: ustring; function GetValue: ustring; function SetValue(const value: ustring): Boolean; function GetAsMarkup: ustring; function GetDocument: ICefDomDocument; function GetParent: ICefDomNode; function GetPreviousSibling: ICefDomNode; function GetNextSibling: ICefDomNode; function HasChildren: Boolean; function GetFirstChild: ICefDomNode; function GetLastChild: ICefDomNode; function GetElementTagName: ustring; function HasElementAttributes: Boolean; function HasElementAttribute(const attrName: ustring): Boolean; function GetElementAttribute(const attrName: ustring): ustring; procedure GetElementAttributes(const attrMap: ICefStringMap); overload; procedure GetElementAttributes(var attrList: TStrings); overload; function SetElementAttribute(const attrName, value: ustring): Boolean; function GetElementInnerText: ustring; function GetElementBounds: TCefRect; property NodeType : TCefDomNodeType read GetType; property Name : ustring read GetName; property AsMarkup : ustring read GetAsMarkup; property Document : ICefDomDocument read GetDocument; property Parent : ICefDomNode read GetParent; property PreviousSibling : ICefDomNode read GetPreviousSibling; property NextSibling : ICefDomNode read GetNextSibling; property FirstChild : ICefDomNode read GetFirstChild; property LastChild : ICefDomNode read GetLastChild; property ElementTagName : ustring read GetElementTagName; property ElementInnerText : ustring read GetElementInnerText; property ElementBounds : TCefRect read GetElementBounds; end; // TCefDomDocument // /include/capi/cef_dom_capi.h (cef_domdocument_t) ICefDomDocument = interface(ICefBaseRefCounted) ['{08E74052-45AF-4F69-A578-98A5C3959426}'] function GetType: TCefDomDocumentType; function GetDocument: ICefDomNode; function GetBody: ICefDomNode; function GetHead: ICefDomNode; function GetTitle: ustring; function GetElementById(const id: ustring): ICefDomNode; function GetFocusedNode: ICefDomNode; function HasSelection: Boolean; function GetSelectionStartOffset: Integer; function GetSelectionEndOffset: Integer; function GetSelectionAsMarkup: ustring; function GetSelectionAsText: ustring; function GetBaseUrl: ustring; function GetCompleteUrl(const partialURL: ustring): ustring; property DocType : TCefDomDocumentType read GetType; property Document : ICefDomNode read GetDocument; property Body : ICefDomNode read GetBody; property Head : ICefDomNode read GetHead; property Title : ustring read GetTitle; property FocusedNode : ICefDomNode read GetFocusedNode; property SelectionStartOffset : Integer read GetSelectionStartOffset; property SelectionEndOffset : Integer read GetSelectionEndOffset; property SelectionAsMarkup : ustring read GetSelectionAsMarkup; property SelectionAsText : ustring read GetSelectionAsText; property BaseUrl : ustring read GetBaseUrl; end; // TCefDomVisitor // /include/capi/cef_dom_capi.h (cef_domvisitor_t) ICefDomVisitor = interface(ICefBaseRefCounted) ['{30398428-3196-4531-B968-2DDBED36F6B0}'] procedure visit(const document: ICefDomDocument); end; // TCefCookieVisitor // /include/capi/cef_cookie_capi.h (cef_cookie_visitor_t) ICefCookieVisitor = interface(ICefBaseRefCounted) ['{8378CF1B-84AB-4FDB-9B86-34DDABCCC402}'] function visit(const name, value, domain, path: ustring; secure, httponly, hasExpires: Boolean; const creation, lastAccess, expires: TDateTime; count, total: Integer; out deleteCookie: Boolean): Boolean; end; // TCefCommandLine // /include/capi/cef_command_line_capi.h (cef_command_line_t) ICefCommandLine = interface(ICefBaseRefCounted) ['{6B43D21B-0F2C-4B94-B4E6-4AF0D7669D8E}'] function IsValid: Boolean; function IsReadOnly: Boolean; function Copy: ICefCommandLine; procedure InitFromArgv(argc: Integer; const argv: PPAnsiChar); procedure InitFromString(const commandLine: ustring); procedure Reset; function GetCommandLineString: ustring; procedure GetArgv(var args: TStrings); function GetProgram: ustring; procedure SetProgram(const prog: ustring); function HasSwitches: Boolean; function HasSwitch(const name: ustring): Boolean; function GetSwitchValue(const name: ustring): ustring; procedure GetSwitches(var switches: TStrings); procedure AppendSwitch(const name: ustring); procedure AppendSwitchWithValue(const name, value: ustring); function HasArguments: Boolean; procedure GetArguments(var arguments: TStrings); procedure AppendArgument(const argument: ustring); procedure PrependWrapper(const wrapper: ustring); property CommandLineString : ustring read GetCommandLineString; end; // TCefResourceBundleHandler // /include/capi/cef_resource_bundle_handler_capi.h (cef_resource_bundle_handler_t) ICefResourceBundleHandler = interface(ICefBaseRefCounted) ['{09C264FD-7E03-41E3-87B3-4234E82B5EA2}'] function GetLocalizedString(stringId: Integer; var stringVal: ustring): Boolean; function GetDataResource(resourceId: Integer; var data: Pointer; var dataSize: NativeUInt): Boolean; function GetDataResourceForScale(resourceId: Integer; scaleFactor: TCefScaleFactor; var data: Pointer; var dataSize: NativeUInt): Boolean; end; // TCefBrowserProcessHandler // /include/capi/cef_browser_process_handler_capi.h (cef_browser_process_handler_t) ICefBrowserProcessHandler = interface(ICefBaseRefCounted) ['{27291B7A-C0AE-4EE0-9115-15C810E22F6C}'] procedure OnContextInitialized; procedure OnBeforeChildProcessLaunch(const commandLine: ICefCommandLine); procedure OnRenderProcessThreadCreated(const extraInfo: ICefListValue); procedure GetPrintHandler(var aHandler : ICefPrintHandler); procedure OnScheduleMessagePumpWork(const delayMs: Int64); end; // TCefRenderProcessHandler // /include/capi/cef_render_process_handler_capi.h (cef_render_process_handler_t) ICefRenderProcessHandler = interface(ICefBaseRefCounted) ['{FADEE3BC-BF66-430A-BA5D-1EE3782ECC58}'] procedure OnRenderThreadCreated(const extraInfo: ICefListValue); procedure OnWebKitInitialized; procedure OnBrowserCreated(const browser: ICefBrowser); procedure OnBrowserDestroyed(const browser: ICefBrowser); function GetLoadHandler : ICefLoadHandler; procedure OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); procedure OnContextReleased(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); procedure OnUncaughtException(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context; const V8Exception: ICefV8Exception; const stackTrace: ICefV8StackTrace); procedure OnFocusedNodeChanged(const browser: ICefBrowser; const frame: ICefFrame; const node: ICefDomNode); function OnProcessMessageReceived(const browser: ICefBrowser; sourceProcess: TCefProcessId; const aMessage: ICefProcessMessage): Boolean; end; // TCefApp // /include/capi/cef_app_capi.h (cef_app_t) ICefApp = interface(ICefBaseRefCounted) ['{970CA670-9070-4642-B188-7D8A22DAEED4}'] procedure OnBeforeCommandLineProcessing(const processType: ustring; const commandLine: ICefCommandLine); procedure OnRegisterCustomSchemes(const registrar: TCefSchemeRegistrarRef); procedure GetResourceBundleHandler(var aHandler : ICefResourceBundleHandler); procedure GetBrowserProcessHandler(var aHandler : ICefBrowserProcessHandler); procedure GetRenderProcessHandler(var aHandler : ICefRenderProcessHandler); end; // TCefCompletionCallback // /include/capi/cef_callback_capi.h (cef_completion_callback_t) ICefCompletionCallback = interface(ICefBaseRefCounted) ['{A8ECCFBB-FEE0-446F-AB32-AD69A7478D57}'] procedure OnComplete; end; // TCefSetCookieCallback // /include/capi/cef_cookie_capi.h (cef_set_cookie_callback_t) ICefSetCookieCallback = interface(ICefBaseRefCounted) ['{16E14B6F-CB0A-4F9D-A008-239E0BC7B892}'] procedure OnComplete(success: Boolean); end; // TCefDeleteCookiesCallback // /include/capi/cef_cookie_capi.h (cef_delete_cookies_callback_t) ICefDeleteCookiesCallback = interface(ICefBaseRefCounted) ['{758B79A1-B9E8-4F0D-94A0-DCE5AFADE33D}'] procedure OnComplete(numDeleted: Integer); end; // TCefCookieManager // /include/capi/cef_cookie_capi.h (cef_cookie_manager_t) ICefCookieManager = Interface(ICefBaseRefCounted) ['{CC1749E6-9AD3-4283-8430-AF6CBF3E8785}'] procedure SetSupportedSchemes(const schemes: TStrings; const callback: ICefCompletionCallback); procedure SetSupportedSchemesProc(const schemes: TStrings; const callback: TCefCompletionCallbackProc); function VisitAllCookies(const visitor: ICefCookieVisitor): Boolean; function VisitAllCookiesProc(const visitor: TCefCookieVisitorProc): Boolean; function VisitUrlCookies(const url: ustring; includeHttpOnly: Boolean; const visitor: ICefCookieVisitor): Boolean; function VisitUrlCookiesProc(const url: ustring; includeHttpOnly: Boolean; const visitor: TCefCookieVisitorProc): Boolean; function SetCookie(const url: ustring; const name, value, domain, path: ustring; secure, httponly, hasExpires: Boolean; const creation, lastAccess, expires: TDateTime; const callback: ICefSetCookieCallback): Boolean; function SetCookieProc(const url: ustring; const name, value, domain, path: ustring; secure, httponly, hasExpires: Boolean; const creation, lastAccess, expires: TDateTime; const callback: TCefSetCookieCallbackProc): Boolean; function DeleteCookies(const url, cookieName: ustring; const callback: ICefDeleteCookiesCallback): Boolean; function DeleteCookiesProc(const url, cookieName: ustring; const callback: TCefDeleteCookiesCallbackProc): Boolean; function SetStoragePath(const path: ustring; persistSessionCookies: Boolean; const callback: ICefCompletionCallback): Boolean; function SetStoragePathProc(const path: ustring; persistSessionCookies: Boolean; const callback: TCefCompletionCallbackProc): Boolean; function FlushStore(const handler: ICefCompletionCallback): Boolean; function FlushStoreProc(const proc: TCefCompletionCallbackProc): Boolean; end; // TCefWebPluginInfo // /include/capi/cef_web_plugin_capi.h (cef_web_plugin_info_t) ICefWebPluginInfo = interface(ICefBaseRefCounted) ['{AA879E58-F649-44B1-AF9C-655FF5B79A02}'] function GetName: ustring; function GetPath: ustring; function GetVersion: ustring; function GetDescription: ustring; property Name : ustring read GetName; property Path : ustring read GetPath; property Version : ustring read GetVersion; property Description : ustring read GetDescription; end; // TCefCallback // /include/capi/cef_callback_capi.h (cef_callback_t) ICefCallback = interface(ICefBaseRefCounted) ['{1B8C449F-E2D6-4B78-9BBA-6F47E8BCDF37}'] procedure Cont; procedure Cancel; end; // TCefResourceHandler // /include/capi/cef_resource_handler_capi.h (cef_resource_handler_t) ICefResourceHandler = interface(ICefBaseRefCounted) ['{BD3EA208-AAAD-488C-BFF2-76993022F2B5}'] function ProcessRequest(const request: ICefRequest; const callback: ICefCallback): Boolean; procedure GetResponseHeaders(const response: ICefResponse; out responseLength: Int64; out redirectUrl: ustring); function ReadResponse(const dataOut: Pointer; bytesToRead: Integer; var bytesRead: Integer; const callback: ICefCallback): Boolean; function CanGetCookie(const cookie: PCefCookie): Boolean; function CanSetCookie(const cookie: PCefCookie): Boolean; procedure Cancel; end; // TCefSchemeHandlerFactory // /include/capi/cef_scheme_capi.h (cef_scheme_handler_factory_t) ICefSchemeHandlerFactory = interface(ICefBaseRefCounted) ['{4D9B7960-B73B-4EBD-9ABE-6C1C43C245EB}'] function New(const browser: ICefBrowser; const frame: ICefFrame; const schemeName: ustring; const request: ICefRequest): ICefResourceHandler; end; // TCefAuthCallback // /include/capi/cef_auth_callback_capi.h (cef_auth_callback_t) ICefAuthCallback = interface(ICefBaseRefCounted) ['{500C2023-BF4D-4FF7-9C04-165E5C389131}'] procedure Cont(const username, password: ustring); procedure Cancel; end; // TCefJsDialogCallback // /include/capi/cef_jsdialog_handler_capi.h (cef_jsdialog_callback_t) ICefJsDialogCallback = interface(ICefBaseRefCounted) ['{187B2156-9947-4108-87AB-32E559E1B026}'] procedure Cont(success: Boolean; const userInput: ustring); end; // TCefContextMenuParams // /include/capi/cef_context_menu_handler_capi.h (cef_context_menu_params_t) ICefContextMenuParams = interface(ICefBaseRefCounted) ['{E31BFA9E-D4E2-49B7-A05D-20018C8794EB}'] function GetXCoord: Integer; function GetYCoord: Integer; function GetTypeFlags: TCefContextMenuTypeFlags; function GetLinkUrl: ustring; function GetUnfilteredLinkUrl: ustring; function GetSourceUrl: ustring; function HasImageContents: Boolean; function GetTitleText: ustring; function GetPageUrl: ustring; function GetFrameUrl: ustring; function GetFrameCharset: ustring; function GetMediaType: TCefContextMenuMediaType; function GetMediaStateFlags: TCefContextMenuMediaStateFlags; function GetSelectionText: ustring; function GetMisspelledWord: ustring; function GetDictionarySuggestions(const suggestions: TStringList): Boolean; function IsEditable: Boolean; function IsSpellCheckEnabled: Boolean; function GetEditStateFlags: TCefContextMenuEditStateFlags; function IsCustomMenu: Boolean; function IsPepperMenu: Boolean; property XCoord : Integer read GetXCoord; property YCoord : Integer read GetYCoord; property TypeFlags : TCefContextMenuTypeFlags read GetTypeFlags; property LinkUrl : ustring read GetLinkUrl; property UnfilteredLinkUrl : ustring read GetUnfilteredLinkUrl; property SourceUrl : ustring read GetSourceUrl; property TitleText : ustring read GetTitleText; property PageUrl : ustring read GetPageUrl; property FrameUrl : ustring read GetFrameUrl; property FrameCharset : ustring read GetFrameCharset; property MediaType : TCefContextMenuMediaType read GetMediaType; property MediaStateFlags : TCefContextMenuMediaStateFlags read GetMediaStateFlags; property SelectionText : ustring read GetSelectionText; property EditStateFlags : TCefContextMenuEditStateFlags read GetEditStateFlags; end; // TCefMenuModel // /include/capi/cef_menu_model_capi.h (cef_menu_model_t) ICefMenuModel = interface(ICefBaseRefCounted) ['{40AF19D3-8B4E-44B8-8F89-DEB5907FC495}'] function IsSubMenu: Boolean; function Clear: Boolean; function GetCount: Integer; function AddSeparator: Boolean; function AddItem(commandId: Integer; const text: ustring): Boolean; function AddCheckItem(commandId: Integer; const text: ustring): Boolean; function AddRadioItem(commandId: Integer; const text: ustring; groupId: Integer): Boolean; function AddSubMenu(commandId: Integer; const text: ustring): ICefMenuModel; function InsertSeparatorAt(index: Integer): Boolean; function InsertItemAt(index, commandId: Integer; const text: ustring): Boolean; function InsertCheckItemAt(index, commandId: Integer; const text: ustring): Boolean; function InsertRadioItemAt(index, commandId: Integer; const text: ustring; groupId: Integer): Boolean; function InsertSubMenuAt(index, commandId: Integer; const text: ustring): ICefMenuModel; function Remove(commandId: Integer): Boolean; function RemoveAt(index: Integer): Boolean; function GetIndexOf(commandId: Integer): Integer; function GetCommandIdAt(index: Integer): Integer; function SetCommandIdAt(index, commandId: Integer): Boolean; function GetLabel(commandId: Integer): ustring; function GetLabelAt(index: Integer): ustring; function SetLabel(commandId: Integer; const text: ustring): Boolean; function SetLabelAt(index: Integer; const text: ustring): Boolean; function GetType(commandId: Integer): TCefMenuItemType; function GetTypeAt(index: Integer): TCefMenuItemType; function GetGroupId(commandId: Integer): Integer; function GetGroupIdAt(index: Integer): Integer; function SetGroupId(commandId, groupId: Integer): Boolean; function SetGroupIdAt(index, groupId: Integer): Boolean; function GetSubMenu(commandId: Integer): ICefMenuModel; function GetSubMenuAt(index: Integer): ICefMenuModel; function IsVisible(commandId: Integer): Boolean; function isVisibleAt(index: Integer): Boolean; function SetVisible(commandId: Integer; visible: Boolean): Boolean; function SetVisibleAt(index: Integer; visible: Boolean): Boolean; function IsEnabled(commandId: Integer): Boolean; function IsEnabledAt(index: Integer): Boolean; function SetEnabled(commandId: Integer; enabled: Boolean): Boolean; function SetEnabledAt(index: Integer; enabled: Boolean): Boolean; function IsChecked(commandId: Integer): Boolean; function IsCheckedAt(index: Integer): Boolean; function setChecked(commandId: Integer; checked: Boolean): Boolean; function setCheckedAt(index: Integer; checked: Boolean): Boolean; function HasAccelerator(commandId: Integer): Boolean; function HasAcceleratorAt(index: Integer): Boolean; function SetAccelerator(commandId, keyCode: Integer; shiftPressed, ctrlPressed, altPressed: Boolean): Boolean; function SetAcceleratorAt(index, keyCode: Integer; shiftPressed, ctrlPressed, altPressed: Boolean): Boolean; function RemoveAccelerator(commandId: Integer): Boolean; function RemoveAcceleratorAt(index: Integer): Boolean; function GetAccelerator(commandId: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean; function GetAcceleratorAt(index: Integer; out keyCode: Integer; out shiftPressed, ctrlPressed, altPressed: Boolean): Boolean; function SetColor(commandId: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean; function SetColorAt(index: Integer; colorType: TCefMenuColorType; color: TCefColor): Boolean; function GetColor(commandId: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean; function GetColorAt(index: Integer; colorType: TCefMenuColorType; out color: TCefColor): Boolean; function SetFontList(commandId: Integer; const fontList: ustring): Boolean; function SetFontListAt(index: Integer; const fontList: ustring): Boolean; end; // TCefValue // /include/capi/cef_values_capi.h (cef_value_t) ICefValue = interface(ICefBaseRefCounted) ['{66F9F439-B12B-4EC3-A945-91AE4EF4D4BA}'] function IsValid: Boolean; function IsOwned: Boolean; function IsReadOnly: Boolean; function IsSame(const that: ICefValue): Boolean; function IsEqual(const that: ICefValue): Boolean; function Copy: ICefValue; function GetType: TCefValueType; function GetBool: Boolean; function GetInt: Integer; function GetDouble: Double; function GetString: ustring; function GetBinary: ICefBinaryValue; function GetDictionary: ICefDictionaryValue; function GetList: ICefListValue; function SetNull: Boolean; function SetBool(value: Integer): Boolean; function SetInt(value: Integer): Boolean; function SetDouble(value: Double): Boolean; function SetString(const value: ustring): Boolean; function SetBinary(const value: ICefBinaryValue): Boolean; function SetDictionary(const value: ICefDictionaryValue): Boolean; function SetList(const value: ICefListValue): Boolean; end; // TCefBinaryValue // /include/capi/cef_values_capi.h (cef_binary_value_t) ICefBinaryValue = interface(ICefBaseRefCounted) ['{974AA40A-9C5C-4726-81F0-9F0D46D7C5B3}'] function IsValid: Boolean; function IsOwned: Boolean; function IsSame(const that: ICefBinaryValue): Boolean; function IsEqual(const that: ICefBinaryValue): Boolean; function Copy: ICefBinaryValue; function GetSize: NativeUInt; function GetData(buffer: Pointer; bufferSize, dataOffset: NativeUInt): NativeUInt; property Size : NativeUInt read GetSize; end; // TCefDictionaryValue // /include/capi/cef_values_capi.h (cef_dictionary_value_t) ICefDictionaryValue = interface(ICefBaseRefCounted) ['{B9638559-54DC-498C-8185-233EEF12BC69}'] function IsValid: Boolean; function isOwned: Boolean; function IsReadOnly: Boolean; function IsSame(const that: ICefDictionaryValue): Boolean; function IsEqual(const that: ICefDictionaryValue): Boolean; function Copy(excludeEmptyChildren: Boolean): ICefDictionaryValue; function GetSize: NativeUInt; function Clear: Boolean; function HasKey(const key: ustring): Boolean; function GetKeys(const keys: TStrings): Boolean; function Remove(const key: ustring): Boolean; function GetType(const key: ustring): TCefValueType; function GetValue(const key: ustring): ICefValue; function GetBool(const key: ustring): Boolean; function GetInt(const key: ustring): Integer; function GetDouble(const key: ustring): Double; function GetString(const key: ustring): ustring; function GetBinary(const key: ustring): ICefBinaryValue; function GetDictionary(const key: ustring): ICefDictionaryValue; function GetList(const key: ustring): ICefListValue; function SetValue(const key: ustring; const value: ICefValue): Boolean; function SetNull(const key: ustring): Boolean; function SetBool(const key: ustring; value: Boolean): Boolean; function SetInt(const key: ustring; value: Integer): Boolean; function SetDouble(const key: ustring; value: Double): Boolean; function SetString(const key, value: ustring): Boolean; function SetBinary(const key: ustring; const value: ICefBinaryValue): Boolean; function SetDictionary(const key: ustring; const value: ICefDictionaryValue): Boolean; function SetList(const key: ustring; const value: ICefListValue): Boolean; end; // TCefListValue // /include/capi/cef_values_capi.h (cef_list_value_t) ICefListValue = interface(ICefBaseRefCounted) ['{09174B9D-0CC6-4360-BBB0-3CC0117F70F6}'] function IsValid: Boolean; function IsOwned: Boolean; function IsReadOnly: Boolean; function IsSame(const that: ICefListValue): Boolean; function IsEqual(const that: ICefListValue): Boolean; function Copy: ICefListValue; function SetSize(size: NativeUInt): Boolean; function GetSize: NativeUInt; function Clear: Boolean; function Remove(index: NativeUInt): Boolean; function GetType(index: NativeUInt): TCefValueType; function GetValue(index: NativeUInt): ICefValue; function GetBool(index: NativeUInt): Boolean; function GetInt(index: NativeUInt): Integer; function GetDouble(index: NativeUInt): Double; function GetString(index: NativeUInt): ustring; function GetBinary(index: NativeUInt): ICefBinaryValue; function GetDictionary(index: NativeUInt): ICefDictionaryValue; function GetList(index: NativeUInt): ICefListValue; function SetValue(index: NativeUInt; const value: ICefValue): Boolean; function SetNull(index: NativeUInt): Boolean; function SetBool(index: NativeUInt; value: Boolean): Boolean; function SetInt(index: NativeUInt; value: Integer): Boolean; function SetDouble(index: NativeUInt; value: Double): Boolean; function SetString(index: NativeUInt; const value: ustring): Boolean; function SetBinary(index: NativeUInt; const value: ICefBinaryValue): Boolean; function SetDictionary(index: NativeUInt; const value: ICefDictionaryValue): Boolean; function SetList(index: NativeUInt; const value: ICefListValue): Boolean; end; // TCefLifeSpanHandler // /include/capi/cef_life_span_handler_capi.h (cef_life_span_handler_t) ICefLifeSpanHandler = interface(ICefBaseRefCounted) ['{0A3EB782-A319-4C35-9B46-09B2834D7169}'] function OnBeforePopup(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; var client: ICefClient; var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean): Boolean; procedure OnAfterCreated(const browser: ICefBrowser); function DoClose(const browser: ICefBrowser): Boolean; procedure OnBeforeClose(const browser: ICefBrowser); procedure RemoveReferences; // custom procedure to clear all references end; // TCefGetExtensionResourceCallback // /include/capi/cef_extension_handler_capi.h (cef_get_extension_resource_callback_t) ICefGetExtensionResourceCallback = interface(ICefBaseRefCounted) ['{579C8602-8252-40D0-9E0A-501F32C36C42}'] procedure cont(const stream: ICefStreamReader); procedure cancel; end; // TCefExtensionHandler // /include/capi/cef_extension_handler_capi.h (cef_extension_handler_t) ICefExtensionHandler = interface(ICefBaseRefCounted) ['{3234008F-D809-459D-963D-23BA50219648}'] procedure OnExtensionLoadFailed(result: TCefErrorcode); procedure OnExtensionLoaded(const extension: ICefExtension); procedure OnExtensionUnloaded(const extension: ICefExtension); function OnBeforeBackgroundBrowser(const extension: ICefExtension; const url: ustring; var client: ICefClient; var settings: TCefBrowserSettings) : boolean; function OnBeforeBrowser(const extension: ICefExtension; const browser, active_browser: ICefBrowser; index: Integer; const url: ustring; active: boolean; var windowInfo: TCefWindowInfo; var client: ICefClient; var settings: TCefBrowserSettings) : boolean; function GetActiveBrowser(const extension: ICefExtension; const browser: ICefBrowser; include_incognito: boolean): ICefBrowser; function CanAccessBrowser(const extension: ICefExtension; const browser: ICefBrowser; include_incognito: boolean; const target_browser: ICefBrowser): boolean; function GetExtensionResource(const extension: ICefExtension; const browser: ICefBrowser; const file_: ustring; const callback: ICefGetExtensionResourceCallback): boolean; end; // TCefExtension // /include/capi/cef_extension_capi.h (cef_extension_t) ICefExtension = interface(ICefBaseRefCounted) ['{D30D1C64-A26F-49C0-AEB7-C55EC68951CA}'] function GetIdentifier : ustring; function GetPath : ustring; function GetManifest : ICefDictionaryValue; function IsSame(const that : ICefExtension) : boolean; function GetHandler : ICefExtensionHandler; function GetLoaderContext : ICefRequestContext; function IsLoaded : boolean; procedure unload; property Identifier : ustring read GetIdentifier; property Path : ustring read GetPath; property Manifest : ICefDictionaryValue read GetManifest; property Handler : ICefExtensionHandler read GetHandler; property LoaderContext : ICefRequestContext read GetLoaderContext; end; // TCefLoadHandler // /include/capi/cef_load_handler_capi.h (cef_load_handler_t) ICefLoadHandler = interface(ICefBaseRefCounted) ['{2C63FB82-345D-4A5B-9858-5AE7A85C9F49}'] procedure OnLoadingStateChange(const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean); procedure OnLoadStart(const browser: ICefBrowser; const frame: ICefFrame; transitionType: TCefTransitionType); procedure OnLoadEnd(const browser: ICefBrowser; const frame: ICefFrame; httpStatusCode: Integer); procedure OnLoadError(const browser: ICefBrowser; const frame: ICefFrame; errorCode: Integer; const errorText, failedUrl: ustring); procedure RemoveReferences; // custom procedure to clear all references end; // TCefRequestCallback // /include/capi/cef_request_handler_capi.h (cef_request_callback_t) ICefRequestCallback = interface(ICefBaseRefCounted) ['{A35B8FD5-226B-41A8-A763-1940787D321C}'] procedure Cont(allow: Boolean); procedure Cancel; end; // TCefResponseFilter // /include/capi/cef_response_filter_capi.h (cef_response_filter_t) ICefResponseFilter = interface(ICefBaseRefCounted) ['{5013BC3C-F1AE-407A-A571-A4C6B1D6831E}'] function InitFilter: Boolean; function Filter(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; end; // TCefRequestHandler // /include/capi/cef_request_handler_capi.h (cef_request_handler_t) ICefRequestHandler = interface(ICefBaseRefCounted) ['{050877A9-D1F8-4EB3-B58E-50DC3E3D39FD}'] function OnBeforeBrowse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean): Boolean; function OnOpenUrlFromTab(const browser: ICefBrowser; const frame: ICefFrame; const targetUrl: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean): Boolean; function OnBeforeResourceLoad(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback): TCefReturnValue; function GetResourceHandler(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): ICefResourceHandler; procedure OnResourceRedirect(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; var newUrl: ustring); function OnResourceResponse(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse): Boolean; function GetResourceResponseFilter(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse): ICefResponseFilter; procedure OnResourceLoadComplete(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; status: TCefUrlRequestStatus; receivedContentLength: Int64); function GetAuthCredentials(const browser: ICefBrowser; const frame: ICefFrame; isProxy: Boolean; const host: ustring; port: Integer; const realm, scheme: ustring; const callback: ICefAuthCallback): Boolean; function CanGetCookies(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest): boolean; function CanSetCookie(const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const cookie : PCefCookie): boolean; function OnQuotaRequest(const browser: ICefBrowser; const originUrl: ustring; newSize: Int64; const callback: ICefRequestCallback): Boolean; procedure OnProtocolExecution(const browser: ICefBrowser; const url: ustring; out allowOsExecution: Boolean); function OnCertificateError(const browser: ICefBrowser; certError: TCefErrorcode; const requestUrl: ustring; const sslInfo: ICefSslInfo; const callback: ICefRequestCallback): Boolean; function OnSelectClientCertificate(const browser: ICefBrowser; isProxy: boolean; const host: ustring; port: integer; certificatesCount: NativeUInt; const certificates: TCefX509CertificateArray; const callback: ICefSelectClientCertificateCallback): boolean; procedure OnPluginCrashed(const browser: ICefBrowser; const pluginPath: ustring); procedure OnRenderViewReady(const browser: ICefBrowser); procedure OnRenderProcessTerminated(const browser: ICefBrowser; status: TCefTerminationStatus); procedure RemoveReferences; // custom procedure to clear all references end; // TCefDisplayHandler // /include/capi/cef_display_handler_capi.h (cef_display_handler_t) ICefDisplayHandler = interface(ICefBaseRefCounted) ['{1EC7C76D-6969-41D1-B26D-079BCFF054C4}'] procedure OnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring); procedure OnTitleChange(const browser: ICefBrowser; const title: ustring); procedure OnFaviconUrlChange(const browser: ICefBrowser; const icon_urls: TStrings); procedure OnFullScreenModeChange(const browser: ICefBrowser; fullscreen: Boolean); function OnTooltip(const browser: ICefBrowser; var text: ustring): Boolean; procedure OnStatusMessage(const browser: ICefBrowser; const value: ustring); function OnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const message_, source: ustring; line: Integer): Boolean; function OnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; procedure OnLoadingProgressChange(const browser: ICefBrowser; const progress: double); procedure RemoveReferences; // custom procedure to clear all references end; // TCefFocusHandler // /include/capi/cef_focus_handler_capi.h (cef_focus_handler_t) ICefFocusHandler = interface(ICefBaseRefCounted) ['{BB7FA3FA-7B1A-4ADC-8E50-12A24018DD90}'] procedure OnTakeFocus(const browser: ICefBrowser; next: Boolean); function OnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean; procedure OnGotFocus(const browser: ICefBrowser); procedure RemoveReferences; // custom procedure to clear all references end; // TCefKeyboardHandler // /include/capi/cef_keyboard_handler_capi.h (cef_keyboard_handler_t) ICefKeyboardHandler = interface(ICefBaseRefCounted) ['{0512F4EC-ED88-44C9-90D3-5C6D03D3B146}'] function OnPreKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out isKeyboardShortcut: Boolean): Boolean; function OnKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle): Boolean; procedure RemoveReferences; // custom procedure to clear all references end; // TCefJsDialogHandler // /include/capi/cef_jsdialog_handler_capi.h (cef_jsdialog_handler_t) ICefJsDialogHandler = interface(ICefBaseRefCounted) ['{64E18F86-DAC5-4ED1-8589-44DE45B9DB56}'] function OnJsdialog(const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean): Boolean; function OnBeforeUnloadDialog(const browser: ICefBrowser; const messageText: ustring; isReload: Boolean; const callback: ICefJsDialogCallback): Boolean; procedure OnResetDialogState(const browser: ICefBrowser); procedure OnDialogClosed(const browser: ICefBrowser); procedure RemoveReferences; // custom procedure to clear all references end; // TCefRunContextMenuCallback // /include/capi/cef_context_menu_handler_capi.h (cef_run_context_menu_callback_t) ICefRunContextMenuCallback = interface(ICefBaseRefCounted) ['{44C3C6E3-B64D-4F6E-A318-4A0F3A72EB00}'] procedure Cont(commandId: Integer; eventFlags: TCefEventFlags); procedure Cancel; end; // TCefContextMenuHandler // /include/capi/cef_context_menu_handler_capi.h (cef_context_menu_handler_t) ICefContextMenuHandler = interface(ICefBaseRefCounted) ['{C2951895-4087-49D5-BA18-4D9BA4F5EDD7}'] procedure OnBeforeContextMenu(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel); function RunContextMenu(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel; const callback: ICefRunContextMenuCallback): Boolean; function OnContextMenuCommand(const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; commandId: Integer; eventFlags: TCefEventFlags): Boolean; procedure OnContextMenuDismissed(const browser: ICefBrowser; const frame: ICefFrame); procedure RemoveReferences; // custom procedure to clear all references end; // TCefAccessibilityHandler // /include/capi/cef_accessibility_handler_capi.h (cef_accessibility_handler_t) ICefAccessibilityHandler = interface(ICefBaseRefCounted) ['{1878C3C7-7692-44AB-BFE0-6C387106816B}'] procedure OnAccessibilityTreeChange(const value: ICefValue); procedure OnAccessibilityLocationChange(const value: ICefValue); end; // TCefDialogHandler // /include/capi/cef_dialog_handler_capi.h (cef_dialog_handler_t) ICefDialogHandler = interface(ICefBaseRefCounted) ['{7763F4B2-8BE1-4E80-AC43-8B825850DC67}'] function OnFileDialog(const browser: ICefBrowser; mode: TCefFileDialogMode; const title, defaultFilePath: ustring; const acceptFilters: TStrings; selectedAcceptFilter: Integer; const callback: ICefFileDialogCallback): Boolean; procedure RemoveReferences; // custom procedure to clear all references end; // TCefRenderHandler // /include/capi/cef_render_handler_capi.h (cef_render_handler_t) ICefRenderHandler = interface(ICefBaseRefCounted) ['{1FC1C22B-085A-4741-9366-5249B88EC410}'] procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler); function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; function GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean; function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean; function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean; procedure OnPopupShow(const browser: ICefBrowser; show: Boolean); procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect); procedure OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer); procedure OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo); function OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean; procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); procedure OnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); procedure OnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); procedure OnTextSelectionChanged(const browser: ICefBrowser; const selected_text: ustring; const selected_range: PCefRange); procedure RemoveReferences; // custom procedure to clear all references end; // TCefClient // /include/capi/cef_client_capi.h (cef_client_t) ICefClient = interface(ICefBaseRefCounted) ['{1D502075-2FF0-4E13-A112-9E541CD811F4}'] procedure GetContextMenuHandler(var aHandler : ICefContextMenuHandler); procedure GetDialogHandler(var aHandler : ICefDialogHandler); procedure GetDisplayHandler(var aHandler : ICefDisplayHandler); procedure GetDownloadHandler(var aHandler : ICefDownloadHandler); procedure GetDragHandler(var aHandler : ICefDragHandler); procedure GetFindHandler(var aHandler : ICefFindHandler); procedure GetFocusHandler(var aHandler : ICefFocusHandler); procedure GetJsdialogHandler(var aHandler : ICefJsdialogHandler); procedure GetKeyboardHandler(var aHandler : ICefKeyboardHandler); procedure GetLifeSpanHandler(var aHandler : ICefLifeSpanHandler); procedure GetLoadHandler(var aHandler : ICefLoadHandler); procedure GetRenderHandler(var aHandler : ICefRenderHandler); procedure GetRequestHandler(var aHandler : ICefRequestHandler); function OnProcessMessageReceived(const browser: ICefBrowser; sourceProcess: TCefProcessId; const message_ : ICefProcessMessage): Boolean; procedure RemoveReferences; // custom procedure to clear all references end; // TCefUrlRequest // /include/capi/cef_urlrequest_capi.h (cef_urlrequest_t) ICefUrlRequest = interface(ICefBaseRefCounted) ['{59226AC1-A0FA-4D59-9DF4-A65C42391A67}'] function GetRequest: ICefRequest; function GetRequestStatus: TCefUrlRequestStatus; function GetRequestError: Integer; function GetResponse: ICefResponse; function GetResponseWasCached: boolean; procedure Cancel; property Request : ICefRequest read GetRequest; property RequestStatus : TCefUrlRequestStatus read GetRequestStatus; property RequestError : Integer read GetRequestError; property Response : ICefResponse read GetResponse; property ResponseWasCached : boolean read GetResponseWasCached; end; // TCefUrlrequestClient // /include/capi/cef_urlrequest_capi.h (cef_urlrequest_client_t) ICefUrlrequestClient = interface(ICefBaseRefCounted) ['{114155BD-C248-4651-9A4F-26F3F9A4F737}'] procedure OnRequestComplete(const request: ICefUrlRequest); procedure OnUploadProgress(const request: ICefUrlRequest; current, total: Int64); procedure OnDownloadProgress(const request: ICefUrlRequest; current, total: Int64); procedure OnDownloadData(const request: ICefUrlRequest; data: Pointer; dataLength: NativeUInt); function OnGetAuthCredentials(isProxy: Boolean; const host: ustring; port: Integer; const realm, scheme: ustring; const callback: ICefAuthCallback): Boolean; end; // TCefWebPluginInfoVisitor // /include/capi/cef_web_plugin_capi.h (cef_web_plugin_info_visitor_t) ICefWebPluginInfoVisitor = interface(ICefBaseRefCounted) ['{7523D432-4424-4804-ACAD-E67D2313436E}'] function Visit(const info: ICefWebPluginInfo; count, total: Integer): Boolean; end; // TCefWebPluginUnstableCallback // /include/capi/cef_web_plugin_capi.h (cef_web_plugin_unstable_callback_t) ICefWebPluginUnstableCallback = interface(ICefBaseRefCounted) ['{67459829-EB47-4B7E-9D69-2EE77DF0E71E}'] procedure IsUnstable(const path: ustring; unstable: Boolean); end; // TCefRegisterCDMCallback // /include/capi/cef_web_plugin_capi.h (cef_register_cdm_callback_t) ICefRegisterCDMCallback = interface(ICefBaseRefCounted) ['{6C39AB3B-F724-483F-ABA0-37F6E0AECF35}'] procedure OnCDMRegistrationComplete(result: TCefCDMRegistrationError; const error_message: ustring); end; // TCefEndTracingCallback // /include/capi/cef_trace_capi.h (cef_end_tracing_callback_t) ICefEndTracingCallback = interface(ICefBaseRefCounted) ['{79020EBE-9D1D-49A6-9714-8778FE8929F2}'] procedure OnEndTracingComplete(const tracingFile: ustring); end; // TCefFileDialogCallback // /include/capi/cef_dialog_handler_capi.h (cef_file_dialog_callback_t) ICefFileDialogCallback = interface(ICefBaseRefCounted) ['{1AF659AB-4522-4E39-9C52-184000D8E3C7}'] procedure Cont(selectedAcceptFilter: Integer; const filePaths: TStrings); procedure Cancel; end; // TCefDragData // /include/capi/cef_drag_data_capi.h (cef_drag_data_t) ICefDragData = interface(ICefBaseRefCounted) ['{FBB6A487-F633-4055-AB3E-6619EDE75683}'] function Clone: ICefDragData; function IsReadOnly: Boolean; function IsLink: Boolean; function IsFragment: Boolean; function IsFile: Boolean; function GetLinkUrl: ustring; function GetLinkTitle: ustring; function GetLinkMetadata: ustring; function GetFragmentText: ustring; function GetFragmentHtml: ustring; function GetFragmentBaseUrl: ustring; function GetFileName: ustring; function GetFileContents(const writer: ICefStreamWriter): NativeUInt; function GetFileNames(var names: TStrings): Integer; procedure SetLinkUrl(const url: ustring); procedure SetLinkTitle(const title: ustring); procedure SetLinkMetadata(const data: ustring); procedure SetFragmentText(const text: ustring); procedure SetFragmentHtml(const html: ustring); procedure SetFragmentBaseUrl(const baseUrl: ustring); procedure ResetFileContents; procedure AddFile(const path, displayName: ustring); function GetImage : ICefImage; function GetImageHotspot : TCefPoint; function HasImage : boolean; end; // TCefDragHandler // /include/capi/cef_drag_handler_capi.h (cef_drag_handler_t) ICefDragHandler = interface(ICefBaseRefCounted) ['{59A89579-5B18-489F-A25C-5CC25FF831FC}'] function OnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations): Boolean; procedure OnDraggableRegionsChanged(const browser: ICefBrowser; regionsCount: NativeUInt; regions: PCefDraggableRegionArray); procedure RemoveReferences; // custom procedure to clear all references end; // TCefFindHandler // /include/capi/cef_find_handler_capi.h (cef_find_handler_t) ICefFindHandler = interface(ICefBaseRefCounted) ['{F20DF234-BD43-42B3-A80B-D354A9E5B787}'] procedure OnFindResult(const browser: ICefBrowser; identifier, count: Integer; const selectionRect: PCefRect; activeMatchOrdinal: Integer; finalUpdate: Boolean); procedure RemoveReferences; // custom procedure to clear all references end; // TCefRequestContextHandler // /include/capi/cef_request_context_handler_capi.h (cef_request_context_handler_t) ICefRequestContextHandler = interface(ICefBaseRefCounted) ['{76EB1FA7-78DF-4FD5-ABB3-1CDD3E73A140}'] procedure OnRequestContextInitialized(const request_context: ICefRequestContext); function GetCookieManager: ICefCookieManager; function OnBeforePluginLoad(const mimeType, pluginUrl:ustring; isMainFrame : boolean; const topOriginUrl: ustring; const pluginInfo: ICefWebPluginInfo; pluginPolicy: PCefPluginPolicy): Boolean; end; // TCefResolveCallback // /include/capi/cef_request_context_capi.h (cef_resolve_callback_t) ICefResolveCallback = interface(ICefBaseRefCounted) ['{0C0EA252-7968-4163-A1BE-A1453576DD06}'] procedure OnResolveCompleted(result: TCefErrorCode; const resolvedIps: TStrings); end; // TCefRequestContext // /include/capi/cef_request_context_capi.h (cef_request_context_t) ICefRequestContext = interface(ICefBaseRefCounted) ['{5830847A-2971-4BD5-ABE6-21451F8923F7}'] function IsSame(const other: ICefRequestContext): Boolean; function IsSharingWith(const other: ICefRequestContext): Boolean; function IsGlobal: Boolean; function GetHandler: ICefRequestContextHandler; function GetCachePath: ustring; function GetDefaultCookieManager(const callback: ICefCompletionCallback): ICefCookieManager; function GetDefaultCookieManagerProc(const callback: TCefCompletionCallbackProc): ICefCookieManager; function RegisterSchemeHandlerFactory(const schemeName, domainName: ustring; const factory: ICefSchemeHandlerFactory): Boolean; function ClearSchemeHandlerFactories: Boolean; procedure PurgePluginListCache(reloadPages: Boolean); function HasPreference(const name: ustring): Boolean; function GetPreference(const name: ustring): ICefValue; function GetAllPreferences(includeDefaults: Boolean): ICefDictionaryValue; function CanSetPreference(const name: ustring): Boolean; function SetPreference(const name: ustring; const value: ICefValue; out error: ustring): Boolean; procedure ClearCertificateExceptions(const callback: ICefCompletionCallback); procedure CloseAllConnections(const callback: ICefCompletionCallback); procedure ResolveHost(const origin: ustring; const callback: ICefResolveCallback); function ResolveHostCached(const origin: ustring; const resolvedIps: TStrings): TCefErrorCode; procedure LoadExtension(const root_directory: ustring; const manifest: ICefDictionaryValue; const handler: ICefExtensionHandler); function DidLoadExtension(const extension_id: ustring): boolean; function HasExtension(const extension_id: ustring): boolean; function GetExtensions(const extension_ids: TStringList): boolean; function GetExtension(const extension_id: ustring): ICefExtension; property CachePath : ustring read GetCachePath; property IsGlobalContext : boolean read IsGlobal; end; // TCefPrintSettings // /include/capi/cef_print_settings_capi.h (cef_print_settings_t) ICefPrintSettings = Interface(ICefBaseRefCounted) ['{ACBD2395-E9C1-49E5-B7F3-344DAA4A0F12}'] function IsValid: Boolean; function IsReadOnly: Boolean; function Copy: ICefPrintSettings; procedure SetOrientation(landscape: Boolean); function IsLandscape: Boolean; procedure SetPrinterPrintableArea(const physicalSizeDeviceUnits: PCefSize; const printableAreaDeviceUnits: PCefRect; landscapeNeedsFlip: Boolean); procedure SetDeviceName(const name: ustring); function GetDeviceName: ustring; procedure SetDpi(dpi: Integer); function GetDpi: Integer; procedure SetPageRanges(const ranges: TCefRangeArray); function GetPageRangesCount: NativeUInt; procedure GetPageRanges(out ranges: TCefRangeArray); procedure SetSelectionOnly(selectionOnly: Boolean); function IsSelectionOnly: Boolean; procedure SetCollate(collate: Boolean); function WillCollate: Boolean; procedure SetColorModel(model: TCefColorModel); function GetColorModel: TCefColorModel; procedure SetCopies(copies: Integer); function GetCopies: Integer; procedure SetDuplexMode(mode: TCefDuplexMode); function GetDuplexMode: TCefDuplexMode; property Landscape : Boolean read IsLandscape write SetOrientation; property DeviceName : ustring read GetDeviceName write SetDeviceName; property Dpi : Integer read GetDpi write SetDpi; property SelectionOnly : Boolean read IsSelectionOnly write SetSelectionOnly; property Collate : Boolean read WillCollate write SetCollate; property ColorModel : TCefColorModel read GetColorModel write SetColorModel; property Copies : Integer read GetCopies write SetCopies; property DuplexMode : TCefDuplexMode read GetDuplexMode write SetDuplexMode; end; // TCefPrintDialogCallback // /include/capi/cef_print_handler_capi.h (cef_print_dialog_callback_t) ICefPrintDialogCallback = interface(ICefBaseRefCounted) ['{1D7FB71E-0019-4A80-95ED-91DDD019253B}'] procedure cont(const settings: ICefPrintSettings); procedure cancel; end; // TCefPrintJobCallback // /include/capi/cef_print_handler_capi.h (cef_print_job_callback_t) ICefPrintJobCallback = interface(ICefBaseRefCounted) ['{5554852A-052C-464B-A868-B618C7E7E2FD}'] procedure cont; end; // TCefPrintHandler // /include/capi/cef_print_handler_capi.h (cef_print_handler_t) ICefPrintHandler = interface(ICefBaseRefCounted) ['{2831D5C9-6E2B-4A30-A65A-0F4435371EFC}'] procedure OnPrintStart(const browser: ICefBrowser); procedure OnPrintSettings(const browser: ICefBrowser; const settings: ICefPrintSettings; getDefaults: boolean); function OnPrintDialog(const browser: ICefBrowser; hasSelection: boolean; const callback: ICefPrintDialogCallback): boolean; function OnPrintJob(const browser: ICefBrowser; const documentName, PDFFilePath: ustring; const callback: ICefPrintJobCallback): boolean; procedure OnPrintReset(const browser: ICefBrowser); function GetPDFPaperSize(deviceUnitsPerInch: Integer): TCefSize; end; // TCefNavigationEntry // /include/capi/cef_navigation_entry_capi.h (cef_navigation_entry_t) ICefNavigationEntry = interface(ICefBaseRefCounted) ['{D17B4B37-AA45-42D9-B4E4-AAB6FE2AB297}'] function IsValid: Boolean; function GetUrl: ustring; function GetDisplayUrl: ustring; function GetOriginalUrl: ustring; function GetTitle: ustring; function GetTransitionType: TCefTransitionType; function HasPostData: Boolean; function GetCompletionTime: TDateTime; function GetHttpStatusCode: Integer; function GetSSLStatus: ICefSSLStatus; property Url : ustring read GetUrl; property DisplayUrl : ustring read GetDisplayUrl; property OriginalUrl : ustring read GetOriginalUrl; property Title : ustring read GetTitle; property TransitionType : TCefTransitionType read GetTransitionType; property CompletionTime : TDateTime read GetCompletionTime; property HttpStatusCode : Integer read GetHttpStatusCode; property SSLStatus : ICefSSLStatus read GetSSLStatus; end; // TCefX509CertPrincipal // /include/capi/cef_x509_certificate_capi.h (cef_x509cert_principal_t) ICefX509CertPrincipal = interface(ICefBaseRefCounted) ['{CD3621ED-7D68-4A1F-95B5-190C7001B65F}'] function GetDisplayName: ustring; function GetCommonName: ustring; function GetLocalityName: ustring; function GetStateOrProvinceName: ustring; function GetCountryName: ustring; procedure GetStreetAddresses(const addresses: TStrings); procedure GetOrganizationNames(const names: TStrings); procedure GetOrganizationUnitNames(const names: TStrings); procedure GetDomainComponents(const components: TStrings); end; // TCefX509Certificate // /include/capi/cef_x509_certificate_capi.h (cef_x509certificate_t) ICefX509Certificate = interface(ICefBaseRefCounted) ['{C897979D-F068-4428-82DF-4221612FF7E0}'] function GetSubject: ICefX509CertPrincipal; function GetIssuer: ICefX509CertPrincipal; function GetSerialNumber: ICefBinaryValue; function GetValidStart: TCefTime; function GetValidExpiry: TCefTime; function GetDerEncoded: ICefBinaryValue; function GetPemEncoded: ICefBinaryValue; function GetIssuerChainSize: NativeUInt; procedure GetDEREncodedIssuerChain(chainCount: NativeUInt; var chain : TCefBinaryValueArray); procedure GetPEMEncodedIssuerChain(chainCount: NativeUInt; var chain : TCefBinaryValueArray); end; // TCefSslInfo // /include/capi/cef_ssl_info_capi.h (cef_sslinfo_t) ICefSslInfo = interface(ICefBaseRefCounted) ['{67EC86BD-DE7D-453D-908F-AD15626C514F}'] function GetCertStatus: TCefCertStatus; function GetX509Certificate: ICefX509Certificate; end; // TCefSSLStatus // /include/capi/cef_ssl_status_capi.h (cef_sslstatus_t) ICefSSLStatus = interface(ICefBaseRefCounted) ['{E3F004F2-03D5-46A2-91D0-510C50F3B225}'] function IsSecureConnection: boolean; function GetCertStatus: TCefCertStatus; function GetSSLVersion: TCefSSLVersion; function GetContentStatus: TCefSSLContentStatus; function GetX509Certificate: ICefX509Certificate; end; // TCefSelectClientCertificateCallback // /include/capi/cef_request_handler_capi.h (cef_select_client_certificate_callback_t) ICefSelectClientCertificateCallback = interface(ICefBaseRefCounted) ['{003E3D09-ADE8-4C6E-A174-079D3D616608}'] procedure Select(const cert: ICefX509Certificate); end; // TCefResourceBundle // /include/capi/cef_resource_bundle_capi.h (cef_resource_bundle_t) ICefResourceBundle = interface(ICefBaseRefCounted) ['{3213CF97-C854-452B-B615-39192F8D07DC}'] function GetLocalizedString(stringId: Integer): ustring; function GetDataResource(resourceId: Integer; var data: Pointer; var dataSize: NativeUInt): Boolean; function GetDataResourceForScale(resourceId: Integer; scaleFactor: TCefScaleFactor; var data: Pointer; var dataSize: NativeUInt): Boolean; end; // TCefImage // /include/capi/cef_image_capi.h (cef_image_t) ICefImage = interface(ICefBaseRefCounted) ['{E2C2F424-26A2-4498-BB45-DA23219831BE}'] function IsEmpty: Boolean; function IsSame(const that: ICefImage): Boolean; function AddBitmap(scaleFactor: Single; pixelWidth, pixelHeight: Integer; colorType: TCefColorType; alphaType: TCefAlphaType; const pixelData: Pointer; pixelDataSize: NativeUInt): Boolean; function AddPng(scaleFactor: Single; const pngData: Pointer; pngDataSize: NativeUInt): Boolean; function AddJpeg(scaleFactor: Single; const jpegData: Pointer; jpegDataSize: NativeUInt): Boolean; function GetWidth: NativeUInt; function GetHeight: NativeUInt; function HasRepresentation(scaleFactor: Single): Boolean; function RemoveRepresentation(scaleFactor: Single): Boolean; function GetRepresentationInfo(scaleFactor: Single; actualScaleFactor: PSingle; pixelWidth, pixelHeight: PInteger): Boolean; function GetAsBitmap(scaleFactor: Single; colorType: TCefColorType; alphaType: TCefAlphaType; pixelWidth, pixelHeight: PInteger): ICefBinaryValue; function GetAsPng(scaleFactor: Single; withTransparency: Boolean; pixelWidth, pixelHeight: PInteger): ICefBinaryValue; function GetAsJpeg(scaleFactor: Single; quality: Integer; pixelWidth, pixelHeight: PInteger): ICefBinaryValue; property Width : NativeUInt read GetWidth; property Height : NativeUInt read GetHeight; end; // TCefMenuModelDelegate // /include/capi/cef_menu_model_delegate_capi.h (cef_menu_model_delegate_t) ICefMenuModelDelegate = interface(ICefBaseRefCounted) ['{1430D202-2795-433E-9A35-C79A0996F316}'] procedure ExecuteCommand(const menuModel: ICefMenuModel; commandId: Integer; eventFlags: TCefEventFlags); procedure MouseOutsideMenu(const menuModel: ICefMenuModel; const screenPoint: PCefPoint); procedure UnhandledOpenSubmenu(const menuModel: ICefMenuModel; isRTL: boolean); procedure UnhandledCloseSubmenu(const menuModel: ICefMenuModel; isRTL: boolean); procedure MenuWillShow(const menuModel: ICefMenuModel); procedure MenuClosed(const menuModel: ICefMenuModel); function FormatLabel(const menuModel: ICefMenuModel; const label_ : ustring) : boolean; end; // TCefServer // /include/capi/cef_server_capi.h (cef_server_t) ICefServer = interface(ICefBaseRefCounted) ['{41D41764-A74B-4552-B166-C77E70549047}'] function GetTaskRunner : ICefTaskRunner; procedure Shutdown; function IsRunning : boolean; function GetAddress : ustring; function HasConnection : boolean; function IsValidConnection(connection_id: Integer) : boolean; procedure SendHttp200response(connection_id: Integer; const content_type: ustring; const data: Pointer; data_size: NativeUInt); procedure SendHttp404response(connection_id: Integer); procedure SendHttp500response(connection_id: Integer; const error_message: ustring); procedure SendHttpResponse(connection_id, response_code: Integer; const content_type: ustring; content_length: int64; const extra_headers: ICefStringMultimap); procedure SendRawData(connection_id: Integer; const data: Pointer; data_size: NativeUInt); procedure CloseConnection(connection_id: Integer); procedure SendWebSocketMessage(connection_id: Integer; const data: Pointer; data_size: NativeUInt); end; // TCefServerHandler // /include/capi/cef_server_capi.h (cef_server_handler_t) ICefServerHandler = interface(ICefBaseRefCounted) ['{AFB64A63-44C9-44CD-959B-D8E20F549879}'] procedure OnServerCreated(const server: ICefServer); procedure OnServerDestroyed(const server: ICefServer); procedure OnClientConnected(const server: ICefServer; connection_id: Integer); procedure OnClientDisconnected(const server: ICefServer; connection_id: Integer); procedure OnHttpRequest(const server: ICefServer; connection_id: Integer; const client_address: ustring; const request: ICefRequest); procedure OnWebSocketRequest(const server: ICefServer; connection_id: Integer; const client_address: ustring; const request: ICefRequest; const callback: ICefCallback); procedure OnWebSocketConnected(const server: ICefServer; connection_id: Integer); procedure OnWebSocketMessage(const server: ICefServer; connection_id: Integer; const data: Pointer; data_size: NativeUInt); end; // ********************************* // ************* Views ************* // ********************************* // TCefDisplay // /include/capi/views/cef_display_capi.h (cef_display_t) ICefDisplay = interface(ICefBaseRefCounted) ['{EC2D3606-DB4C-4894-8D38-B8F99E091965}'] function GetID : int64; function GetDeviceScaleFactor : Single; procedure ConvertPointToPixels(var point: TCefPoint); procedure ConvertPointFromPixels(var point: TCefPoint); function GetBounds : TCefRect; function GetWorkArea : TCefRect; function GetRotation : Integer; end; // TCefLayout // /include/capi/views/cef_layout_capi.h (cef_layout_t) ICefLayout = interface(ICefBaseRefCounted) ['{0EC7AE4B-1672-4D0B-B617-0BDA72F3C7F4}'] function AsBoxLayout : ICefBoxLayout; function AsFillLayout : ICefFillLayout; function IsValid : boolean; end; // TCefBoxLayout // /include/capi/views/cef_box_layout_capi.h (cef_box_layout_t) ICefBoxLayout = interface(ICefLayout) ['{E59FCCAE-A371-4C21-98D3-93D3217016AE}'] procedure SetFlexForView(const view: ICefView; flex: Integer); procedure ClearFlexForView(const view: ICefView); end; // TCefFillLayout // /include/capi/views/cef_fill_layout_capi.h (cef_fill_layout_t) ICefFillLayout = interface(ICefLayout) ['{3DB214F2-7F27-4306-82C9-8166160422B1}'] end; // TCefView // /include/capi/views/cef_view_capi.h (cef_view_t) ICefView = interface(ICefBaseRefCounted) ['{E9AF950A-F4E8-420C-BD1F-F26F4FDFA48D}'] function AsBrowserView : ICefBrowserView; function AsButton : ICefButton; function AsPanel : ICefPanel; function AsScrollView : ICefScrollView; function AsTextfield : ICefTextfield; function GetTypeString : ustring; function ToString(include_children: boolean): ustring; function IsValid : boolean; function IsAttached : boolean; function IsSame(const that: ICefView): boolean; function GetDelegate : ICefViewDelegate; function GetWindow : ICefWindow; function GetID : Integer; procedure SetID(id: Integer); function GetGroupID : Integer; procedure SetGroupID(group_id: Integer); function GetParentView : ICefView; function GetViewForID(id: Integer): ICefView; procedure SetBounds(const bounds: PCefRect); function GetBounds : TCefRect; function GetBoundsInScreen : TCefRect; procedure SetSize(const size: PCefSize); function GetSize : TCefSize; procedure SetPosition(const position: PCefPoint); function GetPosition : TCefPoint; function GetPreferredSize : TCefSize; procedure SizeToPreferredSize; function GetMinimumSize : TCefSize; function GetMaximumSize : TCefSize; function GetHeightForWidth(width: Integer): Integer; procedure InvalidateLayout; procedure SetVisible(visible: boolean); function IsVisible : boolean; function IsDrawn : boolean; procedure SetEnabled(enabled: boolean); function IsEnabled : boolean; procedure SetFocusable(focusable: boolean); function IsFocusable : boolean; function IsAccessibilityFocusable : boolean; procedure RequestFocus; procedure SetBackgroundColor(color: TCefColor); function GetBackgroundColor : TCefColor; function ConvertPointToScreen(point: PCefPoint): boolean; function ConvertPointFromScreen(point: PCefPoint): boolean; function ConvertPointToWindow(point: PCefPoint): boolean; function ConvertPointFromWindow(point: PCefPoint): boolean; function ConvertPointToView(const view : ICefView; point: PCefPoint): boolean; function ConvertPointFromView(const view : ICefView; point: PCefPoint): boolean; end; // TCefViewDelegate // /include/capi/views/cef_view_delegate_capi.h (cef_view_delegate_t) ICefViewDelegate = interface(ICefBaseRefCounted) ['{5F900206-B969-4E51-B56C-0FF38D749C72}'] function GetPreferredSize(const view: ICefView): TCefSize; function GetMinimumSize(const view: ICefView): TCefSize; function GetMaximumSize(const view: ICefView): TCefSize; function GetHeightForWidth(const view: ICefView; width: Integer): Integer; procedure OnParentViewChanged(const view: ICefView; added: boolean; const parent: ICefView); procedure OnChildViewChanged(const view: ICefView; added: boolean; const child: ICefView); procedure OnFocus(const view: ICefView); procedure OnBlur(const view: ICefView); end; // TCefTextfield // /include/capi/views/cef_textfield_capi.h (cef_textfield_t) ICefTextfield = interface(ICefView) ['{B5E30155-DEA5-4CBF-BC9D-578CBCA586D9}'] procedure SetPasswordInput(password_input: boolean); function IsPasswordInput : boolean; procedure SetReadOnly(read_only: boolean); function IsReadOnly : boolean; function GetText : ustring; procedure SetText(const text: ustring); procedure AppendText(const text: ustring); procedure InsertOrReplaceText(const text: ustring); function HasSelection : boolean; function GetSelectedText : ustring; procedure SelectAll(reversed: boolean); procedure ClearSelection; function GetSelectedRange : TCefRange; procedure SelectRange(const range: PCefRange); function GetCursorPosition : NativeUInt; procedure SetTextColor(color: TCefColor); function GetTextColor : TCefColor; procedure SetSelectionTextColor(color: TCefColor); function GetSelectionTextColor : TCefColor; procedure SetSelectionBackgroundColor(color: TCefColor); function GetSelectionBackgroundColor : TCefColor; procedure SetFontList(const font_list: ustring); procedure ApplyTextColor(color: TCefColor; const range: PCefRange); procedure ApplyTextStyle(style: TCefTextStyle; add: boolean; const range: PCefRange); function IsCommandEnabled(command_id: Integer): boolean; procedure ExecuteCommand(command_id: Integer); procedure ClearEditHistory; procedure SetPlaceholderText(const text: ustring); function GgetPlaceholderText : ustring; procedure SetPlaceholderTextColor(color: TCefColor); procedure SetAccessibleName(const name: ustring); end; // TCefTextfieldDelegate // /include/capi/views/cef_textfield_delegate_capi.h (cef_textfield_delegate_t) ICefTextfieldDelegate = interface(ICefViewDelegate) ['{72612994-92BB-4DE9-BB38-6F49FB45F94B}'] function OnKeyEvent(const textfield: ICefTextfield; const event: PCefKeyEvent): boolean; procedure OnAfterUserAction(const textfield: ICefTextfield); end; // TCefScrollView // /include/capi/views/cef_scroll_view_capi.h (cef_scroll_view_t) ICefScrollView = interface(ICefView) ['{55DF2883-0574-4F10-B6F5-DE4730964B5B}'] procedure SetContentView(const view: ICefView); function GetContentView : ICefView; function GetVisibleContentRect : TCefRect; function HasHorizontalScrollbar : boolean; function GetHorizontalScrollbarHeight : Integer; function HasVerticalScrollbar : boolean; function GetVerticalScrollbarWidth : Integer; end; // TCefPanel // /include/capi/views/cef_panel_capi.h (cef_panel_t) ICefPanel = interface(ICefView) ['{6F2F680A-3637-4438-81B8-79AD6C02252D}'] function AsWindow : ICefWindow; function SetToFillLayout : ICefFillLayout; function SetToBoxLayout(const settings: PCefBoxLayoutSettings): ICefBoxLayout; function GetLayout : ICefLayout; procedure Layout; procedure AddChildView(const view: ICefView); procedure AddChildViewAt(const view: ICefView; index: Integer); procedure ReorderChildView(const view: ICefView; index: Integer); procedure RemoveChildView(const view: ICefView); procedure RemoveAllChildViews; function GetChildViewCount : NativeUInt; function GetChildViewAt(index: Integer): ICefView; end; // TCefPanelDelegate // /include/capi/views/cef_panel_delegate_capi.h (cef_panel_delegate_t) ICefPanelDelegate = interface(ICefViewDelegate) ['{305D453F-FEBA-48ED-AE33-5D978823EA96}'] end; // TCefBrowserView // /include/capi/views/cef_browser_view_capi.h (cef_browser_view_t) ICefBrowserView = interface(ICefView) ['{A617EE5D-B933-4E14-9FC0-7E88E9B6C051}'] function GetBrowser : ICefBrowser; procedure SetPreferAccelerators(prefer_accelerators: boolean); end; // TCefBrowserViewDelegate // /include/capi/views/cef_browser_view_delegate_capi.h (cef_browser_view_delegate_t) ICefBrowserViewDelegate = interface(ICefViewDelegate) ['{578A0DD4-2E7D-4061-B4DB-7C3CDC7A90C0}'] procedure OnBrowserCreated(const browser_view: ICefBrowserView; const browser: ICefBrowser); procedure OnBrowserDestroyed(const browser_view: ICefBrowserView; const browser: ICefBrowser); function GetDelegateForPopupBrowserView(const browser_view: ICefBrowserView; const settings: PCefBrowserSettings; const client: ICefClient; is_devtools: boolean): ICefBrowserViewDelegate; function OnPopupBrowserViewCreated(const browser_view, popup_browser_view: ICefBrowserView; is_devtools: boolean): boolean; end; // TCefButton // /include/capi/views/cef_button_capi.h (cef_button_t) ICefButton = interface(ICefView) ['{D3D2E8A0-9F9C-4BD8-B495-655976534281}'] function AsLabelButton : ICefLabelButton; procedure SetState(state: TCefButtonState); function GetState : TCefButtonState; procedure SetInkDropEnabled(enabled: boolean); procedure SetTooltipText(const tooltip_text: ustring); procedure SetAccessibleName(const name: ustring); end; // TCefButtonDelegate // /include/capi/views/cef_button_delegate_capi.h (cef_button_delegate_t) ICefButtonDelegate = interface(ICefViewDelegate) ['{EA1EB5A4-DFB0-4A13-A23B-54FAF9401B39}'] procedure OnButtonPressed(const button: ICefButton); procedure OnButtonStateChanged(const button: ICefButton); end; // TCefLabelButton // /include/capi/views/cef_label_button_capi.h (cef_label_button_t) ICefLabelButton = interface(ICefButton) ['{A99FD4F3-7EE6-4796-8BF6-EC367D51EED8}'] function GetState : ICefMenuButton; procedure SetText(const text: ustring); function GetText : ustring; procedure SetImage(button_state: TCefButtonState; const image: ICefImage); function GetImage(button_state: TCefButtonState): ICefImage; procedure SetTextColor(for_state: TCefButtonState; color: TCefColor); procedure SetEnabledTextColors(color: TCefColor); procedure SetFontList(const font_list: ustring); procedure SetHorizontalAlignment(alignment: TCefHorizontalAlignment); procedure SetMinimumSize(const size: PCefSize); procedure SetMaximumSize(const size: PCefSize); end; // TCefMenuButton // /include/capi/views/cef_menu_button_capi.h (cef_menu_button_t) ICefMenuButton = interface(ICefLabelButton) ['{62BFE81A-7810-400B-83C6-76D1DF133710}'] procedure ShowMenu(const menu_model: ICefMenuModel; const screen_point: PCefPoint; anchor_position: TCefMenuAnchorPosition); procedure TriggerMenu; end; // TCefMenuButtonPressedLock // /include/capi/views/cef_menu_button_delegate_capi.h (cef_menu_button_pressed_lock_t) ICefMenuButtonPressedLock = interface(ICefBaseRefCounted) ['{71498C53-0B1D-4A05-98A0-3E589F2A1683}'] end; // TCefMenuButtonDelegate // /include/capi/views/cef_menu_button_delegate_capi.h (cef_menu_button_delegate_t) ICefMenuButtonDelegate = interface(ICefButtonDelegate) ['{D0E89A75-463A-4766-8701-BD8D24B11E9F}'] procedure OnMenuButtonPressed(const menu_button: ICefMenuButton; const screen_point: PCefPoint; const button_pressed_lock: ICefMenuButtonPressedLock); end; // TCefWindow // /include/capi/views/cef_window_capi.h (cef_window_t) ICefWindow = interface(ICefPanel) ['{C450C974-BF0A-4968-A6BE-153CEAD10DA6}'] procedure Show; procedure Hide; procedure CenterWindow(const size: PCefSize); procedure Close; function IsClosed : boolean; procedure Activate; procedure deactivate; function IsActive : boolean; procedure BringToTop; procedure SetAlwaysOnTop(on_top: boolean); function IsAlwaysOnTop : boolean; procedure Maximize; procedure Minimize; procedure Restore; procedure SetFullscreen(fullscreen: boolean); function IsMaximized : boolean; function IsMinimized : boolean; function IsFullscreen : boolean; procedure SetTitle(const title: ustring); function GetTitle : ustring; procedure SetWindowIcon(const image: ICefImage); function GetWindowIcon : ICefImage; procedure SetWindowAppIcon(const image: ICefImage); function GetWindowAppIcon : ICefImage; procedure ShowMenu(const menu_model: ICefMenuModel; const screen_point: PCefPoint; anchor_position : TCefMenuAnchorPosition); procedure CancelMenu; function GetDisplay : ICefDisplay; function GetClientAreaBoundsInScreen : TCefRect; procedure SetDraggableRegions(regionsCount: NativeUInt; regions: PCefDraggableRegionArray); function GetWindowHandle : TCefWindowHandle; procedure SendKeyPress(key_code: Integer; event_flags: cardinal); procedure SendMouseMove(screen_x, screen_y: Integer); procedure SendMouseEvents(button: TCefMouseButtonType; mouse_down, mouse_up: Integer); procedure SetAccelerator(command_id, key_code : Integer; shift_pressed, ctrl_pressed, alt_pressed: boolean); procedure RemoveAccelerator(command_id: Integer); procedure RemoveAllAccelerators; end; // TCefWindowDelegate // /include/capi/views/cef_window_delegate_capi.h (cef_window_delegate_t) ICefWindowDelegate = interface(ICefPanelDelegate) ['{52D4EE2C-303B-42B6-A35F-30D03834A23F}'] procedure OnWindowCreated(const window: ICefWindow); procedure OnWindowDestroyed(const window: ICefWindow); function GetParentWindow(const window: ICefWindow; var is_menu, can_activate_menu: boolean): ICefWindow; function IsFrameless(const window: ICefWindow): boolean; function CanResize(const window: ICefWindow): boolean; function CanMaximize(const window: ICefWindow): boolean; function CanMinimize(const window: ICefWindow): boolean; function CanClose(const window: ICefWindow): boolean; function OnAccelerator(const window: ICefWindow; command_id: Integer): boolean; function OnKeyEvent(const window: ICefWindow; const event: PCefKeyEvent): boolean; end; implementation end.