diff --git a/packages/electron/libelectron.pas b/packages/electron/libelectron.pas new file mode 100644 index 0000000..dfea2eb --- /dev/null +++ b/packages/electron/libelectron.pas @@ -0,0 +1,4853 @@ +{ + This file is part of the Pas2JS run time library. + Copyright (c) 2022- by the Pas2JS development team. + + Electron API description. Mostly autogenerated using dts2pas + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +Unit libelectron; + +{$MODE ObjFPC} +{$H+} +{$modeswitch externalclass} + +interface + +uses SysUtils, JS, Web, nodejs, node.events; + +{$INTERFACES CORBA} + +Type + // Forward class definitions + TApp = Class; + TAutoUpdater = Class; + TBluetoothDevice = Class; + TCertificate = Class; + TCertificatePrincipal = Class; + TClipboard = Class; + TContentTracing = Class; + TContextBridge = Class; + TCookie = Class; + TCPUUsage = Class; + TCrashReport = Class; + TCrashReporter = Class; + TCustomScheme = Class; + TDesktopCapturer = Class; + TDesktopCapturerSource = Class; + TDialog = Class; + TDisplay = Class; + TEvent = Class; + TExtension = Class; + TExtensionInfo = Class; + TFileFilter = Class; + TFilePathWithHeaders = Class; + TGlobalShortcut = Class; + TGPUFeatureStatus = Class; + THIDDevice = Class; + TInAppPurchase = Class; + TInputEvent = Class; + TIOCounters = Class; + TIpcMain = Class; + TIpcMainEvent = Class; + TIpcMainInvokeEvent = Class; + TIpcRenderer = Class; + TIpcRendererEvent = Class; + TJumpListCategory = Class; + TJumpListItem = Class; + TKeyboardEvent = Class; + TKeyboardInputEvent = Class; + TMemoryInfo = Class; + TMemoryUsageDetails = Class; + TMimeTypedBuffer = Class; + TMouseInputEvent = Class; + TMouseWheelInputEvent = Class; + TNativeTheme = Class; + TNet = Class; + TNetLog = Class; + TNewWindowWebContentsEvent = Class; + TNotificationAction = Class; + TNotificationResponse = Class; + TPaymentDiscount = Class; + TPoint = Class; + TPostBody = Class; + TPowerMonitor = Class; + TPowerSaveBlocker = Class; + TPrinterInfo = Class; + TProcessMemoryInfo = Class; + TProcessMetric = Class; + TProduct = Class; + TProductDiscount = Class; + TProductSubscriptionPeriod = Class; + TProtocol = Class; + TProtocolRequest = Class; + TProtocolResponse = Class; + TProtocolResponseUploadData = Class; + TRectangle = Class; + TReferrer = Class; + TSafeStorage = Class; + TScreen = Class; + TScrubberItem = Class; + TSegmentedControlSegment = Class; + TSerialPort = Class; + TServiceWorkerInfo = Class; + TSharedWorkerInfo = Class; + TSharingItem = Class; + TShell = Class; + TShortcutDetails = Class; + TSize = Class; + TSystemPreferences = Class; + TTask = Class; + TThumbarButton = Class; + TTraceCategoriesAndOptions = Class; + TTraceConfig = Class; + TTransaction = Class; + TUploadData = Class; + TUploadFile = Class; + TUploadRawData = Class; + TUserDefaultTypes = Class; + TWebFrame = Class; + TWebRequestFilter = Class; + TWebSource = Class; + TWebviewTag = Class; + TAboutPanelOptionsOptions = Class; + TAddRepresentationOptions = Class; + TAnimationSettings = Class; + TAppDetailsOptions = Class; + TApplicationInfoForProtocolReturnValue = Class; + TAuthenticationResponseDetails = Class; + TAuthInfo = Class; + TAutoResizeOptions = Class; + TBeforeSendResponse = Class; + TBitmapOptions = Class; + TBlinkMemoryInfo = Class; + TBrowserViewConstructorOptions = Class; + TBrowserWindowConstructorOptions = Class; + TCertificateTrustDialogOptions = Class; + TClearCodeCachesOptions = Class; + TClearStorageDataOptions = Class; + TClientRequestConstructorOptions = Class; + TConfig = Class; + TConfigureHostResolverOptions = Class; + TConsoleMessageEvent = Class; + TContextMenuEvent = Class; + TContextMenuParams = Class; + TContinueActivityDetails = Class; + TCookiesGetFilter = Class; + TCookiesSetDetails = Class; + TCrashReporterStartOptions = Class; + TCreateFromBitmapOptions = Class; + TCreateFromBufferOptions = Class; + TCreateInterruptedDownloadOptions = Class; + TData = Class; + TDetails = Class; + TDevicePermissionHandlerHandlerDetails = Class; + TDidChangeThemeColorEvent = Class; + TDidCreateWindowDetails = Class; + TDidFailLoadEvent = Class; + TDidFrameFinishLoadEvent = Class; + TDidFrameNavigateEvent = Class; + TDidNavigateEvent = Class; + TDidNavigateInPageEvent = Class; + TDidRedirectNavigationEvent = Class; + TDidStartNavigationEvent = Class; + TDisplayBalloonOptions = Class; + TEnableNetworkEmulationOptions = Class; + TFeedURLOptions = Class; + TFileIconOptions = Class; + TFindInPageOptions = Class; + TFocusOptions = Class; + TFoundInPageEvent = Class; + TFrameCreatedDetails = Class; + TFromPartitionOptions = Class; + THandlerDetails = Class; + THeadersReceivedResponse = Class; + THeapStatistics = Class; + THidDeviceAddedDetails = Class; + THidDeviceRemovedDetails = Class; + TIgnoreMouseEventsOptions = Class; + TImportCertificateOptions = Class; + TInfo = Class; + TInput = Class; + TInsertCSSOptions = Class; + TIpcMessageEvent = Class; + TItem = Class; + TJumpListSettings = Class; + TLoadCommitEvent = Class; + TLoadExtensionOptions = Class; + TLoadFileOptions = Class; + TLoadURLOptions = Class; + TLoginItemSettings = Class; + TLoginItemSettingsOptions = Class; + TMenuItemConstructorOptions = Class; + TMessageBoxOptions = Class; + TMessageBoxReturnValue = Class; + TMessageBoxSyncOptions = Class; + TMessageDetails = Class; + TMessageEvent = Class; + TMoveToApplicationsFolderOptions = Class; + TNewWindowEvent = Class; + TNotificationConstructorOptions = Class; + TOnBeforeRedirectListenerDetails = Class; + TOnBeforeRequestListenerDetails = Class; + TOnBeforeSendHeadersListenerDetails = Class; + TOnCompletedListenerDetails = Class; + TOnErrorOccurredListenerDetails = Class; + TOnHeadersReceivedListenerDetails = Class; + TOnResponseStartedListenerDetails = Class; + TOnSendHeadersListenerDetails = Class; + TOpenDevToolsOptions = Class; + TOpenDialogOptions = Class; + TOpenDialogReturnValue = Class; + TOpenDialogSyncOptions = Class; + TOpenExternalOptions = Class; + TOptions = Class; + TPageFaviconUpdatedEvent = Class; + TPageTitleUpdatedEvent = Class; + TParameters = Class; + TPayment = Class; + TPermissionCheckHandlerHandlerDetails = Class; + TPermissionRequestHandlerHandlerDetails = Class; + TPluginCrashedEvent = Class; + TPopupOptions = Class; + TPreconnectOptions = Class; + TPrintToPDFOptions = Class; + TPrivileges = Class; + TProgressBarOptions = Class; + TProvider = Class; + TReadBookmark = Class; + TRegistrationCompletedDetails = Class; + TRelaunchOptions = Class; + TRenderProcessGoneDetails = Class; + TRequest = Class; + TResizeOptions = Class; + TResourceUsage = Class; + TResponse = Class; + TResult = Class; + TSaveDialogOptions = Class; + TSaveDialogReturnValue = Class; + TSaveDialogSyncOptions = Class; + TSelectHidDeviceDetails = Class; + TSettings = Class; + TSourcesOptions = Class; + TSSLConfigConfig = Class; + TStartLoggingOptions = Class; + TSystemMemoryInfo = Class; + TTitleOptions = Class; + TToBitmapOptions = Class; + TToDataURLOptions = Class; + TToPNGOptions = Class; + TTouchBarButtonConstructorOptions = Class; + TTouchBarColorPickerConstructorOptions = Class; + TTouchBarConstructorOptions = Class; + TTouchBarGroupConstructorOptions = Class; + TTouchBarLabelConstructorOptions = Class; + TTouchBarPopoverConstructorOptions = Class; + TTouchBarScrubberConstructorOptions = Class; + TTouchBarSegmentedControlConstructorOptions = Class; + TTouchBarSliderConstructorOptions = Class; + TTouchBarSpacerConstructorOptions = Class; + TTraceBufferUsageReturnValue = Class; + TUpdateTargetUrlEvent = Class; + TUploadProgress = Class; + TVisibleOnAllWorkspacesOptions = Class; + TWebContentsPrintOptions = Class; + TWebviewTagPrintOptions = Class; + TWillNavigateEvent = Class; + TWillResizeDetails = Class; + TEditFlags = Class; + TFoundInPageResult = Class; + TLaunchItems = Class; + TMargins = Class; + TMediaFlags = Class; + TPageRanges = Class; + TParams = Class; + TTitleBarOverlay = Class; + TWebPreferences = Class; + TDefaultFontFamily = Class; + TRemoteMainInterface = Class; + // Forward class definitions + TAccelerator = Class; + TBrowserView = Class; + TBrowserWindow = Class; + TBrowserWindowProxy = Class; + TClientRequest = Class; + TCommandLine = Class; + TCookies = Class; + TDebugger = Class; + TDock = Class; + TDownloadItem = Class; + TIncomingMessage = Class; + TMenu = Class; + TMenuItem = Class; + TMessageChannelMain = Class; + TMessagePortMain = Class; + TNativeImage = Class; + TNotification = Class; + TServiceWorkers = Class; + TSession = Class; + TShareMenu = Class; + TTouchBar = Class; + TTouchBarButton = Class; + TTouchBarColorPicker = Class; + TTouchBarGroup = Class; + TTouchBarLabel = Class; + TTouchBarOtherItemsProxy = Class; + TTouchBarPopover = Class; + TTouchBarScrubber = Class; + TTouchBarSegmentedControl = Class; + TTouchBarSlider = Class; + TTouchBarSpacer = Class; + TTray = Class; + TWebContents = Class; + TWebFrameMain = Class; + TWebRequest = Class; + // Forward class definitions + TMainExports = Class; + TCrossProcessExports = Class; + + // Class of pointers + + TAppClass = class of TApp; + TAutoUpdaterClass = class of TAutoUpdater; + TBluetoothDeviceClass = class of TBluetoothDevice; + TCertificateClass = class of TCertificate; + TCertificatePrincipalClass = class of TCertificatePrincipal; + TClipboardClass = class of TClipboard; + TContentTracingClass = class of TContentTracing; + TContextBridgeClass = class of TContextBridge; + TCookieClass = class of TCookie; + TCPUUsageClass = class of TCPUUsage; + TCrashReportClass = class of TCrashReport; + TCrashReporterClass = class of TCrashReporter; + TCustomSchemeClass = class of TCustomScheme; + TDesktopCapturerClass = class of TDesktopCapturer; + TDesktopCapturerSourceClass = class of TDesktopCapturerSource; + TDialogClass = class of TDialog; + TDisplayClass = class of TDisplay; + TEventClass = class of TEvent; + TExtensionClass = class of TExtension; + TExtensionInfoClass = class of TExtensionInfo; + TFileFilterClass = class of TFileFilter; + TFilePathWithHeadersClass = class of TFilePathWithHeaders; + TGlobalShortcutClass = class of TGlobalShortcut; + TGPUFeatureStatusClass = class of TGPUFeatureStatus; + THIDDeviceClass = class of THIDDevice; + TInAppPurchaseClass = class of TInAppPurchase; + TInputEventClass = class of TInputEvent; + TIOCountersClass = class of TIOCounters; + TIpcMainClass = class of TIpcMain; + TIpcMainEventClass = class of TIpcMainEvent; + TIpcMainInvokeEventClass = class of TIpcMainInvokeEvent; + TIpcRendererClass = class of TIpcRenderer; + TIpcRendererEventClass = class of TIpcRendererEvent; + TJumpListCategoryClass = class of TJumpListCategory; + TJumpListItemClass = class of TJumpListItem; + TKeyboardEventClass = class of TKeyboardEvent; + TKeyboardInputEventClass = class of TKeyboardInputEvent; + TMemoryInfoClass = class of TMemoryInfo; + TMemoryUsageDetailsClass = class of TMemoryUsageDetails; + TMimeTypedBufferClass = class of TMimeTypedBuffer; + TMouseInputEventClass = class of TMouseInputEvent; + TMouseWheelInputEventClass = class of TMouseWheelInputEvent; + TNativeThemeClass = class of TNativeTheme; + TNetClass = class of TNet; + TNetLogClass = class of TNetLog; + TNewWindowWebContentsEventClass = class of TNewWindowWebContentsEvent; + TNotificationActionClass = class of TNotificationAction; + TNotificationResponseClass = class of TNotificationResponse; + TPaymentDiscountClass = class of TPaymentDiscount; + TPointClass = class of TPoint; + TPostBodyClass = class of TPostBody; + TPowerMonitorClass = class of TPowerMonitor; + TPowerSaveBlockerClass = class of TPowerSaveBlocker; + TPrinterInfoClass = class of TPrinterInfo; + TProcessMemoryInfoClass = class of TProcessMemoryInfo; + TProcessMetricClass = class of TProcessMetric; + TProductClass = class of TProduct; + TProductDiscountClass = class of TProductDiscount; + TProductSubscriptionPeriodClass = class of TProductSubscriptionPeriod; + TProtocolClass = class of TProtocol; + TProtocolRequestClass = class of TProtocolRequest; + TProtocolResponseClass = class of TProtocolResponse; + TProtocolResponseUploadDataClass = class of TProtocolResponseUploadData; + TRectangleClass = class of TRectangle; + TReferrerClass = class of TReferrer; + TSafeStorageClass = class of TSafeStorage; + TScreenClass = class of TScreen; + TScrubberItemClass = class of TScrubberItem; + TSegmentedControlSegmentClass = class of TSegmentedControlSegment; + TSerialPortClass = class of TSerialPort; + TServiceWorkerInfoClass = class of TServiceWorkerInfo; + TSharedWorkerInfoClass = class of TSharedWorkerInfo; + TSharingItemClass = class of TSharingItem; + TShellClass = class of TShell; + TShortcutDetailsClass = class of TShortcutDetails; + TSizeClass = class of TSize; + TSystemPreferencesClass = class of TSystemPreferences; + TTaskClass = class of TTask; + TThumbarButtonClass = class of TThumbarButton; + TTraceCategoriesAndOptionsClass = class of TTraceCategoriesAndOptions; + TTraceConfigClass = class of TTraceConfig; + TTransactionClass = class of TTransaction; + TUploadDataClass = class of TUploadData; + TUploadFileClass = class of TUploadFile; + TUploadRawDataClass = class of TUploadRawData; + TUserDefaultTypesClass = class of TUserDefaultTypes; + TWebFrameClass = class of TWebFrame; + TWebRequestFilterClass = class of TWebRequestFilter; + TWebSourceClass = class of TWebSource; + TWebviewTagClass = class of TWebviewTag; + TAboutPanelOptionsOptionsClass = class of TAboutPanelOptionsOptions; + TAddRepresentationOptionsClass = class of TAddRepresentationOptions; + TAnimationSettingsClass = class of TAnimationSettings; + TAppDetailsOptionsClass = class of TAppDetailsOptions; + TApplicationInfoForProtocolReturnValueClass = class of TApplicationInfoForProtocolReturnValue; + TAuthenticationResponseDetailsClass = class of TAuthenticationResponseDetails; + TAuthInfoClass = class of TAuthInfo; + TAutoResizeOptionsClass = class of TAutoResizeOptions; + TBeforeSendResponseClass = class of TBeforeSendResponse; + TBitmapOptionsClass = class of TBitmapOptions; + TBlinkMemoryInfoClass = class of TBlinkMemoryInfo; + TBrowserViewConstructorOptionsClass = class of TBrowserViewConstructorOptions; + TBrowserWindowConstructorOptionsClass = class of TBrowserWindowConstructorOptions; + TCertificateTrustDialogOptionsClass = class of TCertificateTrustDialogOptions; + TClearCodeCachesOptionsClass = class of TClearCodeCachesOptions; + TClearStorageDataOptionsClass = class of TClearStorageDataOptions; + TClientRequestConstructorOptionsClass = class of TClientRequestConstructorOptions; + TConfigClass = class of TConfig; + TConfigureHostResolverOptionsClass = class of TConfigureHostResolverOptions; + TConsoleMessageEventClass = class of TConsoleMessageEvent; + TContextMenuEventClass = class of TContextMenuEvent; + TContextMenuParamsClass = class of TContextMenuParams; + TContinueActivityDetailsClass = class of TContinueActivityDetails; + TCookiesGetFilterClass = class of TCookiesGetFilter; + TCookiesSetDetailsClass = class of TCookiesSetDetails; + TCrashReporterStartOptionsClass = class of TCrashReporterStartOptions; + TCreateFromBitmapOptionsClass = class of TCreateFromBitmapOptions; + TCreateFromBufferOptionsClass = class of TCreateFromBufferOptions; + TCreateInterruptedDownloadOptionsClass = class of TCreateInterruptedDownloadOptions; + TDataClass = class of TData; + TDetailsClass = class of TDetails; + TDevicePermissionHandlerHandlerDetailsClass = class of TDevicePermissionHandlerHandlerDetails; + TDidChangeThemeColorEventClass = class of TDidChangeThemeColorEvent; + TDidCreateWindowDetailsClass = class of TDidCreateWindowDetails; + TDidFailLoadEventClass = class of TDidFailLoadEvent; + TDidFrameFinishLoadEventClass = class of TDidFrameFinishLoadEvent; + TDidFrameNavigateEventClass = class of TDidFrameNavigateEvent; + TDidNavigateEventClass = class of TDidNavigateEvent; + TDidNavigateInPageEventClass = class of TDidNavigateInPageEvent; + TDidRedirectNavigationEventClass = class of TDidRedirectNavigationEvent; + TDidStartNavigationEventClass = class of TDidStartNavigationEvent; + TDisplayBalloonOptionsClass = class of TDisplayBalloonOptions; + TEnableNetworkEmulationOptionsClass = class of TEnableNetworkEmulationOptions; + TFeedURLOptionsClass = class of TFeedURLOptions; + TFileIconOptionsClass = class of TFileIconOptions; + TFindInPageOptionsClass = class of TFindInPageOptions; + TFocusOptionsClass = class of TFocusOptions; + TFoundInPageEventClass = class of TFoundInPageEvent; + TFrameCreatedDetailsClass = class of TFrameCreatedDetails; + TFromPartitionOptionsClass = class of TFromPartitionOptions; + THandlerDetailsClass = class of THandlerDetails; + THeadersReceivedResponseClass = class of THeadersReceivedResponse; + THeapStatisticsClass = class of THeapStatistics; + THidDeviceAddedDetailsClass = class of THidDeviceAddedDetails; + THidDeviceRemovedDetailsClass = class of THidDeviceRemovedDetails; + TIgnoreMouseEventsOptionsClass = class of TIgnoreMouseEventsOptions; + TImportCertificateOptionsClass = class of TImportCertificateOptions; + TInfoClass = class of TInfo; + TInputClass = class of TInput; + TInsertCSSOptionsClass = class of TInsertCSSOptions; + TIpcMessageEventClass = class of TIpcMessageEvent; + TItemClass = class of TItem; + TJumpListSettingsClass = class of TJumpListSettings; + TLoadCommitEventClass = class of TLoadCommitEvent; + TLoadExtensionOptionsClass = class of TLoadExtensionOptions; + TLoadFileOptionsClass = class of TLoadFileOptions; + TLoadURLOptionsClass = class of TLoadURLOptions; + TLoginItemSettingsClass = class of TLoginItemSettings; + TLoginItemSettingsOptionsClass = class of TLoginItemSettingsOptions; + TMenuItemConstructorOptionsClass = class of TMenuItemConstructorOptions; + TMessageBoxOptionsClass = class of TMessageBoxOptions; + TMessageBoxReturnValueClass = class of TMessageBoxReturnValue; + TMessageBoxSyncOptionsClass = class of TMessageBoxSyncOptions; + TMessageDetailsClass = class of TMessageDetails; + TMessageEventClass = class of TMessageEvent; + TMoveToApplicationsFolderOptionsClass = class of TMoveToApplicationsFolderOptions; + TNewWindowEventClass = class of TNewWindowEvent; + TNotificationConstructorOptionsClass = class of TNotificationConstructorOptions; + TOnBeforeRedirectListenerDetailsClass = class of TOnBeforeRedirectListenerDetails; + TOnBeforeRequestListenerDetailsClass = class of TOnBeforeRequestListenerDetails; + TOnBeforeSendHeadersListenerDetailsClass = class of TOnBeforeSendHeadersListenerDetails; + TOnCompletedListenerDetailsClass = class of TOnCompletedListenerDetails; + TOnErrorOccurredListenerDetailsClass = class of TOnErrorOccurredListenerDetails; + TOnHeadersReceivedListenerDetailsClass = class of TOnHeadersReceivedListenerDetails; + TOnResponseStartedListenerDetailsClass = class of TOnResponseStartedListenerDetails; + TOnSendHeadersListenerDetailsClass = class of TOnSendHeadersListenerDetails; + TOpenDevToolsOptionsClass = class of TOpenDevToolsOptions; + TOpenDialogOptionsClass = class of TOpenDialogOptions; + TOpenDialogReturnValueClass = class of TOpenDialogReturnValue; + TOpenDialogSyncOptionsClass = class of TOpenDialogSyncOptions; + TOpenExternalOptionsClass = class of TOpenExternalOptions; + TOptionsClass = class of TOptions; + TPageFaviconUpdatedEventClass = class of TPageFaviconUpdatedEvent; + TPageTitleUpdatedEventClass = class of TPageTitleUpdatedEvent; + TParametersClass = class of TParameters; + TPaymentClass = class of TPayment; + TPermissionCheckHandlerHandlerDetailsClass = class of TPermissionCheckHandlerHandlerDetails; + TPermissionRequestHandlerHandlerDetailsClass = class of TPermissionRequestHandlerHandlerDetails; + TPluginCrashedEventClass = class of TPluginCrashedEvent; + TPopupOptionsClass = class of TPopupOptions; + TPreconnectOptionsClass = class of TPreconnectOptions; + TPrintToPDFOptionsClass = class of TPrintToPDFOptions; + TPrivilegesClass = class of TPrivileges; + TProgressBarOptionsClass = class of TProgressBarOptions; + TProviderClass = class of TProvider; + TReadBookmarkClass = class of TReadBookmark; + TRegistrationCompletedDetailsClass = class of TRegistrationCompletedDetails; + TRelaunchOptionsClass = class of TRelaunchOptions; + TRenderProcessGoneDetailsClass = class of TRenderProcessGoneDetails; + TRequestClass = class of TRequest; + TResizeOptionsClass = class of TResizeOptions; + TResourceUsageClass = class of TResourceUsage; + TResponseClass = class of TResponse; + TResultClass = class of TResult; + TSaveDialogOptionsClass = class of TSaveDialogOptions; + TSaveDialogReturnValueClass = class of TSaveDialogReturnValue; + TSaveDialogSyncOptionsClass = class of TSaveDialogSyncOptions; + TSelectHidDeviceDetailsClass = class of TSelectHidDeviceDetails; + TSettingsClass = class of TSettings; + TSourcesOptionsClass = class of TSourcesOptions; + TSSLConfigConfigClass = class of TSSLConfigConfig; + TStartLoggingOptionsClass = class of TStartLoggingOptions; + TSystemMemoryInfoClass = class of TSystemMemoryInfo; + TTitleOptionsClass = class of TTitleOptions; + TToBitmapOptionsClass = class of TToBitmapOptions; + TToDataURLOptionsClass = class of TToDataURLOptions; + TToPNGOptionsClass = class of TToPNGOptions; + TTouchBarButtonConstructorOptionsClass = class of TTouchBarButtonConstructorOptions; + TTouchBarColorPickerConstructorOptionsClass = class of TTouchBarColorPickerConstructorOptions; + TTouchBarConstructorOptionsClass = class of TTouchBarConstructorOptions; + TTouchBarGroupConstructorOptionsClass = class of TTouchBarGroupConstructorOptions; + TTouchBarLabelConstructorOptionsClass = class of TTouchBarLabelConstructorOptions; + TTouchBarPopoverConstructorOptionsClass = class of TTouchBarPopoverConstructorOptions; + TTouchBarScrubberConstructorOptionsClass = class of TTouchBarScrubberConstructorOptions; + TTouchBarSegmentedControlConstructorOptionsClass = class of TTouchBarSegmentedControlConstructorOptions; + TTouchBarSliderConstructorOptionsClass = class of TTouchBarSliderConstructorOptions; + TTouchBarSpacerConstructorOptionsClass = class of TTouchBarSpacerConstructorOptions; + TTraceBufferUsageReturnValueClass = class of TTraceBufferUsageReturnValue; + TUpdateTargetUrlEventClass = class of TUpdateTargetUrlEvent; + TUploadProgressClass = class of TUploadProgress; + TVisibleOnAllWorkspacesOptionsClass = class of TVisibleOnAllWorkspacesOptions; + TWebContentsPrintOptionsClass = class of TWebContentsPrintOptions; + TWebviewTagPrintOptionsClass = class of TWebviewTagPrintOptions; + TWillNavigateEventClass = class of TWillNavigateEvent; + TWillResizeDetailsClass = class of TWillResizeDetails; + TEditFlagsClass = class of TEditFlags; + TFoundInPageResultClass = class of TFoundInPageResult; + TLaunchItemsClass = class of TLaunchItems; + TMarginsClass = class of TMargins; + TMediaFlagsClass = class of TMediaFlags; + TPageRangesClass = class of TPageRanges; + TParamsClass = class of TParams; + TTitleBarOverlayClass = class of TTitleBarOverlay; + TWebPreferencesClass = class of TWebPreferences; + TDefaultFontFamilyClass = class of TDefaultFontFamily; + TRemoteMainInterfaceClass = class of TRemoteMainInterface; + // Forward class definitions + TAcceleratorClass = class of TAccelerator; + TBrowserViewClass = class of TBrowserView; + TBrowserWindowClass = class of TBrowserWindow; + TBrowserWindowProxyClass = class of TBrowserWindowProxy; + TClientRequestClass = class of TClientRequest; + TCommandLineClass = class of TCommandLine; + TCookiesClass = class of TCookies; + TDebuggerClass = class of TDebugger; + TDockClass = class of TDock; + TDownloadItemClass = class of TDownloadItem; + TIncomingMessageClass = class of TIncomingMessage; + TMenuClass = class of TMenu; + TMenuItemClass = class of TMenuItem; + TMessageChannelMainClass = class of TMessageChannelMain; + TMessagePortMainClass = class of TMessagePortMain; + TNativeImageClass = class of TNativeImage; + TNotificationClass = class of TNotification; + TServiceWorkersClass = class of TServiceWorkers; + TSessionClass = class of TSession; + TShareMenuClass = class of TShareMenu; + TTouchBarClass = class of TTouchBar; + TTouchBarButtonClass = class of TTouchBarButton; + TTouchBarColorPickerClass = class of TTouchBarColorPicker; + TTouchBarGroupClass = class of TTouchBarGroup; + TTouchBarLabelClass = class of TTouchBarLabel; + TTouchBarOtherItemsProxyClass = class of TTouchBarOtherItemsProxy; + TTouchBarPopoverClass = class of TTouchBarPopover; + TTouchBarScrubberClass = class of TTouchBarScrubber; + TTouchBarSegmentedControlClass = class of TTouchBarSegmentedControl; + TTouchBarSliderClass = class of TTouchBarSlider; + TTouchBarSpacerClass = class of TTouchBarSpacer; + TTrayClass = class of TTray; + TWebContentsClass = class of TWebContents; + TWebFrameMainClass = class of TWebFrameMain; + TWebRequestClass = class of TWebRequest; + // Forward class definitions + + + // End of forward + + TAccelerator = class external name 'Accelerator' (TJSString) + end; + + TBrowserView = class external name 'BrowserView' (TJSObject) + Public + Constructor New(options : TBrowserViewConstructorOptions); overload; + Constructor New; overload; + Function getBounds: TRectangle; + Procedure setAutoResize(options : TAutoResizeOptions); + Procedure setBackgroundColor(color : string); + Procedure setBounds(bounds : TRectangle); + webContents : TWebContents; + end; + + TBrowserWindow_on_listener = Procedure (event : TEvent; isAlwaysOnTop : boolean); + TBrowserWindow_once_listener = Procedure (event : TEvent; isAlwaysOnTop : boolean); + TBrowserWindow_addListener_listener = Procedure (event : TEvent; isAlwaysOnTop : boolean); + TBrowserWindow_removeListener_listener = Procedure (event : TEvent; isAlwaysOnTop : boolean); + + TBrowserWindow_getAllWindows_Result = array of TBrowserWindow; + TBrowserWindow_getBrowserViews_Result = array of TBrowserView; + TBrowserWindow_getChildWindows_Result = array of TBrowserWindow; + TBrowserWindow_getContentSize_Result = array of Double; + TBrowserWindow_getMaximumSize_Result = array of Double; + TBrowserWindow_getMinimumSize_Result = array of Double; + TBrowserWindow_getPosition_Result = array of Double; + TBrowserWindow_getSize_Result = array of Double; + TBrowserWindow_hookWindowMessage_callback = Procedure (wParam : JSValue; lParam : JSValue); + + TBrowserWindow = class external name 'BrowserWindow' (TNJSEventEmitter) + Private + Fid : Double; external name 'id'; + FwebContents : TWebContents; external name 'webContents'; + Public + Constructor New(options : TBrowserWindowConstructorOptions); overload; + Constructor New; overload; + Function &on(event : String; listener : TBrowserWindow_on_listener): TBrowserWindow; overload; + Function &on(event : String; listener : TJSFunction): TBrowserWindow; overload; + Procedure addBrowserView(browserView : TBrowserView); + Function addListener(event : String; listener : TJSFunction): TBrowserWindow; overload; + Function addListener(event : String; listener : TBrowserWindow_addListener_listener): TBrowserWindow; overload; + Procedure addTabbedWindow(browserWindow : TBrowserWindow); + Procedure blur; + Procedure blurWebView; + Function capturePage(rect : TRectangle): TJSPromise; overload; + Function capturePage: TJSPromise; overload; + Procedure center; + Procedure close; + Procedure closeFilePreview; + Procedure destroy; + Procedure flashFrame(flag : boolean); + Procedure focus; + Procedure focusOnWebView; + Function fromBrowserView(browserView : TBrowserView): jsvalue; + Function fromId(id : Double): jsvalue; + Function fromWebContents(webContents : TWebContents): jsvalue; + Function getAllWindows: TBrowserWindow_getAllWindows_Result; + Function getBackgroundColor: string; + Function getBounds: TRectangle; + Function getBrowserView: jsvalue; + Function getBrowserViews: TBrowserWindow_getBrowserViews_Result; + Function getChildWindows: TBrowserWindow_getChildWindows_Result; + Function getContentBounds: TRectangle; + Function getContentSize: TBrowserWindow_getContentSize_Result; + Function getFocusedWindow: jsvalue; + Function getMaximumSize: TBrowserWindow_getMaximumSize_Result; + Function getMediaSourceId: string; + Function getMinimumSize: TBrowserWindow_getMinimumSize_Result; + Function getNativeWindowHandle: TNJSBuffer; + Function getNormalBounds: TRectangle; + Function getOpacity: Double; + Function getParentWindow: jsvalue; + Function getPosition: TBrowserWindow_getPosition_Result; + Function getRepresentedFilename: string; + Function getSize: TBrowserWindow_getSize_Result; + Function getTitle: string; + Function getTrafficLightPosition: TPoint; + Function hasShadow: boolean; + Procedure hide; + Procedure hookWindowMessage(message : Double; callback : TBrowserWindow_hookWindowMessage_callback); + Function isAlwaysOnTop: boolean; + Function isClosable: boolean; + Function isDestroyed: boolean; + Function isDocumentEdited: boolean; + Function isEnabled: boolean; + Procedure isFocusable; + Function isFocused: boolean; + Function isFullScreen: boolean; + Function isFullScreenable: boolean; + Function isKiosk: boolean; + Function isMaximizable: boolean; + Function isMaximized: boolean; + Function isMenuBarAutoHide: boolean; + Function isMenuBarVisible: boolean; + Function isMinimizable: boolean; + Function isMinimized: boolean; + Function isModal: boolean; + Function isMovable: boolean; + Function isNormal: boolean; + Function isResizable: boolean; + Function isSimpleFullScreen: boolean; + Function isTabletMode: boolean; + Function isVisible: boolean; + Function isVisibleOnAllWorkspaces: boolean; + Function isWindowMessageHooked(message : Double): boolean; + Function loadFile(filePath : string; options : TLoadFileOptions): TJSPromise; overload; + Function loadFile(filePath : string): TJSPromise; overload; + Function loadURL(url : string; options : TLoadURLOptions): TJSPromise; overload; + Function loadURL(url : string): TJSPromise; overload; + Procedure maximize; + Procedure mergeAllWindows; + Procedure minimize; + Procedure moveAbove(mediaSourceId : string); + Procedure moveTabToNewWindow; + Procedure moveTop; + Function once(event : String; listener : TBrowserWindow_once_listener): TBrowserWindow; overload; + Function once(event : String; listener : TJSFunction): TBrowserWindow; overload; + Procedure previewFile(path : string; displayName : string); overload; + Procedure previewFile(path : string); overload; + Procedure reload; + Procedure removeBrowserView(browserView : TBrowserView); + Function removeListener(event : String; listener : TBrowserWindow_removeListener_listener): TBrowserWindow; overload; + Function removeListener(event : String; listener : TJSFunction): TBrowserWindow; overload; + Procedure removeMenu; + Procedure restore; + Procedure selectNextTab; + Procedure selectPreviousTab; + Procedure setAlwaysOnTop(flag : boolean; level : jsvalue; relativeLevel : Double); overload; + Procedure setAlwaysOnTop(flag : boolean); overload; + Procedure setAlwaysOnTop(flag : boolean; level : jsvalue); overload; + Procedure setAppDetails(options : TAppDetailsOptions); + Procedure setAspectRatio(aspectRatio : Double; extraSize : TSize); overload; + Procedure setAspectRatio(aspectRatio : Double); overload; + Procedure setAutoHideCursor(autoHide : boolean); + Procedure setAutoHideMenuBar(hide : boolean); + Procedure setBackgroundColor(backgroundColor : string); + Procedure setBounds(bounds : TJSObject; animate : boolean); overload; + Procedure setBounds(bounds : TJSObject); overload; + Procedure setBrowserView(browserView : jsvalue); + Procedure setClosable(closable : boolean); + Procedure setContentBounds(bounds : TRectangle; animate : boolean); overload; + Procedure setContentBounds(bounds : TRectangle); overload; + Procedure setContentProtection(enable : boolean); + Procedure setContentSize(width : Double; height : Double; animate : boolean); overload; + Procedure setContentSize(width : Double; height : Double); overload; + Procedure setDocumentEdited(edited : boolean); + Procedure setEnabled(enable : boolean); + Procedure setFocusable(focusable : boolean); + Procedure setFullScreen(flag : boolean); + Procedure setFullScreenable(fullscreenable : boolean); + Procedure setHasShadow(hasShadow : boolean); + Procedure setIcon(icon : jsvalue); + Procedure setIgnoreMouseEvents(ignore : boolean; options : TIgnoreMouseEventsOptions); overload; + Procedure setIgnoreMouseEvents(ignore : boolean); overload; + Procedure setKiosk(flag : boolean); + Procedure setMaximizable(maximizable : boolean); + Procedure setMaximumSize(width : Double; height : Double); + Procedure setMenu(menu : jsvalue); + Procedure setMenuBarVisibility(visible : boolean); + Procedure setMinimizable(minimizable : boolean); + Procedure setMinimumSize(width : Double; height : Double); + Procedure setMovable(movable : boolean); + Procedure setOpacity(opacity : Double); + Procedure setOverlayIcon(overlay : jsvalue; description : string); + Procedure setParentWindow(parent : jsvalue); + Procedure setPosition(x : Double; y : Double; animate : boolean); overload; + Procedure setPosition(x : Double; y : Double); overload; + Procedure setProgressBar(progress : Double; options : TProgressBarOptions); overload; + Procedure setProgressBar(progress : Double); overload; + Procedure setRepresentedFilename(filename : string); + Procedure setResizable(resizable : boolean); + Procedure setShape(rects : array of TRectangle); + Procedure setSheetOffset(offsetY : Double; offsetX : Double); overload; + Procedure setSheetOffset(offsetY : Double); overload; + Procedure setSimpleFullScreen(flag : boolean); + Procedure setSize(width : Double; height : Double; animate : boolean); overload; + Procedure setSize(width : Double; height : Double); overload; + Procedure setSkipTaskbar(skip : boolean); + Function setThumbarButtons(buttons : array of TThumbarButton): boolean; + Procedure setThumbnailClip(region : TRectangle); + Procedure setThumbnailToolTip(toolTip : string); + Procedure setTitle(title : string); + Procedure setTopBrowserView(browserView : TBrowserView); + Procedure setTouchBar(touchBar : jsvalue); + Procedure setTrafficLightPosition(position : TPoint); + Procedure setVibrancy(&type : jsvalue); + Procedure setVisibleOnAllWorkspaces(visible : boolean; options : TVisibleOnAllWorkspacesOptions); overload; + Procedure setVisibleOnAllWorkspaces(visible : boolean); overload; + Procedure setWindowButtonVisibility(visible : boolean); + Procedure show; + Procedure showDefinitionForSelection; + Procedure showInactive; + Procedure toggleTabBar; + Procedure unhookAllWindowMessages; + Procedure unhookWindowMessage(message : Double); + Procedure unmaximize; + accessibleTitle : string; + autoHideMenuBar : boolean; + closable : boolean; + documentEdited : boolean; + excludedFromShownWindowsMenu : boolean; + focusable : boolean; + fullScreen : boolean; + fullScreenable : boolean; + Property id : Double Read Fid; + kiosk : boolean; + maximizable : boolean; + menuBarVisible : boolean; + minimizable : boolean; + movable : boolean; + representedFilename : string; + resizable : boolean; + shadow : boolean; + simpleFullScreen : boolean; + title : string; + visibleOnAllWorkspaces : boolean; + Property webContents : TWebContents Read FwebContents; + end; + + TBrowserWindowProxy = class external name 'BrowserWindowProxy' (TJSObject) + Public + Procedure blur; + Procedure close; + Procedure eval(code : string); + Procedure focus; + Procedure postMessage(message : JSValue; targetOrigin : string); + Procedure print; + closed : boolean; + end; + + TClientRequest_on_listener = Procedure (error : TJSError); + TClientRequest_once_listener = Procedure (error : TJSError); + TClientRequest_addListener_listener = Procedure (error : TJSError); + TClientRequest_removeListener_listener = Procedure (error : TJSError); + TClientRequest_on_listener_callback = Procedure (username : string; password : string); + TClientRequest_once_listener_callback = Procedure (username : string; password : string); + TClientRequest_addListener_listener_callback = Procedure (username : string; password : string); + TClientRequest_removeListener_listener_callback = Procedure (username : string; password : string); + TClientRequest_end_callback = Procedure; + TClientRequest_write_callback = Procedure; + TClientRequest = class external name 'ClientRequest' (TNJSEventEmitter) + Public + Constructor New(options : jsvalue); + Procedure &end(chunk : jsvalue; encoding : string; callback : TClientRequest_end_callback); overload; + Procedure &end; overload; + Procedure &end(chunk : jsvalue); overload; + Procedure &end(chunk : jsvalue; encoding : string); overload; + Function &on(event : String; listener : TJSFunction): TClientRequest; overload; + Function &on(event : String; listener : TClientRequest_on_listener): TClientRequest; overload; + Procedure abort; + Function addListener(event : String; listener : TJSFunction): TClientRequest; overload; + Function addListener(event : String; listener : TClientRequest_addListener_listener): TClientRequest; overload; + Procedure followRedirect; + Function getHeader(name : string): string; + Function getUploadProgress: TUploadProgress; + Function once(event : String; listener : TJSFunction): TClientRequest; overload; + Function once(event : String; listener : TClientRequest_once_listener): TClientRequest; overload; + Procedure removeHeader(name : string); + Function removeListener(event : String; listener : TJSFunction): TClientRequest; overload; + Function removeListener(event : String; listener : TClientRequest_removeListener_listener): TClientRequest; overload; + Procedure setHeader(name : string; value : string); + Procedure write(chunk : jsvalue; encoding : string; callback : TClientRequest_write_callback); overload; + Procedure write(chunk : jsvalue); overload; + Procedure write(chunk : jsvalue; encoding : string); overload; + chunkedEncoding : boolean; + end; + + TCommandLine = class external name 'CommandLine' (TJSObject) + Public + Procedure appendArgument(value : string); + Procedure appendSwitch(the_switch : string; value : string); overload; + Procedure appendSwitch(the_switch : string); overload; + Function getSwitchValue(the_switch : string): string; + Function hasSwitch(the_switch : string): boolean; + Procedure removeSwitch(the_switch : string); + end; + + TCookies_on_listener = Procedure (event : TEvent; cookie : TCookie; cause : jsvalue; removed : boolean); + TCookies_once_listener = Procedure (event : TEvent; cookie : TCookie; cause : jsvalue; removed : boolean); + TCookies_addListener_listener = Procedure (event : TEvent; cookie : TCookie; cause : jsvalue; removed : boolean); + TCookies_removeListener_listener = Procedure (event : TEvent; cookie : TCookie; cause : jsvalue; removed : boolean); + TCookies = class external name 'Cookies' (TNJSEventEmitter) + Public + Function &on(event : String; listener : TCookies_on_listener): TCookies; + Function &set(details : TCookiesSetDetails): TJSPromise; + Function addListener(event : String; listener : TCookies_addListener_listener): TCookies; reintroduce; + Function flushStore: TJSPromise; + Function get(filter : TCookiesGetFilter): TJSPromise; + Function once(event : String; listener : TCookies_once_listener): TCookies;reintroduce; + Function remove(url : string; name : string): TJSPromise; + Function removeListener(event : String; listener : TCookies_removeListener_listener): TCookies;reintroduce; + end; + + TDebugger_on_listener = Procedure (event : TEvent; reason : string); + TDebugger_once_listener = Procedure (event : TEvent; reason : string); + TDebugger_addListener_listener = Procedure (event : TEvent; reason : string); + TDebugger_removeListener_listener = Procedure (event : TEvent; reason : string); + TDebugger = class external name 'Debugger' (TNJSEventEmitter) + Public + Function &on(event : String; listener : TDebugger_on_listener): TDebugger; overload; + Function addListener(event : String; listener : TDebugger_addListener_listener): TDebugger; overload; + Procedure attach(protocolVersion : string); overload; + Procedure attach; overload; + Procedure detach; + Function isAttached: boolean; + Function once(event : String; listener : TDebugger_once_listener): TDebugger; overload; + Function removeListener(event : String; listener : TDebugger_removeListener_listener): TDebugger; overload; + Function sendCommand(method : string; commandParams : JSValue; sessionId : string): TJSPromise; overload; + Function sendCommand(method : string): TJSPromise; overload; + Function sendCommand(method : string; commandParams : JSValue): TJSPromise; overload; + end; + + TDock = class external name 'Dock' (TJSObject) + Public + Function bounce(&type : jsvalue): Double; overload; + Function bounce: Double; overload; + Procedure cancelBounce(id : Double); + Procedure downloadFinished(filePath : string); + Function getBadge: string; + Function getMenu: jsvalue; + Procedure hide; + Function isVisible: boolean; + Procedure setBadge(text : string); + Procedure setIcon(image : jsvalue); + Procedure setMenu(menu : TMenu); + Function show: TJSPromise; + end; + + TDownloadItem_on_listener = Procedure (event : TEvent; state : jsvalue); + TDownloadItem_once_listener = Procedure (event : TEvent; state : jsvalue); + TDownloadItem_addListener_listener = Procedure (event : TEvent; state : jsvalue); + TDownloadItem_removeListener_listener = Procedure (event : TEvent; state : jsvalue); + TDownloadItem_getURLChain_Result = array of string; + TDownloadItem = class external name 'DownloadItem' (TNJSEventEmitter) + Public + Function &on(event : String; listener : TDownloadItem_on_listener): TDownloadItem; overload; + Function addListener(event : String; listener : TDownloadItem_addListener_listener): TDownloadItem; overload; + Procedure cancel; + Function canResume: boolean; + Function getContentDisposition: string; + Function getETag: string; + Function getFilename: string; + Function getLastModifiedTime: string; + Function getMimeType: string; + Function getReceivedBytes: Double; + Function getSaveDialogOptions: TSaveDialogOptions; + Function getSavePath: string; + Function getStartTime: Double; + Function getState: jsvalue; + Function getTotalBytes: Double; + Function getURL: string; + Function getURLChain: TDownloadItem_getURLChain_Result; + Function hasUserGesture: boolean; + Function isPaused: boolean; + Function once(event : String; listener : TDownloadItem_once_listener): TDownloadItem; overload; + Procedure pause; + Function removeListener(event : String; listener : TDownloadItem_removeListener_listener): TDownloadItem; overload; + Procedure resume; + Procedure setSaveDialogOptions(options : TSaveDialogOptions); + Procedure setSavePath(path : string); + savePath : string; + end; + + TIncomingMessage_on_listener = Procedure (chunk : TNJSBuffer); + TIncomingMessage_once_listener = Procedure (chunk : TNJSBuffer); + TIncomingMessage_addListener_listener = Procedure (chunk : TNJSBuffer); + TIncomingMessage_removeListener_listener = Procedure (chunk : TNJSBuffer); + TIncomingMessage = class external name 'IncomingMessage' (TNJSEventEmitter) + Public + Function &on(event : String; listener : TJSFunction): TIncomingMessage; overload; + Function addListener(event : String; listener : TJSFunction): TIncomingMessage; overload; + Function once(event : String; listener : TJSFunction): TIncomingMessage; overload; + Function removeListener(event : String; listener : TJSFunction): TIncomingMessage; overload; + headers : TJSObject; + httpVersion : string; + httpVersionMajor : Double; + httpVersionMinor : Double; + statusCode : Double; + statusMessage : string; + end; + + TMenu_items = array of TMenuItem; + TMenu_on_listener = Procedure (event : TEvent); + TMenu_once_listener = Procedure (event : TEvent); + TMenu_addListener_listener = Procedure (event : TEvent); + TMenu_removeListener_listener = Procedure (event : TEvent); + TMenu = class external name 'Menu' (TJSObject) + Public + Constructor New; + Function &on(event : String; listener : TMenu_on_listener): TMenu; overload; + Function addListener(event : String; listener : TMenu_addListener_listener): TMenu; overload; + Procedure append(menuItem : TMenuItem); + Function buildFromTemplate(template : array of jsvalue): TMenu; + Procedure closePopup(browserWindow : TBrowserWindow); overload; + Procedure closePopup; overload; + Function getApplicationMenu: jsvalue; + Function getMenuItemById(id : string): jsvalue; + Procedure insert(pos : Double; menuItem : TMenuItem); + Function once(event : String; listener : TMenu_once_listener): TMenu; overload; + Procedure popup(options : TPopupOptions); overload; + Procedure popup; overload; + Function removeListener(event : String; listener : TMenu_removeListener_listener): TMenu; overload; + Procedure sendActionToFirstResponder(action : string); + Procedure setApplicationMenu(menu : jsvalue); + items : TMenu_items; + end; + + TMenuItem = class external name 'MenuItem' (TJSObject) + Private + FuserAccelerator : jsvalue; external name 'userAccelerator'; + Public + Constructor New(options : TMenuItemConstructorOptions); + accelerator : TAccelerator; + checked : boolean; + click : TJSFunction; + commandId : Double; + enabled : boolean; + icon : jsvalue; + id : string; + &label : string;external name 'label'; + menu : TMenu; + registerAccelerator : boolean; + role : jsvalue; + sharingItem : TSharingItem; + sublabel : string; + submenu : TMenu; + toolTip : string; + &type : jsvalue;external name 'type'; + Property userAccelerator : jsvalue Read FuserAccelerator; + visible : boolean; + end; + + TMessageChannelMain = class external name 'MessageChannelMain' (TNJSEventEmitter) + Public + port1 : TMessagePortMain; + port2 : TMessagePortMain; + end; + + TMessagePortMain_on_listener = Procedure (messageEvent : TMessageEvent); + TMessagePortMain_once_listener = Procedure (messageEvent : TMessageEvent); + TMessagePortMain_addListener_listener = Procedure (messageEvent : TMessageEvent); + TMessagePortMain_removeListener_listener = Procedure (messageEvent : TMessageEvent); + TMessagePortMain = class external name 'MessagePortMain' (TNJSEventEmitter) + Public + Function &on(event : String; listener : TJSFunction): TMessagePortMain; overload; + Function &on(event : String; listener : TMessagePortMain_on_listener): TMessagePortMain; overload; + Function addListener(event : String; listener : TJSFunction): TMessagePortMain; overload; + Function addListener(event : String; listener : TMessagePortMain_addListener_listener): TMessagePortMain; overload; + Procedure close; + Function once(event : String; listener : TJSFunction): TMessagePortMain; overload; + Function once(event : String; listener : TMessagePortMain_once_listener): TMessagePortMain; overload; + Procedure postMessage(message : JSValue; transfer : array of TMessagePortMain); overload; + Procedure postMessage(message : JSValue); overload; + Function removeListener(event : String; listener : TJSFunction): TMessagePortMain; overload; + Function removeListener(event : String; listener : TMessagePortMain_removeListener_listener): TMessagePortMain; overload; + Procedure start; + end; + + TNativeImage_getScaleFactors_Result = array of Double; + TNativeImage = class external name 'NativeImage' (TJSObject) + Public + Procedure addRepresentation(options : TAddRepresentationOptions); + Function createEmpty: TNativeImage; + Function createFromBitmap(buffer : TNJSBuffer; options : TCreateFromBitmapOptions): TNativeImage; + Function createFromBuffer(buffer : TNJSBuffer; options : TCreateFromBufferOptions): TNativeImage; overload; + Function createFromBuffer(buffer : TNJSBuffer): TNativeImage; overload; + Function createFromDataURL(dataURL : string): TNativeImage; + Function createFromNamedImage(imageName : string; hslShift : array of Double): TNativeImage; overload; + Function createFromNamedImage(imageName : string): TNativeImage; overload; + Function createFromPath(path : string): TNativeImage; + Function createThumbnailFromPath(path : string; maxSize : TSize): TJSPromise; + Function crop(rect : TRectangle): TNativeImage; + Function getAspectRatio(scaleFactor : Double): Double; overload; + Function getAspectRatio: Double; overload; + Function getBitmap(options : TBitmapOptions): TNJSBuffer; overload; + Function getBitmap: TNJSBuffer; overload; + Function getNativeHandle: TNJSBuffer; + Function getScaleFactors: TNativeImage_getScaleFactors_Result; + Function getSize(scaleFactor : Double): TSize; overload; + Function getSize: TSize; overload; + Function isEmpty: boolean; + Function isTemplateImage: boolean; + Function resize(options : TResizeOptions): TNativeImage; + Procedure setTemplateImage(option : boolean); + Function toBitmap(options : TToBitmapOptions): TNJSBuffer; overload; + Function toBitmap: TNJSBuffer; overload; + Function toDataURL(options : TToDataURLOptions): string; overload; + Function toDataURL: string; overload; + Function toJPEG(quality : Double): TNJSBuffer; + Function toPNG(options : TToPNGOptions): TNJSBuffer; overload; + Function toPNG: TNJSBuffer; overload; + isMacTemplateImage : boolean; + end; + + TNotification_actions = array of TNotificationAction; + TNotification_on_listener = Procedure (event : TEvent; index : Double); + TNotification_once_listener = Procedure (event : TEvent; index : Double); + TNotification_addListener_listener = Procedure (event : TEvent; index : Double); + TNotification_removeListener_listener = Procedure (event : TEvent; index : Double); + TNotification = class external name 'Notification' (TNJSEventEmitter) + Public + Constructor New(options : TNotificationConstructorOptions); overload; + Constructor New; overload; + Function &on(event : String; listener : TNotification_on_listener): TNotification; overload; + Function addListener(event : String; listener : TNotification_addListener_listener): TNotification; overload; + Procedure close; + Function isSupported: boolean; + Function once(event : String; listener : TNotification_once_listener): TNotification; overload; + Function removeListener(event : String; listener : TNotification_removeListener_listener): TNotification; overload; + Procedure show; + actions : TNotification_actions; + body : string; + closeButtonText : string; + hasReply : boolean; + replyPlaceholder : string; + silent : boolean; + sound : string; + subtitle : string; + timeoutType : jsvalue; + title : string; + toastXml : string; + urgency : jsvalue; + end; + + TServiceWorkers_on_listener = Procedure (event : TEvent; messageDetails : TMessageDetails); + TServiceWorkers_once_listener = Procedure (event : TEvent; messageDetails : TMessageDetails); + TServiceWorkers_addListener_listener = Procedure (event : TEvent; messageDetails : TMessageDetails); + TServiceWorkers_removeListener_listener = Procedure (event : TEvent; messageDetails : TMessageDetails); + TServiceWorkers = class external name 'ServiceWorkers' (TNJSEventEmitter) + Public + Function &on(event : String; listener : TServiceWorkers_on_listener): TServiceWorkers; overload; + Function addListener(event : String; listener : TServiceWorkers_addListener_listener): TServiceWorkers; overload; + Function getAllRunning: TJSObject; + Function getFromVersionID(versionId : Double): TServiceWorkerInfo; + Function once(event : String; listener : TServiceWorkers_once_listener): TServiceWorkers; overload; + Function removeListener(event : String; listener : TServiceWorkers_removeListener_listener): TServiceWorkers; overload; + end; + + TSession_availableSpellCheckerLanguages = array of string; + TSession_on_listener = Procedure (event : TEvent; extension : TExtension); + TSession_once_listener = Procedure (event : TEvent; extension : TExtension); + TSession_addListener_listener = Procedure (event : TEvent; extension : TExtension); + TSession_removeListener_listener = Procedure (event : TEvent; extension : TExtension); + TSession_on_listener_callback = Procedure (deviceId : jsvalue); + TSession_once_listener_callback = Procedure (deviceId : jsvalue); + TSession_addListener_listener_callback = Procedure (deviceId : jsvalue); + TSession_removeListener_listener_callback = Procedure (deviceId : jsvalue); + TSession_getAllExtensions_Result = array of TExtension; + TSession_getPreloads_Result = array of string; + TSession_getSpellCheckerLanguages_Result = array of string; + TSession = class external name 'Session' (TNJSEventEmitter) + Private + FavailableSpellCheckerLanguages : TSession_availableSpellCheckerLanguages; external name 'availableSpellCheckerLanguages'; + Fcookies : TCookies; external name 'cookies'; + FnetLog : TNetLog; external name 'netLog'; + Fprotocol : TProtocol; external name 'protocol'; + FserviceWorkers : TServiceWorkers; external name 'serviceWorkers'; + FstoragePath : jsvalue; external name 'storagePath'; + FwebRequest : TWebRequest; external name 'webRequest'; + Public + Function &on(event : String; listener : TSession_on_listener): TSession; overload; + Function addListener(event : String; listener : TSession_addListener_listener): TSession; overload; + Function addWordToSpellCheckerDictionary(word : string): boolean; + Procedure allowNTLMCredentialsForDomains(domains : string); + Function clearAuthCache: TJSPromise; + Function clearCache: TJSPromise; + Function clearCodeCaches(options : TClearCodeCachesOptions): TJSPromise; + Function clearHostResolverCache: TJSPromise; + Function clearStorageData(options : TClearStorageDataOptions): TJSPromise; overload; + Function clearStorageData: TJSPromise; overload; + Function closeAllConnections: TJSPromise; + Procedure createInterruptedDownload(options : TCreateInterruptedDownloadOptions); + Procedure disableNetworkEmulation; + Procedure downloadURL(url : string); + Procedure enableNetworkEmulation(options : TEnableNetworkEmulationOptions); + Procedure flushStorageData; + Function forceReloadProxyConfig: TJSPromise; + Function fromPartition(partition : string; options : TFromPartitionOptions): TSession; overload; + Function fromPartition(partition : string): TSession; overload; + Function getAllExtensions: TSession_getAllExtensions_Result; + Function getBlobData(identifier : string): TJSPromise; + Function getCacheSize: TJSPromise; + Function getExtension(extensionId : string): TExtension; + Function getPreloads: TSession_getPreloads_Result; + Function getSpellCheckerLanguages: TSession_getSpellCheckerLanguages_Result; + Procedure getStoragePath; + Function getUserAgent: string; + Function isPersistent: boolean; + Function isSpellCheckerEnabled: boolean; + Function listWordsInSpellCheckerDictionary: TJSPromise; + Function loadExtension(path : string; options : TLoadExtensionOptions): TJSPromise; overload; + Function loadExtension(path : string): TJSPromise; overload; + Function once(event : String; listener : TSession_once_listener): TSession; overload; + Procedure preconnect(options : TPreconnectOptions); + Procedure removeExtension(extensionId : string); + Function removeListener(event : String; listener : TSession_removeListener_listener): TSession; overload; + Function removeWordFromSpellCheckerDictionary(word : string): boolean; + Function resolveProxy(url : string): TJSPromise; + Procedure setCertificateVerifyProc(proc : jsvalue); + Procedure setCodeCachePath(path : string); + Procedure setDevicePermissionHandler(handler : jsvalue); + Procedure setDownloadPath(path : string); + Procedure setPermissionCheckHandler(handler : jsvalue); + Procedure setPermissionRequestHandler(handler : jsvalue); + Procedure setPreloads(preloads : array of string); + Function setProxy(config : TConfig): TJSPromise; + Procedure setSpellCheckerDictionaryDownloadURL(url : string); + Procedure setSpellCheckerEnabled(enable : boolean); + Procedure setSpellCheckerLanguages(languages : array of string); + Procedure setSSLConfig(config : TSSLConfigConfig); + Procedure setUserAgent(userAgent : string; acceptLanguages : string); overload; + Procedure setUserAgent(userAgent : string); overload; + defaultSession : TSession; + Property availableSpellCheckerLanguages : TSession_availableSpellCheckerLanguages Read FavailableSpellCheckerLanguages; + Property cookies : TCookies Read Fcookies; + Property netLog : TNetLog Read FnetLog; + Property protocol : TProtocol Read Fprotocol; + Property serviceWorkers : TServiceWorkers Read FserviceWorkers; + spellCheckerEnabled : boolean; + Property storagePath : jsvalue Read FstoragePath; + Property webRequest : TWebRequest Read FwebRequest; + end; + + TShareMenu = class external name 'ShareMenu' (TNJSEventEmitter) + Public + Constructor New(sharingItem : TSharingItem); + Procedure closePopup(browserWindow : TBrowserWindow); overload; + Procedure closePopup; overload; + Procedure popup(options : TPopupOptions); overload; + Procedure popup; overload; + end; + + TTouchBar = class external name 'TouchBar' (TJSObject) + Public + Constructor New(options : TTouchBarConstructorOptions); + escapeItem : jsvalue; + TouchBarButton : TTouchBarButton; + TouchBarColorPicker : TTouchBarColorPicker; + TouchBarGroup : TTouchBarGroup; + TouchBarLabel : TTouchBarLabel; + TouchBarOtherItemsProxy : TTouchBarOtherItemsProxy; + TouchBarPopover : TTouchBarPopover; + TouchBarScrubber : TTouchBarScrubber; + TouchBarSegmentedControl : TTouchBarSegmentedControl; + TouchBarSlider : TTouchBarSlider; + TouchBarSpacer : TTouchBarSpacer; + end; + + TTouchBarButton = class external name 'TouchBarButton' (TJSObject) + Public + Constructor New(options : TTouchBarButtonConstructorOptions); + accessibilityLabel : string; + backgroundColor : string; + enabled : boolean; + icon : TNativeImage; + iconPosition : jsvalue; + &label : string;external name 'label'; + end; + + TTouchBarColorPicker_availableColors = array of string; + TTouchBarColorPicker = class external name 'TouchBarColorPicker' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarColorPickerConstructorOptions); + availableColors : TTouchBarColorPicker_availableColors; + selectedColor : string; + end; + + TTouchBarGroup = class external name 'TouchBarGroup' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarGroupConstructorOptions); + end; + + TTouchBarLabel = class external name 'TouchBarLabel' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarLabelConstructorOptions); + accessibilityLabel : string; + &label : string;external name 'label'; + textColor : string; + end; + + TTouchBarOtherItemsProxy = class external name 'TouchBarOtherItemsProxy' (TNJSEventEmitter) + Public + Constructor New; + end; + + TTouchBarPopover = class external name 'TouchBarPopover' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarPopoverConstructorOptions); + icon : TNativeImage; + &label : string;external name 'label'; + end; + + TTouchBarScrubber_items = array of TScrubberItem; + TTouchBarScrubber = class external name 'TouchBarScrubber' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarScrubberConstructorOptions); + continuous : boolean; + items : TTouchBarScrubber_items; + mode : jsvalue; + overlayStyle : jsvalue; + selectedStyle : jsvalue; + showArrowButtons : boolean; + end; + + TTouchBarSegmentedControl_segments = array of TSegmentedControlSegment; + TTouchBarSegmentedControl = class external name 'TouchBarSegmentedControl' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarSegmentedControlConstructorOptions); + mode : jsvalue; + segments : TTouchBarSegmentedControl_segments; + segmentStyle : string; + selectedIndex : Double; + end; + + TTouchBarSlider = class external name 'TouchBarSlider' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarSliderConstructorOptions); + &label : string;external name 'label'; + maxValue : Double; + minValue : Double; + value : Double; + end; + + TTouchBarSpacer = class external name 'TouchBarSpacer' (TNJSEventEmitter) + Public + Constructor New(options : TTouchBarSpacerConstructorOptions); + size : jsvalue; + end; + + TTray_on_listener = Procedure (event : TKeyboardEvent; bounds : TRectangle; position : TPoint); + TTray_once_listener = Procedure (event : TKeyboardEvent; bounds : TRectangle; position : TPoint); + TTray_addListener_listener = Procedure (event : TKeyboardEvent; bounds : TRectangle; position : TPoint); + TTray_removeListener_listener = Procedure (event : TKeyboardEvent; bounds : TRectangle; position : TPoint); + TTray = class external name 'Tray' (TNJSEventEmitter) + Public + Constructor New(image : jsvalue; guid : string); overload; + Constructor New(image : jsvalue); overload; + Function &on(event : String; listener : TJSFunction): TTray; overload; + Function &on(event : String; listener : TTray_on_listener): TTray; overload; + Function addListener(event : String; listener : TJSFunction): TTray; overload; + Function addListener(event : String; listener : TTray_addListener_listener): TTray; overload; + Procedure closeContextMenu; + Procedure destroy; + Procedure displayBalloon(options : TDisplayBalloonOptions); + Procedure focus; + Function getBounds: TRectangle; + Function getIgnoreDoubleClickEvents: boolean; + Function getTitle: string; + Function isDestroyed: boolean; + Function once(event : String; listener : TJSFunction): TTray; overload; + Function once(event : String; listener : TTray_once_listener): TTray; overload; + Procedure popUpContextMenu(menu : TMenu; position : TPoint); overload; + Procedure popUpContextMenu; overload; + Procedure popUpContextMenu(menu : TMenu); overload; + Procedure removeBalloon; + Function removeListener(event : String; listener : TJSFunction): TTray; overload; + Function removeListener(event : String; listener : TTray_removeListener_listener): TTray; overload; + Procedure setContextMenu(menu : jsvalue); + Procedure setIgnoreDoubleClickEvents(ignore : boolean); + Procedure setImage(image : jsvalue); + Procedure setPressedImage(image : jsvalue); + Procedure setTitle(title : string; options : TTitleOptions); overload; + Procedure setTitle(title : string); overload; + Procedure setToolTip(toolTip : string); + end; + + TWebContents_getAllWebContents_Result = array of TWebContents; + TWebContents_on_listener = Procedure (event : TEvent; input : TInput); + TWebContents_once_listener = Procedure (event : TEvent; input : TInput); + TWebContents_addListener_listener = Procedure (event : TEvent; input : TInput); + TWebContents_removeListener_listener = Procedure (event : TEvent; input : TInput); + TWebContents_on_listener_callback = Procedure (isTrusted : boolean); + TWebContents_once_listener_callback = Procedure (isTrusted : boolean); + TWebContents_addListener_listener_callback = Procedure (isTrusted : boolean); + TWebContents_removeListener_listener_callback = Procedure (isTrusted : boolean); + TWebContents_beginFrameSubscription_callback = Procedure (image : TNativeImage; dirtyRect : TRectangle); + TWebContents_getAllSharedWorkers_Result = array of TSharedWorkerInfo; + TWebContents_getPrinters_Result = array of TPrinterInfo; + TWebContents_print_callback = Procedure (success : boolean; failureReason : string); + TWebContents_setWindowOpenHandler_handler = Function (details : THandlerDetails): jsvalue; + TWebContents = class external name 'WebContents' (TNJSEventEmitter) + Private + Fdebugger : TDebugger; external name 'debugger'; + FdevToolsWebContents : jsvalue; external name 'devToolsWebContents'; + FhostWebContents : TWebContents; external name 'hostWebContents'; + Fid : Double; external name 'id'; + FmainFrame : TWebFrameMain; external name 'mainFrame'; + Fsession : TSession; external name 'session'; + Public + Function &on(event : String; listener : TWebContents_on_listener): TWebContents; overload; + Function &on(event : String; listener : TJSFunction): TWebContents; overload; + Function addListener(event : String; listener : TWebContents_addListener_listener): TWebContents; overload; + Function addListener(event : String; listener : TJSFunction): TWebContents; overload; + Procedure addWorkSpace(path : string); + Procedure beginFrameSubscription(onlyDirty : boolean; callback : TWebContents_beginFrameSubscription_callback); overload; + Procedure beginFrameSubscription(callback : TWebContents_beginFrameSubscription_callback); overload; + Function canGoBack: boolean; + Function canGoForward: boolean; + Function canGoToOffset(offset : Double): boolean; + Function capturePage(rect : TRectangle): TJSPromise; overload; + Function capturePage: TJSPromise; overload; + Procedure clearHistory; + Procedure closeDevTools; + Procedure copy; + Procedure copyImageAt(x : Double; y : Double); + Procedure cut; + Procedure decrementCapturerCount(stayHidden : boolean; stayAwake : boolean); overload; + Procedure decrementCapturerCount; overload; + Procedure decrementCapturerCount(stayHidden : boolean); overload; + Procedure delete; + Procedure disableDeviceEmulation; + Procedure downloadURL(url : string); + Procedure enableDeviceEmulation(parameters : TParameters); + Procedure endFrameSubscription; + Function executeJavaScript(code : string; userGesture : boolean): TJSPromise; overload; + Function executeJavaScript(code : string): TJSPromise; overload; + Function executeJavaScriptInIsolatedWorld(worldId : Double; scripts : array of TWebSource; userGesture : boolean): TJSPromise; overload; + Function executeJavaScriptInIsolatedWorld(worldId : Double; scripts : array of TWebSource): TJSPromise; overload; + Function findInPage(text : string; options : TFindInPageOptions): Double; overload; + Function findInPage(text : string): Double; overload; + Procedure focus; + Procedure forcefullyCrashRenderer; + Function fromDevToolsTargetId(targetId : string): TWebContents; + Function fromId(id : Double): TWebContents; + Function getAllSharedWorkers: TWebContents_getAllSharedWorkers_Result; + Function getAllWebContents: TWebContents_getAllWebContents_Result; + Function getBackgroundThrottling: boolean; + Function getFocusedWebContents: TWebContents; + Function getFrameRate: Double; + Function getMediaSourceId(requestWebContents : TWebContents): string; + Function getOSProcessId: Double; + Function getPrinters: TWebContents_getPrinters_Result; + Function getPrintersAsync: TJSPromise; + Function getProcessId: Double; + Function getTitle: string; + Function getType: jsvalue; + Function getURL: string; + Function getUserAgent: string; + Function getWebRTCIPHandlingPolicy: string; + Function getZoomFactor: Double; + Function getZoomLevel: Double; + Procedure goBack; + Procedure goForward; + Procedure goToIndex(index : Double); + Procedure goToOffset(offset : Double); + Procedure incrementCapturerCount(size : TSize; stayHidden : boolean; stayAwake : boolean); overload; + Procedure incrementCapturerCount; overload; + Procedure incrementCapturerCount(size : TSize); overload; + Procedure incrementCapturerCount(size : TSize; stayHidden : boolean); overload; + Function insertCSS(css : string; options : TInsertCSSOptions): TJSPromise; overload; + Function insertCSS(css : string): TJSPromise; overload; + Function insertText(text : string): TJSPromise; + Procedure inspectElement(x : Double; y : Double); + Procedure inspectServiceWorker; + Procedure inspectSharedWorker; + Procedure inspectSharedWorkerById(workerId : string); + Procedure invalidate; + Function isAudioMuted: boolean; + Function isBeingCaptured: boolean; + Function isCrashed: boolean; + Function isCurrentlyAudible: boolean; + Function isDestroyed: boolean; + Function isDevToolsFocused: boolean; + Function isDevToolsOpened: boolean; + Function isFocused: boolean; + Function isLoading: boolean; + Function isLoadingMainFrame: boolean; + Function isOffscreen: boolean; + Function isPainting: boolean; + Function isWaitingForResponse: boolean; + Function loadFile(filePath : string; options : TLoadFileOptions): TJSPromise; overload; + Function loadFile(filePath : string): TJSPromise; overload; + Function loadURL(url : string; options : TLoadURLOptions): TJSPromise; overload; + Function loadURL(url : string): TJSPromise; overload; + Function once(event : String; listener : TWebContents_once_listener): TWebContents; overload; + Function once(event : String; listener : TJSFunction): TWebContents; overload; + Procedure openDevTools(options : TOpenDevToolsOptions); overload; + Procedure openDevTools; overload; + Procedure paste; + Procedure pasteAndMatchStyle; + Procedure postMessage(channel : string; message : JSValue; transfer : array of TMessagePortMain); overload; + Procedure postMessage(channel : string; message : JSValue); overload; + Procedure print(options : TWebContentsPrintOptions; callback : TWebContents_print_callback); overload; + Procedure print; overload; + Procedure print(options : TWebContentsPrintOptions); overload; + Function printToPDF(options : TPrintToPDFOptions): TJSPromise; + Procedure redo; + Procedure reload; + Procedure reloadIgnoringCache; + Function removeInsertedCSS(key : string): TJSPromise; + Function removeListener(event : String; listener : TWebContents_removeListener_listener): TWebContents; overload; + Function removeListener(event : String; listener : TJSFunction): TWebContents; overload; + Procedure removeWorkSpace(path : string); + Procedure replace(text : string); + Procedure replaceMisspelling(text : string); + Function savePage(fullPath : string; saveType : jsvalue): TJSPromise; + Procedure selectAll; + Procedure send(channel : string; args : array of JSValue); + Procedure sendInputEvent(inputEvent : jsvalue); + Procedure sendToFrame(frameId : jsvalue; channel : string; args : array of JSValue); + Procedure setAudioMuted(muted : boolean); + Procedure setBackgroundThrottling(allowed : boolean); + Procedure setDevToolsWebContents(devToolsWebContents : TWebContents); + Procedure setFrameRate(fps : Double); + Procedure setIgnoreMenuShortcuts(ignore : boolean); + Procedure setImageAnimationPolicy(policy : jsvalue); + Procedure setUserAgent(userAgent : string); + Function setVisualZoomLevelLimits(minimumLevel : Double; maximumLevel : Double): TJSPromise; + Procedure setWebRTCIPHandlingPolicy(policy : jsvalue); + Procedure setWindowOpenHandler(handler : TWebContents_setWindowOpenHandler_handler); + Procedure setZoomFactor(factor : Double); + Procedure setZoomLevel(level : Double); + Procedure showDefinitionForSelection; + Procedure startDrag(item : TItem); + Procedure startPainting; + Procedure stop; + Procedure stopFindInPage(action : jsvalue); + Procedure stopPainting; + Function takeHeapSnapshot(filePath : string): TJSPromise; + Procedure toggleDevTools; + Procedure undo; + Procedure unselect; + audioMuted : boolean; + backgroundThrottling : boolean; + Property debugger : TDebugger Read Fdebugger; + Property devToolsWebContents : jsvalue Read FdevToolsWebContents; + frameRate : Double; + Property hostWebContents : TWebContents Read FhostWebContents; + Property id : Double Read Fid; + Property mainFrame : TWebFrameMain Read FmainFrame; + Property session : TSession Read Fsession; + userAgent : string; + zoomFactor : Double; + zoomLevel : Double; + end; + + TWebFrameMain_frames = array of TWebFrameMain; + TWebFrameMain_framesInSubtree = array of TWebFrameMain; + TWebFrameMain = class external name 'WebFrameMain' (TNJSEventEmitter) + Private + Fframes : TWebFrameMain_frames; external name 'frames'; + FframesInSubtree : TWebFrameMain_framesInSubtree; external name 'framesInSubtree'; + FframeTreeNodeId : Double; external name 'frameTreeNodeId'; + Fname : string; external name 'name'; + FosProcessId : Double; external name 'osProcessId'; + Fparent : jsvalue; external name 'parent'; + FprocessId : Double; external name 'processId'; + FroutingId : Double; external name 'routingId'; + Ftop : jsvalue; external name 'top'; + Furl : string; external name 'url'; + FvisibilityState : string; external name 'visibilityState'; + Public + Function &on(event : String; listener : TJSFunction): TWebFrameMain; + Function addListener(event : String; listener : TJSFunction): TWebFrameMain;reintroduce; + Function executeJavaScript(code : string; userGesture : boolean): TJSPromise; overload; + Function executeJavaScript(code : string): TJSPromise; overload; + Function fromId(processId : Double; routingId : Double): jsvalue; + Function once(event : String; listener : TJSFunction): TWebFrameMain;reintroduce; + Procedure postMessage(channel : string; message : JSValue; transfer : array of TMessagePortMain); overload; + Procedure postMessage(channel : string; message : JSValue); overload; + Function reload: boolean; + Function removeListener(event : String; listener : TJSFunction): TWebFrameMain; reintroduce; + Procedure send(channel : string; args : array of JSValue); + Property frames : TWebFrameMain_frames Read Fframes; + Property framesInSubtree : TWebFrameMain_framesInSubtree Read FframesInSubtree; + Property frameTreeNodeId : Double Read FframeTreeNodeId; + Property name : string Read Fname; + Property osProcessId : Double Read FosProcessId; + Property parent : jsvalue Read Fparent; + Property processId : Double Read FprocessId; + Property routingId : Double Read FroutingId; + Property top : jsvalue Read Ftop; + Property url : string Read Furl; + Property visibilityState : string Read FvisibilityState; + end; + + TWebRequest = class external name 'WebRequest' (TJSObject) + Public + Procedure onBeforeRedirect(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onBeforeRedirect(listener : jsvalue); overload; + Procedure onBeforeRequest(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onBeforeRequest(listener : jsvalue); overload; + Procedure onBeforeSendHeaders(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onBeforeSendHeaders(listener : jsvalue); overload; + Procedure onCompleted(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onCompleted(listener : jsvalue); overload; + Procedure onErrorOccurred(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onErrorOccurred(listener : jsvalue); overload; + Procedure onHeadersReceived(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onHeadersReceived(listener : jsvalue); overload; + Procedure onResponseStarted(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onResponseStarted(listener : jsvalue); overload; + Procedure onSendHeaders(filter : TWebRequestFilter; listener : jsvalue); overload; + Procedure onSendHeaders(listener : jsvalue); overload; + end; + + + TElectronCommon = class external name 'electron' (TJSObject) + Public + TClipboard : TClipboardClass; + TCrashReporter : TCrashReporterClass; + TNativeImage : TNativeImageClass; + TShell : TShellClass; + TAboutPanelOptionsOptions : TAboutPanelOptionsOptionsClass; + TAddRepresentationOptions : TAddRepresentationOptionsClass; + TAnimationSettings : TAnimationSettingsClass; + TAppDetailsOptions : TAppDetailsOptionsClass; + TApplicationInfoForProtocolReturnValue : TApplicationInfoForProtocolReturnValueClass; + TAuthenticationResponseDetails : TAuthenticationResponseDetailsClass; + TAuthInfo : TAuthInfoClass; + TAutoResizeOptions : TAutoResizeOptionsClass; + TBeforeSendResponse : TBeforeSendResponseClass; + TBitmapOptions : TBitmapOptionsClass; + TBlinkMemoryInfo : TBlinkMemoryInfoClass; + TBrowserViewConstructorOptions : TBrowserViewConstructorOptionsClass; + TBrowserWindowConstructorOptions : TBrowserWindowConstructorOptionsClass; + TCertificateTrustDialogOptions : TCertificateTrustDialogOptionsClass; + TClearCodeCachesOptions : TClearCodeCachesOptionsClass; + TClearStorageDataOptions : TClearStorageDataOptionsClass; + TClientRequestConstructorOptions : TClientRequestConstructorOptionsClass; + TConfig : TConfigClass; + TConfigureHostResolverOptions : TConfigureHostResolverOptionsClass; + TConsoleMessageEvent : TConsoleMessageEventClass; + TContextMenuEvent : TContextMenuEventClass; + TContextMenuParams : TContextMenuParamsClass; + TContinueActivityDetails : TContinueActivityDetailsClass; + TCookiesGetFilter : TCookiesGetFilterClass; + TCookiesSetDetails : TCookiesSetDetailsClass; + TCrashReporterStartOptions : TCrashReporterStartOptionsClass; + TCreateFromBitmapOptions : TCreateFromBitmapOptionsClass; + TCreateFromBufferOptions : TCreateFromBufferOptionsClass; + TCreateInterruptedDownloadOptions : TCreateInterruptedDownloadOptionsClass; + TData : TDataClass; + TDetails : TDetailsClass; + TDevicePermissionHandlerHandlerDetails : TDevicePermissionHandlerHandlerDetailsClass; + TDidChangeThemeColorEvent : TDidChangeThemeColorEventClass; + TDidCreateWindowDetails : TDidCreateWindowDetailsClass; + TDidFailLoadEvent : TDidFailLoadEventClass; + TDidFrameFinishLoadEvent : TDidFrameFinishLoadEventClass; + TDidFrameNavigateEvent : TDidFrameNavigateEventClass; + TDidNavigateEvent : TDidNavigateEventClass; + TDidNavigateInPageEvent : TDidNavigateInPageEventClass; + TDidRedirectNavigationEvent : TDidRedirectNavigationEventClass; + TDidStartNavigationEvent : TDidStartNavigationEventClass; + TDisplayBalloonOptions : TDisplayBalloonOptionsClass; + TEnableNetworkEmulationOptions : TEnableNetworkEmulationOptionsClass; + TFeedURLOptions : TFeedURLOptionsClass; + TFileIconOptions : TFileIconOptionsClass; + TFindInPageOptions : TFindInPageOptionsClass; + TFocusOptions : TFocusOptionsClass; + TFoundInPageEvent : TFoundInPageEventClass; + TFrameCreatedDetails : TFrameCreatedDetailsClass; + TFromPartitionOptions : TFromPartitionOptionsClass; + THandlerDetails : THandlerDetailsClass; + THeadersReceivedResponse : THeadersReceivedResponseClass; + THeapStatistics : THeapStatisticsClass; + THidDeviceAddedDetails : THidDeviceAddedDetailsClass; + THidDeviceRemovedDetails : THidDeviceRemovedDetailsClass; + TIgnoreMouseEventsOptions : TIgnoreMouseEventsOptionsClass; + TImportCertificateOptions : TImportCertificateOptionsClass; + TInfo : TInfoClass; + TInput : TInputClass; + TInsertCSSOptions : TInsertCSSOptionsClass; + TIpcMessageEvent : TIpcMessageEventClass; + TItem : TItemClass; + TJumpListSettings : TJumpListSettingsClass; + TLoadCommitEvent : TLoadCommitEventClass; + TLoadExtensionOptions : TLoadExtensionOptionsClass; + TLoadFileOptions : TLoadFileOptionsClass; + TLoadURLOptions : TLoadURLOptionsClass; + TLoginItemSettings : TLoginItemSettingsClass; + TLoginItemSettingsOptions : TLoginItemSettingsOptionsClass; + TMenuItemConstructorOptions : TMenuItemConstructorOptionsClass; + TMessageBoxOptions : TMessageBoxOptionsClass; + TMessageBoxReturnValue : TMessageBoxReturnValueClass; + TMessageBoxSyncOptions : TMessageBoxSyncOptionsClass; + TMessageDetails : TMessageDetailsClass; + TMessageEvent : TMessageEventClass; + TMoveToApplicationsFolderOptions : TMoveToApplicationsFolderOptionsClass; + TNewWindowEvent : TNewWindowEventClass; + TNotificationConstructorOptions : TNotificationConstructorOptionsClass; + TOnBeforeRedirectListenerDetails : TOnBeforeRedirectListenerDetailsClass; + TOnBeforeRequestListenerDetails : TOnBeforeRequestListenerDetailsClass; + TOnBeforeSendHeadersListenerDetails : TOnBeforeSendHeadersListenerDetailsClass; + TOnCompletedListenerDetails : TOnCompletedListenerDetailsClass; + TOnErrorOccurredListenerDetails : TOnErrorOccurredListenerDetailsClass; + TOnHeadersReceivedListenerDetails : TOnHeadersReceivedListenerDetailsClass; + TOnResponseStartedListenerDetails : TOnResponseStartedListenerDetailsClass; + TOnSendHeadersListenerDetails : TOnSendHeadersListenerDetailsClass; + TOpenDevToolsOptions : TOpenDevToolsOptionsClass; + TOpenDialogOptions : TOpenDialogOptionsClass; + TOpenDialogReturnValue : TOpenDialogReturnValueClass; + TOpenDialogSyncOptions : TOpenDialogSyncOptionsClass; + TOpenExternalOptions : TOpenExternalOptionsClass; + TOptions : TOptionsClass; + TPageFaviconUpdatedEvent : TPageFaviconUpdatedEventClass; + TPageTitleUpdatedEvent : TPageTitleUpdatedEventClass; + TParameters : TParametersClass; + TPayment : TPaymentClass; + TPermissionCheckHandlerHandlerDetails : TPermissionCheckHandlerHandlerDetailsClass; + TPermissionRequestHandlerHandlerDetails : TPermissionRequestHandlerHandlerDetailsClass; + TPluginCrashedEvent : TPluginCrashedEventClass; + TPopupOptions : TPopupOptionsClass; + TPreconnectOptions : TPreconnectOptionsClass; + TPrintToPDFOptions : TPrintToPDFOptionsClass; + TPrivileges : TPrivilegesClass; + TProgressBarOptions : TProgressBarOptionsClass; + TProvider : TProviderClass; + TReadBookmark : TReadBookmarkClass; + TRegistrationCompletedDetails : TRegistrationCompletedDetailsClass; + TRelaunchOptions : TRelaunchOptionsClass; + TRenderProcessGoneDetails : TRenderProcessGoneDetailsClass; + TRequest : TRequestClass; + TResizeOptions : TResizeOptionsClass; + TResourceUsage : TResourceUsageClass; + TResponse : TResponseClass; + TResult : TResultClass; + TSaveDialogOptions : TSaveDialogOptionsClass; + TSaveDialogReturnValue : TSaveDialogReturnValueClass; + TSaveDialogSyncOptions : TSaveDialogSyncOptionsClass; + TSelectHidDeviceDetails : TSelectHidDeviceDetailsClass; + TSettings : TSettingsClass; + TSourcesOptions : TSourcesOptionsClass; + TSSLConfigConfig : TSSLConfigConfigClass; + TStartLoggingOptions : TStartLoggingOptionsClass; + TSystemMemoryInfo : TSystemMemoryInfoClass; + TTitleOptions : TTitleOptionsClass; + TToBitmapOptions : TToBitmapOptionsClass; + TToDataURLOptions : TToDataURLOptionsClass; + TToPNGOptions : TToPNGOptionsClass; + TTouchBarButtonConstructorOptions : TTouchBarButtonConstructorOptionsClass; + TTouchBarColorPickerConstructorOptions : TTouchBarColorPickerConstructorOptionsClass; + TTouchBarConstructorOptions : TTouchBarConstructorOptionsClass; + TTouchBarGroupConstructorOptions : TTouchBarGroupConstructorOptionsClass; + TTouchBarLabelConstructorOptions : TTouchBarLabelConstructorOptionsClass; + TTouchBarPopoverConstructorOptions : TTouchBarPopoverConstructorOptionsClass; + TTouchBarScrubberConstructorOptions : TTouchBarScrubberConstructorOptionsClass; + TTouchBarSegmentedControlConstructorOptions : TTouchBarSegmentedControlConstructorOptionsClass; + TTouchBarSliderConstructorOptions : TTouchBarSliderConstructorOptionsClass; + TTouchBarSpacerConstructorOptions : TTouchBarSpacerConstructorOptionsClass; + TTraceBufferUsageReturnValue : TTraceBufferUsageReturnValueClass; + TUpdateTargetUrlEvent : TUpdateTargetUrlEventClass; + TUploadProgress : TUploadProgressClass; + TVisibleOnAllWorkspacesOptions : TVisibleOnAllWorkspacesOptionsClass; + TWebContentsPrintOptions : TWebContentsPrintOptionsClass; + TWebviewTagPrintOptions : TWebviewTagPrintOptionsClass; + TWillNavigateEvent : TWillNavigateEventClass; + TWillResizeDetails : TWillResizeDetailsClass; + TEditFlags : TEditFlagsClass; + TFoundInPageResult : TFoundInPageResultClass; + TLaunchItems : TLaunchItemsClass; + TMargins : TMarginsClass; + TMediaFlags : TMediaFlagsClass; + TPageRanges : TPageRangesClass; + TParams : TParamsClass; + TTitleBarOverlay : TTitleBarOverlayClass; + TWebPreferences : TWebPreferencesClass; + TDefaultFontFamily : TDefaultFontFamilyClass; + TBluetoothDevice : TBluetoothDeviceClass; + TCertificate : TCertificateClass; + TCertificatePrincipal : TCertificatePrincipalClass; + TCookie : TCookieClass; + TCPUUsage : TCPUUsageClass; + TCrashReport : TCrashReportClass; + TCustomScheme : TCustomSchemeClass; + TDesktopCapturerSource : TDesktopCapturerSourceClass; + TDisplay : TDisplayClass; + TEvent : TEventClass; + TExtension : TExtensionClass; + TExtensionInfo : TExtensionInfoClass; + TFileFilter : TFileFilterClass; + TFilePathWithHeaders : TFilePathWithHeadersClass; + TGPUFeatureStatus : TGPUFeatureStatusClass; + THIDDevice : THIDDeviceClass; + TInputEvent : TInputEventClass; + TIOCounters : TIOCountersClass; + TIpcMainEvent : TIpcMainEventClass; + TIpcMainInvokeEvent : TIpcMainInvokeEventClass; + TIpcRendererEvent : TIpcRendererEventClass; + TJumpListCategory : TJumpListCategoryClass; + TJumpListItem : TJumpListItemClass; + TKeyboardEvent : TKeyboardEventClass; + TKeyboardInputEvent : TKeyboardInputEventClass; + TMemoryInfo : TMemoryInfoClass; + TMemoryUsageDetails : TMemoryUsageDetailsClass; + TMimeTypedBuffer : TMimeTypedBufferClass; + TMouseInputEvent : TMouseInputEventClass; + TMouseWheelInputEvent : TMouseWheelInputEventClass; + TNewWindowWebContentsEvent : TNewWindowWebContentsEventClass; + TNotificationAction : TNotificationActionClass; + TNotificationResponse : TNotificationResponseClass; + TPaymentDiscount : TPaymentDiscountClass; + TPoint : TPointClass; + TPostBody : TPostBodyClass; + TPrinterInfo : TPrinterInfoClass; + TProcessMemoryInfo : TProcessMemoryInfoClass; + TProcessMetric : TProcessMetricClass; + TProduct : TProductClass; + TProductDiscount : TProductDiscountClass; + TProductSubscriptionPeriod : TProductSubscriptionPeriodClass; + TProtocolRequest : TProtocolRequestClass; + TProtocolResponse : TProtocolResponseClass; + TProtocolResponseUploadData : TProtocolResponseUploadDataClass; + TRectangle : TRectangleClass; + TReferrer : TReferrerClass; + TScrubberItem : TScrubberItemClass; + TSegmentedControlSegment : TSegmentedControlSegmentClass; + TSerialPort : TSerialPortClass; + TServiceWorkerInfo : TServiceWorkerInfoClass; + TSharedWorkerInfo : TSharedWorkerInfoClass; + TSharingItem : TSharingItemClass; + TShortcutDetails : TShortcutDetailsClass; + TSize : TSizeClass; + TTask : TTaskClass; + TThumbarButton : TThumbarButtonClass; + TTraceCategoriesAndOptions : TTraceCategoriesAndOptionsClass; + TTraceConfig : TTraceConfigClass; + TTransaction : TTransactionClass; + TUploadData : TUploadDataClass; + TUploadFile : TUploadFileClass; + TUploadRawData : TUploadRawDataClass; + TUserDefaultTypes : TUserDefaultTypesClass; + TWebRequestFilter : TWebRequestFilterClass; + TWebSource : TWebSourceClass; + + Var + app: libelectron.TApp; + autoUpdater: libelectron.TAutoUpdater; + clipboard: libelectron.TClipboard; + contentTracing: libelectron.TContentTracing; + contextBridge: libelectron.TContextBridge; + crashReporter: libelectron.TCrashReporter; + desktopCapturer: libelectron.TDesktopCapturer; + dialog: libelectron.TDialog; + globalShortcut: libelectron.TGlobalShortcut; + inAppPurchase: libelectron.TInAppPurchase; + ipcMain: libelectron.TIpcMain; + ipcRenderer: libelectron.TIpcRenderer; + nativeImage: libelectron.TNativeImage; + nativeTheme: libelectron.TNativeTheme; + net: libelectron.TNet; + netLog: libelectron.TNetLog; + powerMonitor: libelectron.TPowerMonitor; + powerSaveBlocker: libelectron.TPowerSaveBlocker; + protocol: libelectron.TProtocol; + safeStorage: libelectron.TSafeStorage; + screen: libelectron.TScreen; + session: libelectron.TSession; + shell: libelectron.TShell; + systemPreferences: libelectron.TSystemPreferences; + webContents: libelectron.TWebContents; + webFrame: libelectron.TWebFrame; + webFrameMain: libelectron.TWebFrameMain; + end; + + + // Namespaces + + TMainExports = class external name 'Object' (TJSObject) + Public + var + app : libelectron.TApp; + autoUpdater : libelectron.TAutoUpdater; + contentTracing : libelectron.TContentTracing; + desktopCapturer : libelectron.TDesktopCapturer; + dialog : libelectron.TDialog; + globalShortcut : libelectron.TGlobalShortcut; + inAppPurchase : libelectron.TInAppPurchase; + ipcMain : libelectron.TIpcMain; + nativeTheme : libelectron.TNativeTheme; + net : libelectron.TNet; + netLog : libelectron.TNetLog; + powerMonitor : libelectron.TPowerMonitor; + powerSaveBlocker : libelectron.TPowerSaveBlocker; + protocol : libelectron.TProtocol; + safeStorage : libelectron.TSafeStorage; + screen : libelectron.TScreen; + session : libelectron.TSession; + systemPreferences : libelectron.TSystemPreferences; + webContents : libelectron.TWebContents; + webFrameMain : libelectron.TWebFrameMain; + + TBrowserView : TBrowserViewClass; external name 'BrowserView'; + TBrowserWindow : TBrowserWindowClass; external name 'BrowserWindow'; + TMenu : TMenuClass; external name 'Menu'; + TMenuItem : TMenuItemClass; external name 'MenuItem'; + TMessageChannelMain : TMessageChannelMainClass; external name 'MessageChannelMain'; + TNotification : TNotificationClass; external name 'Notification'; + TShareMenu : TShareMenuClass; external name 'ShareMenu'; + TTouchBar : TTouchBarClass; external name 'TouchBar'; + TTray : TTrayClass; external name 'Tray'; + TApp : TAppClass; external name 'App'; + TAutoUpdater : TAutoUpdaterClass; external name 'AutoUpdater'; + + end; + + // Namespaces + + TRendererExports = class external name 'Renderer' (TJSObject) + Public + TBrowserWindowProxy : TBrowserWindowProxyClass; + TContextBridge : TContextBridgeClass; + TIpcRenderer : TIpcRendererClass; + TWebFrame : TWebFrameClass; + + contextBridge: libelectron.TContextBridge; + ipcRenderer: libelectron.TIpcRenderer; + webFrame: libelectron.TWebFrame; + shell: libelectron.TShell; + nativeImage : libelectron.TNativeImage; + crashReporter : libelectron.TCrashReporter; + end; + + TPreloadExports = class external name 'Object' (TJSObject) + Public + clipboard : TClipboard; + contextBridge: TContextBridge; + crashReporter : TCrashReporter; + ipcRenderer: TIpcRenderer; + nativeImage : TNativeImage; + shell: TShell; + webFrame: TWebFrame; + end; + + + // Namespaces + + TCrossProcessExports = class external name 'CrossProcessExports' (TJSObject) + Public + TBrowserView : TBrowserViewClass; external name 'BrowserView'; + TBrowserWindow : TBrowserWindowClass; external name 'BrowserWindow'; + TMenu : TMenuClass; external name 'Menu'; + TMenuItem : TMenuItemClass; external name 'MenuItem'; + TMessageChannelMain : TMessageChannelMainClass; external name 'MessageChannelMain'; + TNotification : TNotificationClass; external name 'Notification'; + TShareMenu : TShareMenuClass; external name 'ShareMenu'; + TTouchBar : TTouchBarClass; external name 'TouchBar'; + TTray : TTrayClass; external name 'Tray'; + TApp : TAppClass; external name 'App'; + TAutoUpdater : TAutoUpdaterClass; external name 'AutoUpdater'; + + TBrowserWindowProxy : TBrowserWindowProxyClass; external name 'BrowserWindowProxy'; + TClientRequest : TClientRequestClass; external name 'ClientRequest'; + TClipboard : TClipboardClass; external name 'Clipboard'; + TCommandLine : TCommandLineClass; external name 'CommandLine'; + TContentTracing : TContentTracingClass; external name 'ContentTracing'; + TContextBridge : TContextBridgeClass; external name 'ContextBridge'; + TCookies : TCookiesClass; external name 'Cookies'; + TCrashReporter : TCrashReporterClass; external name 'CrashReporter'; + TDebugger : TDebuggerClass; external name 'Debugger'; + TDesktopCapturer : TDesktopCapturerClass; external name 'DesktopCapturer'; + TDialog : TDialogClass; external name 'Dialog'; + TDock : TDockClass; external name 'Dock'; + TDownloadItem : TDownloadItemClass; external name 'DownloadItem'; + TGlobalShortcut : TGlobalShortcutClass; external name 'GlobalShortcut'; + TInAppPurchase : TInAppPurchaseClass; external name 'InAppPurchase'; + TIncomingMessage : TIncomingMessageClass; external name 'IncomingMessage'; + TIpcMain : TIpcMainClass; external name 'IpcMain'; + TIpcRenderer : TIpcRendererClass; external name 'IpcRenderer'; + TMessagePortMain : TMessagePortMainClass; external name 'MessagePortMain'; + TNativeImage : TNativeImageClass; external name 'NativeImage'; + TNativeTheme : TNativeThemeClass; external name 'NativeTheme'; + TNet : TNetClass; external name 'Net'; + TNetLog : TNetLogClass; external name 'NetLog'; + TPowerMonitor : TPowerMonitorClass; external name 'PowerMonitor'; + TPowerSaveBlocker : TPowerSaveBlockerClass; external name 'PowerSaveBlocker'; + TProtocol : TProtocolClass; external name 'Protocol'; + TSafeStorage : TSafeStorageClass; external name 'SafeStorage'; + TScreen : TScreenClass; external name 'Screen'; + TServiceWorkers : TServiceWorkersClass; external name 'ServiceWorkers'; + TSession : TSessionClass; external name 'Session'; + TShell : TShellClass; external name 'Shell'; + TSystemPreferences : TSystemPreferencesClass; external name 'SystemPreferences'; + TTouchBarButton : TTouchBarButtonClass; external name 'TouchBarButton'; + TTouchBarColorPicker : TTouchBarColorPickerClass; external name 'TouchBarColorPicker'; + TTouchBarGroup : TTouchBarGroupClass; external name 'TouchBarGroup'; + TTouchBarLabel : TTouchBarLabelClass; external name 'TouchBarLabel'; + TTouchBarOtherItemsProxy : TTouchBarOtherItemsProxyClass; external name 'TouchBarOtherItemsProxy'; + TTouchBarPopover : TTouchBarPopoverClass; external name 'TouchBarPopover'; + TTouchBarScrubber : TTouchBarScrubberClass; external name 'TouchBarScrubber'; + TTouchBarSegmentedControl : TTouchBarSegmentedControlClass; external name 'TouchBarSegmentedControl'; + TTouchBarSlider : TTouchBarSliderClass; external name 'TouchBarSlider'; + TTouchBarSpacer : TTouchBarSpacerClass; external name 'TouchBarSpacer'; + TWebContents : TWebContentsClass; external name 'WebContents'; + TWebFrame : TWebFrameClass; external name 'WebFrame'; + TWebFrameMain : TWebFrameMainClass; external name 'WebFrameMain'; + TWebRequest : TWebRequestClass; external name 'WebRequest'; + TAboutPanelOptionsOptions : TAboutPanelOptionsOptionsClass; external name 'AboutPanelOptionsOptions'; + TAddRepresentationOptions : TAddRepresentationOptionsClass; external name 'AddRepresentationOptions'; + TAnimationSettings : TAnimationSettingsClass; external name 'AnimationSettings'; + TAppDetailsOptions : TAppDetailsOptionsClass; external name 'AppDetailsOptions'; + TApplicationInfoForProtocolReturnValue : TApplicationInfoForProtocolReturnValueClass; external name 'ApplicationInfoForProtocolReturnValue'; + TAuthenticationResponseDetails : TAuthenticationResponseDetailsClass; external name 'AuthenticationResponseDetails'; + TAuthInfo : TAuthInfoClass; external name 'AuthInfo'; + TAutoResizeOptions : TAutoResizeOptionsClass; external name 'AutoResizeOptions'; + TBeforeSendResponse : TBeforeSendResponseClass; external name 'BeforeSendResponse'; + TBitmapOptions : TBitmapOptionsClass; external name 'BitmapOptions'; + TBlinkMemoryInfo : TBlinkMemoryInfoClass; external name 'BlinkMemoryInfo'; + TBrowserViewConstructorOptions : TBrowserViewConstructorOptionsClass; external name 'BrowserViewConstructorOptions'; + TBrowserWindowConstructorOptions : TBrowserWindowConstructorOptionsClass; external name 'BrowserWindowConstructorOptions'; + TCertificateTrustDialogOptions : TCertificateTrustDialogOptionsClass; external name 'CertificateTrustDialogOptions'; + TClearCodeCachesOptions : TClearCodeCachesOptionsClass; external name 'ClearCodeCachesOptions'; + TClearStorageDataOptions : TClearStorageDataOptionsClass; external name 'ClearStorageDataOptions'; + TClientRequestConstructorOptions : TClientRequestConstructorOptionsClass; external name 'ClientRequestConstructorOptions'; + TConfig : TConfigClass; external name 'Config'; + TConfigureHostResolverOptions : TConfigureHostResolverOptionsClass; external name 'ConfigureHostResolverOptions'; + TConsoleMessageEvent : TConsoleMessageEventClass; external name 'ConsoleMessageEvent'; + TContextMenuEvent : TContextMenuEventClass; external name 'ContextMenuEvent'; + TContextMenuParams : TContextMenuParamsClass; external name 'ContextMenuParams'; + TContinueActivityDetails : TContinueActivityDetailsClass; external name 'ContinueActivityDetails'; + TCookiesGetFilter : TCookiesGetFilterClass; external name 'CookiesGetFilter'; + TCookiesSetDetails : TCookiesSetDetailsClass; external name 'CookiesSetDetails'; + TCrashReporterStartOptions : TCrashReporterStartOptionsClass; external name 'CrashReporterStartOptions'; + TCreateFromBitmapOptions : TCreateFromBitmapOptionsClass; external name 'CreateFromBitmapOptions'; + TCreateFromBufferOptions : TCreateFromBufferOptionsClass; external name 'CreateFromBufferOptions'; + TCreateInterruptedDownloadOptions : TCreateInterruptedDownloadOptionsClass; external name 'CreateInterruptedDownloadOptions'; + TData : TDataClass; external name 'Data'; + TDetails : TDetailsClass; external name 'Details'; + TDevicePermissionHandlerHandlerDetails : TDevicePermissionHandlerHandlerDetailsClass; external name 'DevicePermissionHandlerHandlerDetails'; + TDidChangeThemeColorEvent : TDidChangeThemeColorEventClass; external name 'DidChangeThemeColorEvent'; + TDidCreateWindowDetails : TDidCreateWindowDetailsClass; external name 'DidCreateWindowDetails'; + TDidFailLoadEvent : TDidFailLoadEventClass; external name 'DidFailLoadEvent'; + TDidFrameFinishLoadEvent : TDidFrameFinishLoadEventClass; external name 'DidFrameFinishLoadEvent'; + TDidFrameNavigateEvent : TDidFrameNavigateEventClass; external name 'DidFrameNavigateEvent'; + TDidNavigateEvent : TDidNavigateEventClass; external name 'DidNavigateEvent'; + TDidNavigateInPageEvent : TDidNavigateInPageEventClass; external name 'DidNavigateInPageEvent'; + TDidRedirectNavigationEvent : TDidRedirectNavigationEventClass; external name 'DidRedirectNavigationEvent'; + TDidStartNavigationEvent : TDidStartNavigationEventClass; external name 'DidStartNavigationEvent'; + TDisplayBalloonOptions : TDisplayBalloonOptionsClass; external name 'DisplayBalloonOptions'; + TEnableNetworkEmulationOptions : TEnableNetworkEmulationOptionsClass; external name 'EnableNetworkEmulationOptions'; + TFeedURLOptions : TFeedURLOptionsClass; external name 'FeedURLOptions'; + TFileIconOptions : TFileIconOptionsClass; external name 'FileIconOptions'; + TFindInPageOptions : TFindInPageOptionsClass; external name 'FindInPageOptions'; + TFocusOptions : TFocusOptionsClass; external name 'FocusOptions'; + TFoundInPageEvent : TFoundInPageEventClass; external name 'FoundInPageEvent'; + TFrameCreatedDetails : TFrameCreatedDetailsClass; external name 'FrameCreatedDetails'; + TFromPartitionOptions : TFromPartitionOptionsClass; external name 'FromPartitionOptions'; + THandlerDetails : THandlerDetailsClass; external name 'HandlerDetails'; + THeadersReceivedResponse : THeadersReceivedResponseClass; external name 'HeadersReceivedResponse'; + THeapStatistics : THeapStatisticsClass; external name 'HeapStatistics'; + THidDeviceAddedDetails : THidDeviceAddedDetailsClass; external name 'HidDeviceAddedDetails'; + THidDeviceRemovedDetails : THidDeviceRemovedDetailsClass; external name 'HidDeviceRemovedDetails'; + TIgnoreMouseEventsOptions : TIgnoreMouseEventsOptionsClass; external name 'IgnoreMouseEventsOptions'; + TImportCertificateOptions : TImportCertificateOptionsClass; external name 'ImportCertificateOptions'; + TInfo : TInfoClass; external name 'Info'; + TInput : TInputClass; external name 'Input'; + TInsertCSSOptions : TInsertCSSOptionsClass; external name 'InsertCSSOptions'; + TIpcMessageEvent : TIpcMessageEventClass; external name 'IpcMessageEvent'; + TItem : TItemClass; external name 'Item'; + TJumpListSettings : TJumpListSettingsClass; external name 'JumpListSettings'; + TLoadCommitEvent : TLoadCommitEventClass; external name 'LoadCommitEvent'; + TLoadExtensionOptions : TLoadExtensionOptionsClass; external name 'LoadExtensionOptions'; + TLoadFileOptions : TLoadFileOptionsClass; external name 'LoadFileOptions'; + TLoadURLOptions : TLoadURLOptionsClass; external name 'LoadURLOptions'; + TLoginItemSettings : TLoginItemSettingsClass; external name 'LoginItemSettings'; + TLoginItemSettingsOptions : TLoginItemSettingsOptionsClass; external name 'LoginItemSettingsOptions'; + TMenuItemConstructorOptions : TMenuItemConstructorOptionsClass; external name 'MenuItemConstructorOptions'; + TMessageBoxOptions : TMessageBoxOptionsClass; external name 'MessageBoxOptions'; + TMessageBoxReturnValue : TMessageBoxReturnValueClass; external name 'MessageBoxReturnValue'; + TMessageBoxSyncOptions : TMessageBoxSyncOptionsClass; external name 'MessageBoxSyncOptions'; + TMessageDetails : TMessageDetailsClass; external name 'MessageDetails'; + TMessageEvent : TMessageEventClass; external name 'MessageEvent'; + TMoveToApplicationsFolderOptions : TMoveToApplicationsFolderOptionsClass; external name 'MoveToApplicationsFolderOptions'; + TNewWindowEvent : TNewWindowEventClass; external name 'NewWindowEvent'; + TNotificationConstructorOptions : TNotificationConstructorOptionsClass; external name 'NotificationConstructorOptions'; + TOnBeforeRedirectListenerDetails : TOnBeforeRedirectListenerDetailsClass; external name 'OnBeforeRedirectListenerDetails'; + TOnBeforeRequestListenerDetails : TOnBeforeRequestListenerDetailsClass; external name 'OnBeforeRequestListenerDetails'; + TOnBeforeSendHeadersListenerDetails : TOnBeforeSendHeadersListenerDetailsClass; external name 'OnBeforeSendHeadersListenerDetails'; + TOnCompletedListenerDetails : TOnCompletedListenerDetailsClass; external name 'OnCompletedListenerDetails'; + TOnErrorOccurredListenerDetails : TOnErrorOccurredListenerDetailsClass; external name 'OnErrorOccurredListenerDetails'; + TOnHeadersReceivedListenerDetails : TOnHeadersReceivedListenerDetailsClass; external name 'OnHeadersReceivedListenerDetails'; + TOnResponseStartedListenerDetails : TOnResponseStartedListenerDetailsClass; external name 'OnResponseStartedListenerDetails'; + TOnSendHeadersListenerDetails : TOnSendHeadersListenerDetailsClass; external name 'OnSendHeadersListenerDetails'; + TOpenDevToolsOptions : TOpenDevToolsOptionsClass; external name 'OpenDevToolsOptions'; + TOpenDialogOptions : TOpenDialogOptionsClass; external name 'OpenDialogOptions'; + TOpenDialogReturnValue : TOpenDialogReturnValueClass; external name 'OpenDialogReturnValue'; + TOpenDialogSyncOptions : TOpenDialogSyncOptionsClass; external name 'OpenDialogSyncOptions'; + TOpenExternalOptions : TOpenExternalOptionsClass; external name 'OpenExternalOptions'; + TOptions : TOptionsClass; external name 'Options'; + TPageFaviconUpdatedEvent : TPageFaviconUpdatedEventClass; external name 'PageFaviconUpdatedEvent'; + TPageTitleUpdatedEvent : TPageTitleUpdatedEventClass; external name 'PageTitleUpdatedEvent'; + TParameters : TParametersClass; external name 'Parameters'; + TPayment : TPaymentClass; external name 'Payment'; + TPermissionCheckHandlerHandlerDetails : TPermissionCheckHandlerHandlerDetailsClass; external name 'PermissionCheckHandlerHandlerDetails'; + TPermissionRequestHandlerHandlerDetails : TPermissionRequestHandlerHandlerDetailsClass; external name 'PermissionRequestHandlerHandlerDetails'; + TPluginCrashedEvent : TPluginCrashedEventClass; external name 'PluginCrashedEvent'; + TPopupOptions : TPopupOptionsClass; external name 'PopupOptions'; + TPreconnectOptions : TPreconnectOptionsClass; external name 'PreconnectOptions'; + TPrintToPDFOptions : TPrintToPDFOptionsClass; external name 'PrintToPDFOptions'; + TPrivileges : TPrivilegesClass; external name 'Privileges'; + TProgressBarOptions : TProgressBarOptionsClass; external name 'ProgressBarOptions'; + TProvider : TProviderClass; external name 'Provider'; + TReadBookmark : TReadBookmarkClass; external name 'ReadBookmark'; + TRegistrationCompletedDetails : TRegistrationCompletedDetailsClass; external name 'RegistrationCompletedDetails'; + TRelaunchOptions : TRelaunchOptionsClass; external name 'RelaunchOptions'; + TRenderProcessGoneDetails : TRenderProcessGoneDetailsClass; external name 'RenderProcessGoneDetails'; + TRequest : TRequestClass; external name 'Request'; + TResizeOptions : TResizeOptionsClass; external name 'ResizeOptions'; + TResourceUsage : TResourceUsageClass; external name 'ResourceUsage'; + TResponse : TResponseClass; external name 'Response'; + TResult : TResultClass; external name 'Result'; + TSaveDialogOptions : TSaveDialogOptionsClass; external name 'SaveDialogOptions'; + TSaveDialogReturnValue : TSaveDialogReturnValueClass; external name 'SaveDialogReturnValue'; + TSaveDialogSyncOptions : TSaveDialogSyncOptionsClass; external name 'SaveDialogSyncOptions'; + TSelectHidDeviceDetails : TSelectHidDeviceDetailsClass; external name 'SelectHidDeviceDetails'; + TSettings : TSettingsClass; external name 'Settings'; + TSourcesOptions : TSourcesOptionsClass; external name 'SourcesOptions'; + TSSLConfigConfig : TSSLConfigConfigClass; external name 'SSLConfigConfig'; + TStartLoggingOptions : TStartLoggingOptionsClass; external name 'StartLoggingOptions'; + TSystemMemoryInfo : TSystemMemoryInfoClass; external name 'SystemMemoryInfo'; + TTitleOptions : TTitleOptionsClass; external name 'TitleOptions'; + TToBitmapOptions : TToBitmapOptionsClass; external name 'ToBitmapOptions'; + TToDataURLOptions : TToDataURLOptionsClass; external name 'ToDataURLOptions'; + TToPNGOptions : TToPNGOptionsClass; external name 'ToPNGOptions'; + TTouchBarButtonConstructorOptions : TTouchBarButtonConstructorOptionsClass; external name 'TouchBarButtonConstructorOptions'; + TTouchBarColorPickerConstructorOptions : TTouchBarColorPickerConstructorOptionsClass; external name 'TouchBarColorPickerConstructorOptions'; + TTouchBarConstructorOptions : TTouchBarConstructorOptionsClass; external name 'TouchBarConstructorOptions'; + TTouchBarGroupConstructorOptions : TTouchBarGroupConstructorOptionsClass; external name 'TouchBarGroupConstructorOptions'; + TTouchBarLabelConstructorOptions : TTouchBarLabelConstructorOptionsClass; external name 'TouchBarLabelConstructorOptions'; + TTouchBarPopoverConstructorOptions : TTouchBarPopoverConstructorOptionsClass; external name 'TouchBarPopoverConstructorOptions'; + TTouchBarScrubberConstructorOptions : TTouchBarScrubberConstructorOptionsClass; external name 'TouchBarScrubberConstructorOptions'; + TTouchBarSegmentedControlConstructorOptions : TTouchBarSegmentedControlConstructorOptionsClass; external name 'TouchBarSegmentedControlConstructorOptions'; + TTouchBarSliderConstructorOptions : TTouchBarSliderConstructorOptionsClass; external name 'TouchBarSliderConstructorOptions'; + TTouchBarSpacerConstructorOptions : TTouchBarSpacerConstructorOptionsClass; external name 'TouchBarSpacerConstructorOptions'; + TTraceBufferUsageReturnValue : TTraceBufferUsageReturnValueClass; external name 'TraceBufferUsageReturnValue'; + TUpdateTargetUrlEvent : TUpdateTargetUrlEventClass; external name 'UpdateTargetUrlEvent'; + TUploadProgress : TUploadProgressClass; external name 'UploadProgress'; + TVisibleOnAllWorkspacesOptions : TVisibleOnAllWorkspacesOptionsClass; external name 'VisibleOnAllWorkspacesOptions'; + TWebContentsPrintOptions : TWebContentsPrintOptionsClass; external name 'WebContentsPrintOptions'; + TWebviewTagPrintOptions : TWebviewTagPrintOptionsClass; external name 'WebviewTagPrintOptions'; + TWillNavigateEvent : TWillNavigateEventClass; external name 'WillNavigateEvent'; + TWillResizeDetails : TWillResizeDetailsClass; external name 'WillResizeDetails'; + TEditFlags : TEditFlagsClass; external name 'EditFlags'; + TFoundInPageResult : TFoundInPageResultClass; external name 'FoundInPageResult'; + TLaunchItems : TLaunchItemsClass; external name 'LaunchItems'; + TMargins : TMarginsClass; external name 'Margins'; + TMediaFlags : TMediaFlagsClass; external name 'MediaFlags'; + TPageRanges : TPageRangesClass; external name 'PageRanges'; + TParams : TParamsClass; external name 'Params'; + TTitleBarOverlay : TTitleBarOverlayClass; external name 'TitleBarOverlay'; + TWebPreferences : TWebPreferencesClass; external name 'WebPreferences'; + TDefaultFontFamily : TDefaultFontFamilyClass; external name 'DefaultFontFamily'; + TBluetoothDevice : TBluetoothDeviceClass; external name 'BluetoothDevice'; + TCertificate : TCertificateClass; external name 'Certificate'; + TCertificatePrincipal : TCertificatePrincipalClass; external name 'CertificatePrincipal'; + TCookie : TCookieClass; external name 'Cookie'; + TCPUUsage : TCPUUsageClass; external name 'CPUUsage'; + TCrashReport : TCrashReportClass; external name 'CrashReport'; + TCustomScheme : TCustomSchemeClass; external name 'CustomScheme'; + TDesktopCapturerSource : TDesktopCapturerSourceClass; external name 'DesktopCapturerSource'; + TDisplay : TDisplayClass; external name 'Display'; + TEvent : TEventClass; external name 'Event'; + TExtension : TExtensionClass; external name 'Extension'; + TExtensionInfo : TExtensionInfoClass; external name 'ExtensionInfo'; + TFileFilter : TFileFilterClass; external name 'FileFilter'; + TFilePathWithHeaders : TFilePathWithHeadersClass; external name 'FilePathWithHeaders'; + TGPUFeatureStatus : TGPUFeatureStatusClass; external name 'GPUFeatureStatus'; + THIDDevice : THIDDeviceClass; external name 'HIDDevice'; + TInputEvent : TInputEventClass; external name 'InputEvent'; + TIOCounters : TIOCountersClass; external name 'IOCounters'; + TIpcMainEvent : TIpcMainEventClass; external name 'IpcMainEvent'; + TIpcMainInvokeEvent : TIpcMainInvokeEventClass; external name 'IpcMainInvokeEvent'; + TIpcRendererEvent : TIpcRendererEventClass; external name 'IpcRendererEvent'; + TJumpListCategory : TJumpListCategoryClass; external name 'JumpListCategory'; + TJumpListItem : TJumpListItemClass; external name 'JumpListItem'; + TKeyboardEvent : TKeyboardEventClass; external name 'KeyboardEvent'; + TKeyboardInputEvent : TKeyboardInputEventClass; external name 'KeyboardInputEvent'; + TMemoryInfo : TMemoryInfoClass; external name 'MemoryInfo'; + TMemoryUsageDetails : TMemoryUsageDetailsClass; external name 'MemoryUsageDetails'; + TMimeTypedBuffer : TMimeTypedBufferClass; external name 'MimeTypedBuffer'; + TMouseInputEvent : TMouseInputEventClass; external name 'MouseInputEvent'; + TMouseWheelInputEvent : TMouseWheelInputEventClass; external name 'MouseWheelInputEvent'; + TNewWindowWebContentsEvent : TNewWindowWebContentsEventClass; external name 'NewWindowWebContentsEvent'; + TNotificationAction : TNotificationActionClass; external name 'NotificationAction'; + TNotificationResponse : TNotificationResponseClass; external name 'NotificationResponse'; + TPaymentDiscount : TPaymentDiscountClass; external name 'PaymentDiscount'; + TPoint : TPointClass; external name 'Point'; + TPostBody : TPostBodyClass; external name 'PostBody'; + TPrinterInfo : TPrinterInfoClass; external name 'PrinterInfo'; + TProcessMemoryInfo : TProcessMemoryInfoClass; external name 'ProcessMemoryInfo'; + TProcessMetric : TProcessMetricClass; external name 'ProcessMetric'; + TProduct : TProductClass; external name 'Product'; + TProductDiscount : TProductDiscountClass; external name 'ProductDiscount'; + TProductSubscriptionPeriod : TProductSubscriptionPeriodClass; external name 'ProductSubscriptionPeriod'; + TProtocolRequest : TProtocolRequestClass; external name 'ProtocolRequest'; + TProtocolResponse : TProtocolResponseClass; external name 'ProtocolResponse'; + TProtocolResponseUploadData : TProtocolResponseUploadDataClass; external name 'ProtocolResponseUploadData'; + TRectangle : TRectangleClass; external name 'Rectangle'; + TReferrer : TReferrerClass; external name 'Referrer'; + TScrubberItem : TScrubberItemClass; external name 'ScrubberItem'; + TSegmentedControlSegment : TSegmentedControlSegmentClass; external name 'SegmentedControlSegment'; + TSerialPort : TSerialPortClass; external name 'SerialPort'; + TServiceWorkerInfo : TServiceWorkerInfoClass; external name 'ServiceWorkerInfo'; + TSharedWorkerInfo : TSharedWorkerInfoClass; external name 'SharedWorkerInfo'; + TSharingItem : TSharingItemClass; external name 'SharingItem'; + TShortcutDetails : TShortcutDetailsClass; external name 'ShortcutDetails'; + TSize : TSizeClass; external name 'Size'; + TTask : TTaskClass; external name 'Task'; + TThumbarButton : TThumbarButtonClass; external name 'ThumbarButton'; + TTraceCategoriesAndOptions : TTraceCategoriesAndOptionsClass; external name 'TraceCategoriesAndOptions'; + TTraceConfig : TTraceConfigClass; external name 'TraceConfig'; + TTransaction : TTransactionClass; external name 'Transaction'; + TUploadData : TUploadDataClass; external name 'UploadData'; + TUploadFile : TUploadFileClass; external name 'UploadFile'; + TUploadRawData : TUploadRawDataClass; external name 'UploadRawData'; + TUserDefaultTypes : TUserDefaultTypesClass; external name 'UserDefaultTypes'; + TWebRequestFilter : TWebRequestFilterClass; external name 'WebRequestFilter'; + TWebSource : TWebSourceClass; external name 'WebSource'; + + app: libelectron.TApp; + autoUpdater: libelectron.TAutoUpdater; + clipboard: libelectron.TClipboard; + contentTracing: libelectron.TContentTracing; + contextBridge: libelectron.TContextBridge; + crashReporter: libelectron.TCrashReporter; + desktopCapturer: libelectron.TDesktopCapturer; + dialog: libelectron.TDialog; + globalShortcut: libelectron.TGlobalShortcut; + inAppPurchase: libelectron.TInAppPurchase; + ipcMain: libelectron.TIpcMain; + ipcRenderer: libelectron.TIpcRenderer; + nativeTheme: libelectron.TNativeTheme; + net: libelectron.TNet; + netLog: libelectron.TNetLog; + powerMonitor: libelectron.TPowerMonitor; + powerSaveBlocker: libelectron.TPowerSaveBlocker; + protocol: libelectron.TProtocol; + safeStorage: libelectron.TSafeStorage; + screen: libelectron.TScreen; + shell: libelectron.TShell; + systemPreferences: libelectron.TSystemPreferences; + webFrame: libelectron.TWebFrame; + end; + + TApp_on_listener = Procedure (event : TEvent; accessibilitySupportEnabled : boolean); + TApp_once_listener = Procedure (event : TEvent; accessibilitySupportEnabled : boolean); + TApp_addListener_listener = Procedure (event : TEvent; accessibilitySupportEnabled : boolean); + TApp_removeListener_listener = Procedure (event : TEvent; accessibilitySupportEnabled : boolean); + TApp_on_listener_callback = Procedure (isTrusted : boolean); + TApp_once_listener_callback = Procedure (isTrusted : boolean); + TApp_addListener_listener_callback = Procedure (isTrusted : boolean); + TApp_removeListener_listener_callback = Procedure (isTrusted : boolean); + TApp_getAppMetrics_Result = array of TProcessMetric; + TApp_importCertificate_callback = Procedure (result : Double); + TApp = class external name 'Object' (TJSObject) + FcommandLine : TCommandLine; external name 'commandLine'; + Fdock : TDock; external name 'dock'; + FisPackaged : boolean; external name 'isPackaged'; + FrunningUnderARM64Translation : boolean; external name 'runningUnderARM64Translation'; + FrunningUnderRosettaTranslation : boolean; external name 'runningUnderRosettaTranslation'; + Procedure &exit(exitCode : Double); overload; + Procedure &exit; overload; + Function &on(event : String; listener : TJSFunction): TApp; overload; + Function &on(event : String; listener : TApp_on_listener): TApp; overload; + Function addListener(event : String; listener : TApp_addListener_listener): TApp; overload; + Function addListener(event : String; listener : TJSFunction): TApp; overload; + Procedure addRecentDocument(path : string); + Procedure clearRecentDocuments; + Procedure configureHostResolver(options : TConfigureHostResolverOptions); + Procedure disableDomainBlockingFor3DAPIs; + Procedure disableHardwareAcceleration; + Procedure enableSandbox; + Procedure focus(options : TFocusOptions); overload; + Procedure focus; overload; + Function getApplicationInfoForProtocol(url : string): TJSPromise; + Function getApplicationNameForProtocol(url : string): string; + Function getAppMetrics: TApp_getAppMetrics_Result; + Function getAppPath: string; + Function getBadgeCount: Double; + Function getCurrentActivityType: string; + Function getFileIcon(path : string; options : TFileIconOptions): TJSPromise; overload; + Function getFileIcon(path : string): TJSPromise; overload; + Function getGPUFeatureStatus: TGPUFeatureStatus; + Function getGPUInfo(infoType : jsvalue): TJSPromise; + Function getJumpListSettings: TJumpListSettings; + Function getLocale: string; + Function getLocaleCountryCode: string; + Function getLoginItemSettings(options : TLoginItemSettingsOptions): TLoginItemSettings; overload; + Function getLoginItemSettings: TLoginItemSettings; overload; + Function getName: string; + Function getPath(name : jsvalue): string; + Function getVersion: string; + Function hasSingleInstanceLock: boolean; + Procedure hide; + Procedure importCertificate(options : TImportCertificateOptions; callback : TApp_importCertificate_callback); + Procedure invalidateCurrentActivity; + Function isAccessibilitySupportEnabled: boolean; + Function isDefaultProtocolClient(protocol : string; path : string; args : array of string): boolean; overload; + Function isDefaultProtocolClient(protocol : string): boolean; overload; + Function isDefaultProtocolClient(protocol : string; path : string): boolean; overload; + Function isEmojiPanelSupported: boolean; + Function isInApplicationsFolder: boolean; + Function isReady: boolean; + Function isSecureKeyboardEntryEnabled: boolean; + Function isUnityRunning: boolean; + Function moveToApplicationsFolder(options : TMoveToApplicationsFolderOptions): boolean; overload; + Function moveToApplicationsFolder: boolean; overload; + Function once(event : String; listener : TApp_once_listener): TApp; overload; + Function once(event : String; listener : TJSFunction): TApp; overload; + Procedure quit; + Procedure relaunch(options : TRelaunchOptions); overload; + Procedure relaunch; overload; + Procedure releaseSingleInstanceLock; + Function removeAsDefaultProtocolClient(protocol : string; path : string; args : array of string): boolean; overload; + Function removeAsDefaultProtocolClient(protocol : string): boolean; overload; + Function removeAsDefaultProtocolClient(protocol : string; path : string): boolean; overload; + Function removeListener(event : String; listener : TApp_removeListener_listener): TApp; overload; + Function removeListener(event : String; listener : TJSFunction): TApp; overload; + Function requestSingleInstanceLock(additionalData : TJSObject): boolean; overload; + Function requestSingleInstanceLock: boolean; overload; + Procedure resignCurrentActivity; + Procedure setAboutPanelOptions(options : TAboutPanelOptionsOptions); + Procedure setAccessibilitySupportEnabled(enabled : boolean); + Procedure setActivationPolicy(policy : jsvalue); + Procedure setAppLogsPath(path : string); overload; + Procedure setAppLogsPath; overload; + Procedure setAppUserModelId(id : string); + Function setAsDefaultProtocolClient(protocol : string; path : string; args : array of string): boolean; overload; + Function setAsDefaultProtocolClient(protocol : string): boolean; overload; + Function setAsDefaultProtocolClient(protocol : string; path : string): boolean; overload; + Function setBadgeCount(count : Double): boolean; overload; + Function setBadgeCount: boolean; overload; + Procedure setJumpList(categories : jsvalue); + Procedure setLoginItemSettings(settings : TSettings); + Procedure setName(name : string); + Procedure setPath(name : string; path : string); + Procedure setSecureKeyboardEntryEnabled(enabled : boolean); + Procedure setUserActivity(&type : string; userInfo : JSValue; webpageURL : string); overload; + Procedure setUserActivity(&type : string; userInfo : JSValue); overload; + Function setUserTasks(tasks : array of TTask): boolean; + Procedure show; + Procedure showAboutPanel; + Procedure showEmojiPanel; + Function startAccessingSecurityScopedResource(bookmarkData : string): TJSFunction; + Procedure updateCurrentActivity(&type : string; userInfo : JSValue); + Function whenReady: TJSPromise; + accessibilitySupportEnabled : boolean; + applicationMenu : jsvalue; + badgeCount : Double; + Property commandLine : TCommandLine Read FcommandLine; + Property dock : TDock Read Fdock; + Property isPackaged : boolean Read FisPackaged; + name : string; + Property runningUnderARM64Translation : boolean Read FrunningUnderARM64Translation; + Property runningUnderRosettaTranslation : boolean Read FrunningUnderRosettaTranslation; + userAgentFallback : string; + end; + + TAutoUpdater_on_listener = Procedure (error : TJSError); + TAutoUpdater_once_listener = Procedure (error : TJSError); + TAutoUpdater_addListener_listener = Procedure (error : TJSError); + TAutoUpdater_removeListener_listener = Procedure (error : TJSError); + // Ignoring duplicate type TAutoUpdater_on_listener (listener) + // Ignoring duplicate type TAutoUpdater_once_listener (listener) + // Ignoring duplicate type TAutoUpdater_addListener_listener (listener) + // Ignoring duplicate type TAutoUpdater_removeListener_listener (listener) + TAutoUpdater = class external name 'Object' (TJSObject) + Function &on(event : String; listener : TJSFunction): TAutoUpdater; overload; + Function &on(event : String; listener : TAutoUpdater_on_listener): TAutoUpdater; overload; + Function addListener(event : String; listener : TJSFunction): TAutoUpdater; overload; + Function addListener(event : String; listener : TAutoUpdater_addListener_listener): TAutoUpdater; overload; + Procedure checkForUpdates; + Function getFeedURL: string; + Function once(event : String; listener : TJSFunction): TAutoUpdater; overload; + Function once(event : String; listener : TAutoUpdater_once_listener): TAutoUpdater; overload; + Procedure quitAndInstall; + Function removeListener(event : String; listener : TJSFunction): TAutoUpdater; overload; + Function removeListener(event : String; listener : TAutoUpdater_removeListener_listener): TAutoUpdater; overload; + Procedure setFeedURL(options : TFeedURLOptions); + end; + + TBluetoothDevice = class external name 'Object' (TJSObject) + deviceId : string; + deviceName : string; + end; + + TCertificate = class external name 'Object' (TJSObject) + data : string; + fingerprint : string; + issuer : TCertificatePrincipal; + issuerCert : TCertificate; + issuerName : string; + serialNumber : string; + subject : TCertificatePrincipal; + subjectName : string; + validExpiry : Double; + validStart : Double; + end; + + TCertificatePrincipal_organizations = array of string; + TCertificatePrincipal_organizationUnits = array of string; + TCertificatePrincipal = class external name 'Object' (TJSObject) + commonName : string; + country : string; + locality : string; + organizations : TCertificatePrincipal_organizations; + organizationUnits : TCertificatePrincipal_organizationUnits; + state : string; + end; + + TClipboard_availableFormats_Result = array of string; + TClipboard = class external name 'Object' (TJSObject) + Function availableFormats(&type : jsvalue): TClipboard_availableFormats_Result; overload; + Function availableFormats: TClipboard_availableFormats_Result; overload; + Procedure clear(&type : jsvalue); overload; + Procedure clear; overload; + Function has(format : string; &type : jsvalue): boolean; overload; + Function has(format : string): boolean; overload; + Function read(format : string): string; + Function readBookmark: TReadBookmark; + Function readBuffer(format : string): TNJSBuffer; + Function readFindText: string; + Function readHTML(&type : jsvalue): string; overload; + Function readHTML: string; overload; + Function readImage(&type : jsvalue): TNativeImage; overload; + Function readImage: TNativeImage; overload; + Function readRTF(&type : jsvalue): string; overload; + Function readRTF: string; overload; + Function readText(&type : jsvalue): string; overload; + Function readText: string; overload; + Procedure write(data : TData; &type : jsvalue); overload; + Procedure write(data : TData); overload; + Procedure writeBookmark(title : string; url : string; &type : jsvalue); overload; + Procedure writeBookmark(title : string; url : string); overload; + Procedure writeBuffer(format : string; buffer : TNJSBuffer; &type : jsvalue); overload; + Procedure writeBuffer(format : string; buffer : TNJSBuffer); overload; + Procedure writeFindText(text : string); + Procedure writeHTML(markup : string; &type : jsvalue); overload; + Procedure writeHTML(markup : string); overload; + Procedure writeImage(image : TNativeImage; &type : jsvalue); overload; + Procedure writeImage(image : TNativeImage); overload; + Procedure writeRTF(text : string; &type : jsvalue); overload; + Procedure writeRTF(text : string); overload; + Procedure writeText(text : string; &type : jsvalue); overload; + Procedure writeText(text : string); overload; + end; + + TContentTracing = class external name 'Object' (TJSObject) + Function getCategories: TJSPromise; + Function getTraceBufferUsage: TJSPromise; + Function startRecording(options : jsvalue): TJSPromise; + Function stopRecording(resultFilePath : string): TJSPromise; overload; + Function stopRecording: TJSPromise; overload; + end; + + TContextBridge = class external name 'Object' (TJSObject) + Procedure exposeInMainWorld(apiKey : string; api : JSValue); + end; + + TCookie = class external name 'Object' (TJSObject) + domain : string; + expirationDate : Double; + hostOnly : boolean; + httpOnly : boolean; + name : string; + path : string; + sameSite : jsvalue; + secure : boolean; + session : boolean; + value : string; + end; + + TCPUUsage = class external name 'Object' (TJSObject) + idleWakeupsPerSecond : Double; + percentCPUUsage : Double; + end; + + TCrashReport = class external name 'Object' (TJSObject) + date : TJSDate; + id : string; + end; + + TCrashReporter_getUploadedReports_Result = array of TCrashReport; + TCrashReporter = class external name 'Object' (TJSObject) + Procedure addExtraParameter(key : string; value : string); + Function getLastCrashReport: TCrashReport; + Function getParameters: TJSObject; + Function getUploadedReports: TCrashReporter_getUploadedReports_Result; + Function getUploadToServer: boolean; + Procedure removeExtraParameter(key : string); + Procedure setUploadToServer(uploadToServer : boolean); + Procedure start(options : TCrashReporterStartOptions); + end; + + TCustomScheme = class external name 'Object' (TJSObject) + privileges : TPrivileges; + scheme : string; + end; + + TDesktopCapturer = class external name 'Object' (TJSObject) + Function getSources(options : TSourcesOptions): TJSPromise; + end; + + TDesktopCapturerSource = class external name 'Object' (TJSObject) + appIcon : TNativeImage; + display_id : string; + id : string; + name : string; + thumbnail : TNativeImage; + end; + + TDialog = class external name 'Object' (TJSObject) + Function showCertificateTrustDialog(browserWindow : TBrowserWindow; options : TCertificateTrustDialogOptions): TJSPromise; overload; + Function showCertificateTrustDialog(options : TCertificateTrustDialogOptions): TJSPromise; overload; + Procedure showErrorBox(title : string; content : string); + Function showMessageBox(browserWindow : TBrowserWindow; options : TMessageBoxOptions): TJSPromise; overload; + Function showMessageBox(options : TMessageBoxOptions): TJSPromise; overload; + Function showMessageBoxSync(browserWindow : TBrowserWindow; options : TMessageBoxSyncOptions): Double; overload; + Function showMessageBoxSync(options : TMessageBoxSyncOptions): Double; overload; + Function showOpenDialog(browserWindow : TBrowserWindow; options : TOpenDialogOptions): TJSPromise; overload; + Function showOpenDialog(options : TOpenDialogOptions): TJSPromise; overload; + Function showOpenDialogSync(browserWindow : TBrowserWindow; options : TOpenDialogSyncOptions): jsvalue; overload; + Function showOpenDialogSync(options : TOpenDialogSyncOptions): jsvalue; overload; + Function showSaveDialog(browserWindow : TBrowserWindow; options : TSaveDialogOptions): TJSPromise; overload; + Function showSaveDialog(options : TSaveDialogOptions): TJSPromise; overload; + Function showSaveDialogSync(browserWindow : TBrowserWindow; options : TSaveDialogSyncOptions): jsvalue; overload; + Function showSaveDialogSync(options : TSaveDialogSyncOptions): jsvalue; overload; + end; + + TDisplay = class external name 'Object' (TJSObject) + accelerometerSupport : jsvalue; + bounds : TRectangle; + colorDepth : Double; + colorSpace : string; + depthPerComponent : Double; + displayFrequency : Double; + id : Double; + internal : boolean; + monochrome : boolean; + rotation : Double; + scaleFactor : Double; + size : TSize; + touchSupport : jsvalue; + workArea : TRectangle; + workAreaSize : TSize; + end; + + TEvent_preventDefault = Procedure; + TEvent = class external name 'Object' (TJSObject) + preventDefault : TEvent_preventDefault; + end; + + TExtension = class external name 'Object' (TJSObject) + id : string; + manifest : JSValue; + name : string; + path : string; + url : string; + version : string; + end; + + TExtensionInfo = class external name 'Object' (TJSObject) + name : string; + version : string; + end; + + TFileFilter_extensions = array of string; + TFileFilter = class external name 'Object' (TJSObject) + extensions : TFileFilter_extensions; + name : string; + end; + + TFilePathWithHeaders = class external name 'Object' (TJSObject) + headers : TJSObject; + path : string; + end; + + TGlobalShortcut_register_callback = Procedure; + TGlobalShortcut_registerAll_callback = Procedure; + TGlobalShortcut = class external name 'Object' (TJSObject) + Function isRegistered(accelerator : TAccelerator): boolean; + Function register(accelerator : TAccelerator; callback : TGlobalShortcut_register_callback): boolean; + Procedure registerAll(accelerators : array of string; callback : TGlobalShortcut_registerAll_callback); + Procedure unregister(accelerator : TAccelerator); + Procedure unregisterAll; + end; + + TGPUFeatureStatus = class external name 'Object' (TJSObject) + _2d_canvas : string; external name '2d_canvas'; + flash_3d : string; + flash_stage3d : string; + flash_stage3d_baseline : string; + gpu_compositing : string; + multiple_raster_threads : string; + native_gpu_memory_buffers : string; + rasterization : string; + video_decode : string; + video_encode : string; + vpx_decode : string; + webgl : string; + webgl2 : string; + end; + + THIDDevice = class external name 'Object' (TJSObject) + deviceId : string; + guid : string; + name : string; + productId : Double; + serialNumber : string; + vendorId : Double; + end; + + TInAppPurchase = class external name 'Object' (TJSObject) + Function &on(event : String; listener : TJSFunction): TInAppPurchase; + Function addListener(event : String; listener : TJSFunction): TInAppPurchase; + Function canMakePayments: boolean; + Procedure finishAllTransactions; + Procedure finishTransactionByDate(date : string); + Function getProducts(productIDs : array of string): TJSPromise; + Function getReceiptURL: string; + Function once(event : String; listener : TJSFunction): TInAppPurchase; + Function purchaseProduct(productID : string; quantity : Double): TJSPromise; overload; + Function purchaseProduct(productID : string): TJSPromise; overload; + Function removeListener(event : String; listener : TJSFunction): TInAppPurchase; + Procedure restoreCompletedTransactions; + end; + + TInputEvent_modifiers = array of String; + TInputEvent = class external name 'Object' (TJSObject) + modifiers : TInputEvent_modifiers; + end; + + TIOCounters = class external name 'Object' (TJSObject) + otherOperationCount : Double; + otherTransferCount : Double; + readOperationCount : Double; + readTransferCount : Double; + writeOperationCount : Double; + writeTransferCount : Double; + end; + + TIpcMain_handle_listener = Function (event : TIpcMainInvokeEvent; args : array of JSValue): jsvalue; + TIpcMain_handleOnce_listener = Function (event : TIpcMainInvokeEvent; args : array of JSValue): jsvalue; + TIpcMain_on_listener = Procedure (event : TIpcMainEvent; args : array of JSValue); + TIpcMain_once_listener = Procedure (event : TIpcMainEvent; args : array of JSValue); + TIpcMain_removeListener_listener = Procedure (args : array of JSValue); + TIpcMain = class external name 'Object' (TJSObject) + Function &on(channel : string; listener : TIpcMain_on_listener): TIpcMain; + Procedure handle(channel : string; listener : TIpcMain_handle_listener); + Procedure handleOnce(channel : string; listener : TIpcMain_handleOnce_listener); + Function once(channel : string; listener : TIpcMain_once_listener): TIpcMain; + Function removeAllListeners(channel : string): TIpcMain; overload; + Function removeAllListeners: TIpcMain; overload; + Procedure removeHandler(channel : string); + Function removeListener(channel : string; listener : TIpcMain_removeListener_listener): TIpcMain; + end; + + TIpcMainEvent_ports = array of TMessagePortMain; + TIpcMainEvent = class external name 'Object' (TJSObject) + FsenderFrame : TWebFrameMain; external name 'senderFrame'; + frameId : Double; + ports : TIpcMainEvent_ports; + processId : Double; + reply : TJSFunction; + returnValue : JSValue; + sender : TWebContents; + Property senderFrame : TWebFrameMain Read FsenderFrame; + end; + + TIpcMainInvokeEvent = class external name 'Object' (TJSObject) + FsenderFrame : TWebFrameMain; external name 'senderFrame'; + frameId : Double; + processId : Double; + sender : TWebContents; + Property senderFrame : TWebFrameMain Read FsenderFrame; + end; + + TIpcRenderer_on_listener = Procedure (event : TIpcRendererEvent; args : array of JSValue); + TIpcRenderer_once_listener = Procedure (event : TIpcRendererEvent; args : array of JSValue); + TIpcRenderer_removeListener_listener = Procedure (args : array of JSValue); + TIpcRenderer = class external name 'Object' (TJSObject) + Function &on(channel : string; listener : TIpcRenderer_on_listener): TIpcRenderer; + Function invoke(channel : string; args : array of JSValue): TJSPromise; + Function once(channel : string; listener : TIpcRenderer_once_listener): TIpcRenderer; + Procedure postMessage(channel : string; message : JSValue; transfer : array of TJSMessagePort); overload; + Procedure postMessage(channel : string; message : JSValue); overload; + Function removeAllListeners(channel : string): TIpcRenderer; + Function removeListener(channel : string; listener : TIpcRenderer_removeListener_listener): TIpcRenderer; + Procedure send(channel : string; args : array of JSValue); + Function sendSync(channel : string; args : array of JSValue): JSValue; + Procedure sendTo(webContentsId : Double; channel : string; args : array of JSValue); + Procedure sendToHost(channel : string; args : array of JSValue); + end; + + TIpcRendererEvent_ports = array of TJSMessagePort; + TIpcRendererEvent = class external name 'Object' (TJSObject) + ports : TIpcRendererEvent_ports; + sender : TIpcRenderer; + senderId : Double; + end; + + TJumpListCategory_items = array of TJumpListItem; + TJumpListCategory = class external name 'Object' (TJSObject) + items : TJumpListCategory_items; + name : string; + &type : jsvalue;external name 'type'; + end; + + TJumpListItem = class external name 'Object' (TJSObject) + args : string; + description : string; + iconIndex : Double; + iconPath : string; + path : string; + &program : string;external name 'program'; + title : string; + &type : jsvalue;external name 'type'; + workingDirectory : string; + end; + + TKeyboardEvent = class external name 'Object' (TJSObject) + altKey : boolean; + ctrlKey : boolean; + metaKey : boolean; + shiftKey : boolean; + triggeredByAccelerator : boolean; + end; + + TKeyboardInputEvent = class external name 'Object' (TJSObject) + keyCode : string; + &type : jsvalue;external name 'type'; + end; + + TMemoryInfo = class external name 'Object' (TJSObject) + peakWorkingSetSize : Double; + privateBytes : Double; + workingSetSize : Double; + end; + + TMemoryUsageDetails = class external name 'Object' (TJSObject) + count : Double; + liveSize : Double; + size : Double; + end; + + TMimeTypedBuffer = class external name 'Object' (TJSObject) + charset : string; + data : TNJSBuffer; + mimeType : string; + end; + + TMouseInputEvent = class external name 'Object' (TJSObject) + button : jsvalue; + clickCount : Double; + globalX : Double; + globalY : Double; + movementX : Double; + movementY : Double; + &type : jsvalue;external name 'type'; + x : Double; + y : Double; + end; + + TMouseWheelInputEvent = class external name 'Object' (TJSObject) + accelerationRatioX : Double; + accelerationRatioY : Double; + canScroll : boolean; + deltaX : Double; + deltaY : Double; + hasPreciseScrollingDeltas : boolean; + &type : String;external name 'type'; + wheelTicksX : Double; + wheelTicksY : Double; + end; + + TNativeTheme = class external name 'Object' (TJSObject) + FshouldUseDarkColors : boolean; external name 'shouldUseDarkColors'; + FshouldUseHighContrastColors : boolean; external name 'shouldUseHighContrastColors'; + FshouldUseInvertedColorScheme : boolean; external name 'shouldUseInvertedColorScheme'; + Function &on(event : String; listener : TJSFunction): TNativeTheme; + Function addListener(event : String; listener : TJSFunction): TNativeTheme; + Function once(event : String; listener : TJSFunction): TNativeTheme; + Function removeListener(event : String; listener : TJSFunction): TNativeTheme; + Property shouldUseDarkColors : boolean Read FshouldUseDarkColors; + Property shouldUseHighContrastColors : boolean Read FshouldUseHighContrastColors; + Property shouldUseInvertedColorScheme : boolean Read FshouldUseInvertedColorScheme; + themeSource : jsvalue; + end; + + TNet = class external name 'Object' (TJSObject) + Fonline : boolean; external name 'online'; + Function isOnline: boolean; + Function request(options : jsvalue): TClientRequest; + Property online : boolean Read Fonline; + end; + + TNetLog = class external name 'Object' (TJSObject) + FcurrentlyLogging : boolean; external name 'currentlyLogging'; + Function startLogging(path : string; options : TStartLoggingOptions): TJSPromise; overload; + Function startLogging(path : string): TJSPromise; overload; + Function stopLogging: TJSPromise; + Property currentlyLogging : boolean Read FcurrentlyLogging; + end; + + TNewWindowWebContentsEvent = class external name 'Object' (TJSObject) + newGuest : TBrowserWindow; + end; + + TNotificationAction = class external name 'Object' (TJSObject) + text : string; + &type : String;external name 'type'; + end; + + TNotificationResponse = class external name 'Object' (TJSObject) + actionIdentifier : string; + date : Double; + identifier : string; + userInfo : TJSObject; + userText : string; + end; + + TPaymentDiscount = class external name 'Object' (TJSObject) + identifier : string; + keyIdentifier : string; + nonce : string; + signature : string; + timestamp : Double; + end; + + TPoint = class external name 'Object' (TJSObject) + x : Double; + y : Double; + end; + + TPostBody_data = array of TJSObject; + TPostBody = class external name 'Object' (TJSObject) + boundary : string; + contentType : string; + data : TPostBody_data; + end; + + TPowerMonitor = class external name 'Object' (TJSObject) + Function &on(event : String; listener : TJSFunction): TPowerMonitor; + Function addListener(event : String; listener : TJSFunction): TPowerMonitor; + Function getSystemIdleState(idleThreshold : Double): jsvalue; + Function getSystemIdleTime: Double; + Function isOnBatteryPower: boolean; + Function once(event : String; listener : TJSFunction): TPowerMonitor; + Function removeListener(event : String; listener : TJSFunction): TPowerMonitor; + onBatteryPower : boolean; + end; + + TPowerSaveBlocker = class external name 'Object' (TJSObject) + Function isStarted(id : Double): boolean; + Function start(&type : jsvalue): Double; + Procedure stop(id : Double); + end; + + TPrinterInfo = class external name 'Object' (TJSObject) + description : string; + displayName : string; + isDefault : boolean; + name : string; + options : TOptions; + status : Double; + end; + + TProcessMemoryInfo = class external name 'Object' (TJSObject) + _private : Double;external name 'private'; + residentSet : Double; + shared : Double; + end; + + TProcessMetric = class external name 'Object' (TJSObject) + cpu : TCPUUsage; + creationTime : Double; + integrityLevel : jsvalue; + memory : TMemoryInfo; + name : string; + pid : Double; + sandboxed : boolean; + serviceName : string; + &type : jsvalue;external name 'type'; + end; + + TProduct_contentLengths = array of Double; + TProduct_discounts = array of TProductDiscount; + TProduct_downloadContentLengths = array of Double; + TProduct = class external name 'Object' (TJSObject) + contentLengths : TProduct_contentLengths; + contentVersion : string; + currencyCode : string; + discounts : TProduct_discounts; + downloadContentLengths : TProduct_downloadContentLengths; + downloadContentVersion : string; + formattedPrice : string; + introductoryPrice : TProductDiscount; + isDownloadable : boolean; + localizedDescription : string; + localizedTitle : string; + price : Double; + productIdentifier : string; + subscriptionGroupIdentifier : string; + subscriptionPeriod : TProductSubscriptionPeriod; + end; + + TProductDiscount = class external name 'Object' (TJSObject) + identifier : string; + numberOfPeriods : Double; + paymentMode : jsvalue; + price : Double; + priceLocale : string; + subscriptionPeriod : TProductSubscriptionPeriod; + &type : Double;external name 'type'; + end; + + TProductSubscriptionPeriod = class external name 'Object' (TJSObject) + numberOfUnits : Double; + &unit : jsvalue;external name 'unit'; + end; + + TProtocol_interceptBufferProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_interceptBufferProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_interceptBufferProtocol_handler_callback); + TProtocol_interceptFileProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_interceptFileProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_interceptFileProtocol_handler_callback); + TProtocol_interceptHttpProtocol_handler_callback = Procedure (response : TProtocolResponse); + TProtocol_interceptHttpProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_interceptHttpProtocol_handler_callback); + TProtocol_interceptStreamProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_interceptStreamProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_interceptStreamProtocol_handler_callback); + TProtocol_interceptStringProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_interceptStringProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_interceptStringProtocol_handler_callback); + TProtocol_registerBufferProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_registerBufferProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_registerBufferProtocol_handler_callback); + TProtocol_registerFileProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_registerFileProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_registerFileProtocol_handler_callback); + TProtocol_registerHttpProtocol_handler_callback = Procedure (response : TProtocolResponse); + TProtocol_registerHttpProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_registerHttpProtocol_handler_callback); + TProtocol_registerStreamProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_registerStreamProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_registerStreamProtocol_handler_callback); + TProtocol_registerStringProtocol_handler_callback = Procedure (response : jsvalue); + TProtocol_registerStringProtocol_handler = Procedure (request : TProtocolRequest; callback : TProtocol_registerStringProtocol_handler_callback); + TProtocol = class external name 'Object' (TJSObject) + Function interceptBufferProtocol(scheme : string; handler : TProtocol_interceptBufferProtocol_handler): boolean; + Function interceptFileProtocol(scheme : string; handler : TProtocol_interceptFileProtocol_handler): boolean; + Function interceptHttpProtocol(scheme : string; handler : TProtocol_interceptHttpProtocol_handler): boolean; + Function interceptStreamProtocol(scheme : string; handler : TProtocol_interceptStreamProtocol_handler): boolean; + Function interceptStringProtocol(scheme : string; handler : TProtocol_interceptStringProtocol_handler): boolean; + Function isProtocolIntercepted(scheme : string): boolean; + Function isProtocolRegistered(scheme : string): boolean; + Function registerBufferProtocol(scheme : string; handler : TProtocol_registerBufferProtocol_handler): boolean; + Function registerFileProtocol(scheme : string; handler : TProtocol_registerFileProtocol_handler): boolean; + Function registerHttpProtocol(scheme : string; handler : TProtocol_registerHttpProtocol_handler): boolean; + Procedure registerSchemesAsPrivileged(customSchemes : array of TCustomScheme); + Function registerStreamProtocol(scheme : string; handler : TProtocol_registerStreamProtocol_handler): boolean; + Function registerStringProtocol(scheme : string; handler : TProtocol_registerStringProtocol_handler): boolean; + Function uninterceptProtocol(scheme : string): boolean; + Function unregisterProtocol(scheme : string): boolean; + end; + + TProtocolRequest_uploadData = array of TUploadData; + TProtocolRequest = class external name 'Object' (TJSObject) + headers : TJSObject; + method : string; + referrer : string; + uploadData : TProtocolRequest_uploadData; + url : string; + end; + + TProtocolResponse = class external name 'Object' (TJSObject) + charset : string; + data : jsvalue; + error : Double; + headers : TJSObject; + method : string; + mimeType : string; + path : string; + referrer : string; + session : TSession; + statusCode : Double; + uploadData : TProtocolResponseUploadData; + url : string; + end; + + TProtocolResponseUploadData = class external name 'Object' (TJSObject) + contentType : string; + data : jsvalue; + end; + + TRectangle = class external name 'Object' (TJSObject) + height : Double; + width : Double; + x : Double; + y : Double; + end; + + TReferrer = class external name 'Object' (TJSObject) + policy : jsvalue; + url : string; + end; + + TSafeStorage = class external name 'Object' (TJSObject) + Function decryptString(encrypted : TNJSBuffer): string; + Function encryptString(plainText : string): TNJSBuffer; + Function isEncryptionAvailable: boolean; + end; + + TScreen_on_listener = Procedure (event : TEvent; newDisplay : TDisplay); + TScreen_once_listener = Procedure (event : TEvent; newDisplay : TDisplay); + TScreen_addListener_listener = Procedure (event : TEvent; newDisplay : TDisplay); + TScreen_removeListener_listener = Procedure (event : TEvent; newDisplay : TDisplay); + TScreen_getAllDisplays_Result = array of TDisplay; + TScreen = class external name 'Object' (TJSObject) + Function &on(event : String; listener : TScreen_on_listener): TScreen; overload; + Function addListener(event : String; listener : TScreen_addListener_listener): TScreen; overload; + Function dipToScreenPoint(point : TPoint): TPoint; + Function dipToScreenRect(window : jsvalue; rect : TRectangle): TRectangle; + Function getAllDisplays: TScreen_getAllDisplays_Result; + Function getCursorScreenPoint: TPoint; + Function getDisplayMatching(rect : TRectangle): TDisplay; + Function getDisplayNearestPoint(point : TPoint): TDisplay; + Function getPrimaryDisplay: TDisplay; + Function once(event : String; listener : TScreen_once_listener): TScreen; overload; + Function removeListener(event : String; listener : TScreen_removeListener_listener): TScreen; overload; + Function screenToDipPoint(point : TPoint): TPoint; + Function screenToDipRect(window : jsvalue; rect : TRectangle): TRectangle; + end; + + TScrubberItem = class external name 'Object' (TJSObject) + icon : TNativeImage; + &label : string;external name 'label'; + end; + + TSegmentedControlSegment = class external name 'Object' (TJSObject) + enabled : boolean; + icon : TNativeImage; + &label : string;external name 'label'; + end; + + TSerialPort = class external name 'Object' (TJSObject) + deviceInstanceId : string; + displayName : string; + portId : string; + portName : string; + productId : string; + serialNumber : string; + usbDriverName : string; + vendorId : string; + end; + + TServiceWorkerInfo = class external name 'Object' (TJSObject) + renderProcessId : Double; + scope : string; + scriptUrl : string; + end; + + TSharedWorkerInfo = class external name 'Object' (TJSObject) + id : string; + url : string; + end; + + TSharingItem_filePaths = array of string; + TSharingItem_texts = array of string; + TSharingItem_urls = array of string; + TSharingItem = class external name 'Object' (TJSObject) + filePaths : TSharingItem_filePaths; + texts : TSharingItem_texts; + urls : TSharingItem_urls; + end; + + TShell = class external name 'Object' (TJSObject) + Procedure beep; + Function openExternal(url : string; options : TOpenExternalOptions): TJSPromise; overload; + Function openExternal(url : string): TJSPromise; overload; + Function openPath(path : string): TJSPromise; + Function readShortcutLink(shortcutPath : string): TShortcutDetails; + Procedure showItemInFolder(fullPath : string); + Function trashItem(path : string): TJSPromise; + Function writeShortcutLink(shortcutPath : string; operation : jsvalue; options : TShortcutDetails): boolean; overload; + Function writeShortcutLink(shortcutPath : string; options : TShortcutDetails): boolean; overload; + end; + + TShortcutDetails = class external name 'Object' (TJSObject) + appUserModelId : string; + args : string; + cwd : string; + description : string; + icon : string; + iconIndex : Double; + target : string; + toastActivatorClsid : string; + end; + + TSize = class external name 'Object' (TJSObject) + height : Double; + width : Double; + end; + + TSystemPreferences_on_listener = Procedure (event : TEvent; newColor : string); + TSystemPreferences_once_listener = Procedure (event : TEvent; newColor : string); + TSystemPreferences_addListener_listener = Procedure (event : TEvent; newColor : string); + TSystemPreferences_removeListener_listener = Procedure (event : TEvent; newColor : string); + TSystemPreferences_getUserDefault_Result = array of TUserDefaultTypes; + TSystemPreferences_subscribeLocalNotification_callback = Procedure (event : string; userInfo : TJSObject; &object : string); + TSystemPreferences_subscribeNotification_callback = Procedure (event : string; userInfo : TJSObject; &object : string); + TSystemPreferences_subscribeWorkspaceNotification_callback = Procedure (event : string; userInfo : TJSObject; &object : string); + TSystemPreferences = class external name 'Object' (TJSObject) + FeffectiveAppearance : jsvalue; external name 'effectiveAppearance'; + Function &on(event : String; listener : TSystemPreferences_on_listener): TSystemPreferences; overload; + Function addListener(event : String; listener : TSystemPreferences_addListener_listener): TSystemPreferences; overload; + Function askForMediaAccess(mediaType : jsvalue): TJSPromise; + Function canPromptTouchID: boolean; + Function getAccentColor: string; + Function getAnimationSettings: TAnimationSettings; + Function getAppLevelAppearance: jsvalue; + Function getColor(color : jsvalue): string; + Function getEffectiveAppearance: jsvalue; + Function getMediaAccessStatus(mediaType : jsvalue): jsvalue; + Function getSystemColor(color : jsvalue): string; + Function getUserDefault(key : string; atype : String): TSystemPreferences_getUserDefault_Result; + Function isAeroGlassEnabled: boolean; + Function isDarkMode: boolean; + Function isHighContrastColorScheme: boolean; + Function isInvertedColorScheme: boolean; + Function isSwipeTrackingFromScrollEventsEnabled: boolean; + Function isTrustedAccessibilityClient(prompt : boolean): boolean; + Function once(event : String; listener : TSystemPreferences_once_listener): TSystemPreferences; overload; + Procedure postLocalNotification(event : string; userInfo : TJSObject); + Procedure postNotification(event : string; userInfo : TJSObject; deliverImmediately : boolean); overload; + Procedure postNotification(event : string; userInfo : TJSObject); overload; + Procedure postWorkspaceNotification(event : string; userInfo : TJSObject); + Function promptTouchID(reason : string): TJSPromise; + Procedure registerDefaults(defaults : TJSObject); + Function removeListener(event : String; listener : TSystemPreferences_removeListener_listener): TSystemPreferences; overload; + Procedure removeUserDefault(key : string); + Procedure setAppLevelAppearance(appearance : jsvalue); + Procedure setUserDefault(key : string; &type : jsvalue; value : string); + Function subscribeLocalNotification(event : string; callback : TSystemPreferences_subscribeLocalNotification_callback): Double; + Function subscribeNotification(event : string; callback : TSystemPreferences_subscribeNotification_callback): Double; + Function subscribeWorkspaceNotification(event : string; callback : TSystemPreferences_subscribeWorkspaceNotification_callback): Double; + Procedure unsubscribeLocalNotification(id : Double); + Procedure unsubscribeNotification(id : Double); + Procedure unsubscribeWorkspaceNotification(id : Double); + appLevelAppearance : jsvalue; + Property effectiveAppearance : jsvalue Read FeffectiveAppearance; + end; + + TTask = class external name 'Object' (TJSObject) + arguments : string; + description : string; + iconIndex : Double; + iconPath : string; + &program : string;external name 'program'; + title : string; + workingDirectory : string; + end; + + TThumbarButton_flags = array of string; + TThumbarButton = class external name 'Object' (TJSObject) + click : TJSFunction; + flags : TThumbarButton_flags; + icon : TNativeImage; + tooltip : string; + end; + + TTraceCategoriesAndOptions = class external name 'Object' (TJSObject) + categoryFilter : string; + traceOptions : string; + end; + + TTraceConfig_excluded_categories = array of string; + TTraceConfig_histogram_names = array of string; + TTraceConfig_included_categories = array of string; + TTraceConfig_included_process_ids = array of Double; + TTraceConfig = class external name 'Object' (TJSObject) + enable_argument_filter : boolean; + excluded_categories : TTraceConfig_excluded_categories; + histogram_names : TTraceConfig_histogram_names; + included_categories : TTraceConfig_included_categories; + included_process_ids : TTraceConfig_included_process_ids; + memory_dump_config : TJSObject; + recording_mode : jsvalue; + trace_buffer_size_in_events : Double; + trace_buffer_size_in_kb : Double; + end; + + TTransaction = class external name 'Object' (TJSObject) + errorCode : Double; + errorMessage : string; + originalTransactionIdentifier : string; + payment : TPayment; + transactionDate : string; + transactionIdentifier : string; + transactionState : jsvalue; + end; + + TUploadData = class external name 'Object' (TJSObject) + blobUUID : string; + bytes : TNJSBuffer; + &file : string;external name 'file'; + end; + + TUploadFile = class external name 'Object' (TJSObject) + filePath : string; + &length : Double;external name 'length'; + modificationTime : Double; + offset : Double; + &type : String;external name 'type'; + end; + + TUploadRawData = class external name 'Object' (TJSObject) + bytes : TNJSBuffer; + &type : String;external name 'type'; + end; + + TUserDefaultTypes_array = array of JSValue; + TUserDefaultTypes = class external name 'Object' (TJSObject) + array_ : TUserDefaultTypes_array;external name 'array'; + boolean_ : boolean;external name 'boolean'; + dictionary : TJSObject; + double_ : Double;external name 'double'; + float : Double; + integer : Double; + string_ : string;external name 'string'; + url : string; + end; + + TWebFrame_executeJavaScript_callback = Procedure (result : JSValue; error : TJSError); + TWebFrame_executeJavaScriptInIsolatedWorld_callback = Procedure (result : JSValue; error : TJSError); + TWebFrame_getWordSuggestions_Result = array of string; + TWebFrame = class external name 'Object' (TJSObject) + FfirstChild : jsvalue; external name 'firstChild'; + FnextSibling : jsvalue; external name 'nextSibling'; + Fopener : jsvalue; external name 'opener'; + Fparent : jsvalue; external name 'parent'; + FroutingId : Double; external name 'routingId'; + Ftop : jsvalue; external name 'top'; + Procedure clearCache; + Function executeJavaScript(code : string; userGesture : boolean; callback : TWebFrame_executeJavaScript_callback): TJSPromise; overload; + Function executeJavaScript(code : string): TJSPromise; overload; + Function executeJavaScript(code : string; userGesture : boolean): TJSPromise; overload; + Function executeJavaScriptInIsolatedWorld(worldId : Double; scripts : array of TWebSource; userGesture : boolean; callback : TWebFrame_executeJavaScriptInIsolatedWorld_callback): TJSPromise; overload; + Function executeJavaScriptInIsolatedWorld(worldId : Double; scripts : array of TWebSource): TJSPromise; overload; + Function executeJavaScriptInIsolatedWorld(worldId : Double; scripts : array of TWebSource; userGesture : boolean): TJSPromise; overload; + Function findFrameByName(name : string): TWebFrame; + Function findFrameByRoutingId(routingId : Double): TWebFrame; + Function getFrameForSelector(selector : string): TWebFrame; + Function getResourceUsage: TResourceUsage; + Function getWordSuggestions(word : string): TWebFrame_getWordSuggestions_Result; + Function getZoomFactor: Double; + Function getZoomLevel: Double; + Function insertCSS(css : string; options : TInsertCSSOptions): string; overload; + Function insertCSS(css : string): string; overload; + Procedure insertText(text : string); + Function isWordMisspelled(word : string): boolean; + Procedure removeInsertedCSS(key : string); + Procedure setIsolatedWorldInfo(worldId : Double; info : TInfo); + Procedure setSpellCheckProvider(language : string; provider : TProvider); + Procedure setVisualZoomLevelLimits(minimumLevel : Double; maximumLevel : Double); + Procedure setZoomFactor(factor : Double); + Procedure setZoomLevel(level : Double); + Property firstChild : jsvalue Read FfirstChild; + Property nextSibling : jsvalue Read FnextSibling; + Property opener : jsvalue Read Fopener; + Property parent : jsvalue Read Fparent; + Property routingId : Double Read FroutingId; + Property top : jsvalue Read Ftop; + end; + + TWebRequestFilter_urls = array of string; + TWebRequestFilter = class external name 'Object' (TJSObject) + urls : TWebRequestFilter_urls; + end; + + TWebSource = class external name 'Object' (TJSObject) + code : string; + url : string; + end; + + TWebviewTag_addEventListener_listener = Procedure (event : TLoadCommitEvent); + TWebviewTag_removeEventListener_listener = Procedure (event : TLoadCommitEvent); + TWebviewTag_sendToFrame_frameId = Array[0..1] of Double; + TWebviewTag = class external name 'Object' (TJSObject) + Function addEventListener(event : String; listener : TWebviewTag_addEventListener_listener; useCapture : boolean): TWebViewTag; overload; + Function addEventListener(event : String; listener : TWebviewTag_addEventListener_listener): TWebViewTag; overload; + Function addEventListener(type_ : JSValue; listener : TWebviewTag_addEventListener_listener; useCapture : boolean): TWebViewTag; overload; + Function addEventListener(type_ : JSValue; listener : TWebviewTag_addEventListener_listener): TWebViewTag; overload; + Function addEventListener(type_ : string; listener : TJSObject; useCapture : boolean): TWebViewTag; overload; + Function addEventListener(type_ : string; listener : TJSObject): TWebViewTag; overload; + Function canGoBack: boolean; + Function canGoForward: boolean; + Function canGoToOffset(offset : Double): boolean; + Function capturePage(rect : TRectangle): TJSPromise; overload; + Function capturePage: TJSPromise; overload; + Procedure clearHistory; + Procedure closeDevTools; + Procedure copy; + Procedure cut; + Procedure delete; + Procedure downloadURL(url : string); + Function executeJavaScript(code : string; userGesture : boolean): TJSPromise; overload; + Function executeJavaScript(code : string): TJSPromise; overload; + Function findInPage(text : string; options : TFindInPageOptions): Double; overload; + Function findInPage(text : string): Double; overload; + Function getTitle: string; + Function getURL: string; + Function getUserAgent: string; + Function getWebContentsId: Double; + Function getZoomFactor: Double; + Function getZoomLevel: Double; + Procedure goBack; + Procedure goForward; + Procedure goToIndex(index : Double); + Procedure goToOffset(offset : Double); + Function insertCSS(css : string): TJSPromise; + Function insertText(text : string): TJSPromise; + Procedure inspectElement(x : Double; y : Double); + Procedure inspectServiceWorker; + Procedure inspectSharedWorker; + Function isAudioMuted: boolean; + Function isCrashed: boolean; + Function isCurrentlyAudible: boolean; + Function isDevToolsFocused: boolean; + Function isDevToolsOpened: boolean; + Function isLoading: boolean; + Function isLoadingMainFrame: boolean; + Function isWaitingForResponse: boolean; + Function loadURL(url : string; options : TLoadURLOptions): TJSPromise; overload; + Function loadURL(url : string): TJSPromise; overload; + Procedure openDevTools; + Procedure paste; + Procedure pasteAndMatchStyle; + Function print(options : TWebviewTagPrintOptions): TJSPromise; overload; + Function print: TJSPromise; overload; + Function printToPDF(options : TPrintToPDFOptions): TJSPromise; + Procedure redo; + Procedure reload; + Procedure reloadIgnoringCache; + Function removeEventListener(event : String; listener : TWebviewTag_removeEventListener_listener): TWebViewTag; overload; + Function removeEventListener(type_ : JSValue; listener : TWebviewTag_removeEventListener_listener; useCapture : boolean): TWebViewTag; overload; + Function removeEventListener(type_ : JSValue; listener : TWebviewTag_removeEventListener_listener): TWebViewTag; overload; + Function removeEventListener(type_ : string; listener : TJSObject; useCapture : boolean): TWebViewTag; overload; + Function removeEventListener(type_ : string; listener : TJSObject): TWebViewTag; overload; + Function removeInsertedCSS(key : string): TJSPromise; + Procedure replace(text : string); + Procedure replaceMisspelling(text : string); + Procedure selectAll; + Function send(channel : string; args : array of JSValue): TJSPromise; + Function sendInputEvent(event : jsvalue): TJSPromise; + Function sendToFrame(frameId : TWebviewTag_sendToFrame_frameId; channel : string; args : array of JSValue): TJSPromise; + Procedure setAudioMuted(muted : boolean); + Procedure setUserAgent(userAgent : string); + Function setVisualZoomLevelLimits(minimumLevel : Double; maximumLevel : Double): TJSPromise; + Procedure setZoomFactor(factor : Double); + Procedure setZoomLevel(level : Double); + Procedure showDefinitionForSelection; + Procedure stop; + Procedure stopFindInPage(action : jsvalue); + Procedure undo; + Procedure unselect; + allowpopups : boolean; + disableblinkfeatures : string; + disablewebsecurity : boolean; + enableblinkfeatures : string; + httpreferrer : string; + nodeintegration : boolean; + nodeintegrationinsubframes : boolean; + partition : string; + plugins : boolean; + preload : string; + src : string; + useragent : string; + webpreferences : string; + end; + + TAboutPanelOptionsOptions_authors = array of string; + TAboutPanelOptionsOptions = class external name 'Object' (TJSObject) + applicationName : string; + applicationVersion : string; + copyright : string; + version : string; + credits : string; + authors : TAboutPanelOptionsOptions_authors; + website : string; + iconPath : string; + end; + + TAddRepresentationOptions = class external name 'Object' (TJSObject) + scaleFactor : Double; + width : Double; + height : Double; + buffer_ : TNJSBuffer;external name 'buffer'; + dataURL : string; + end; + + TAnimationSettings = class external name 'Object' (TJSObject) + shouldRenderRichAnimation : boolean; + scrollAnimationsEnabledBySystem : boolean; + prefersReducedMotion : boolean; + end; + + TAppDetailsOptions = class external name 'Object' (TJSObject) + appId : string; + appIconPath : string; + appIconIndex : Double; + relaunchCommand : string; + relaunchDisplayName : string; + end; + + TApplicationInfoForProtocolReturnValue = class external name 'Object' (TJSObject) + icon : TNativeImage; + path : string; + name : string; + end; + + TAuthenticationResponseDetails = class external name 'Object' (TJSObject) + url : string; + end; + + TAuthInfo = class external name 'Object' (TJSObject) + isProxy : boolean; + scheme : string; + host : string; + port : Double; + realm : string; + end; + + TAutoResizeOptions = class external name 'Object' (TJSObject) + width : boolean; + height : boolean; + horizontal : boolean; + vertical : boolean; + end; + + TBeforeSendResponse = class external name 'Object' (TJSObject) + cancel : boolean; + requestHeaders : TJSObject; + end; + + TBitmapOptions = class external name 'Object' (TJSObject) + scaleFactor : Double; + end; + + TBlinkMemoryInfo = class external name 'Object' (TJSObject) + allocated : Double; + total : Double; + end; + + TBrowserViewConstructorOptions = class external name 'Object' (TJSObject) + webPreferences : TWebPreferences; + end; + + TBrowserWindowConstructorOptions = class external name 'Object' (TJSObject) + width : Double; + height : Double; + x : Double; + y : Double; + useContentSize : boolean; + center : boolean; + minWidth : Double; + minHeight : Double; + maxWidth : Double; + maxHeight : Double; + resizable : boolean; + movable : boolean; + minimizable : boolean; + maximizable : boolean; + closable : boolean; + focusable : boolean; + alwaysOnTop : boolean; + fullscreen : boolean; + fullscreenable : boolean; + simpleFullscreen : boolean; + skipTaskbar : boolean; + kiosk : boolean; + title : string; + icon : jsvalue; + show : boolean; + paintWhenInitiallyHidden : boolean; + frame : boolean; + parent : TBrowserWindow; + modal : boolean; + acceptFirstMouse : boolean; + disableAutoHideCursor : boolean; + autoHideMenuBar : boolean; + enableLargerThanScreen : boolean; + backgroundColor : string; + hasShadow : boolean; + opacity : Double; + darkTheme : boolean; + transparent : boolean; + &type : string;external name 'type'; + visualEffectState : jsvalue; + titleBarStyle : jsvalue; + trafficLightPosition : TPoint; + roundedCorners : boolean; + fullscreenWindowTitle : boolean; + thickFrame : boolean; + vibrancy : jsvalue; + zoomToPageWidth : boolean; + tabbingIdentifier : string; + webPreferences : TWebPreferences; + titleBarOverlay : jsvalue; + end; + + TCertificateTrustDialogOptions = class external name 'Object' (TJSObject) + certificate : TCertificate; + message : string; + end; + + TClearCodeCachesOptions_urls = array of string; + TClearCodeCachesOptions = class external name 'Object' (TJSObject) + urls : TClearCodeCachesOptions_urls; + end; + + TClearStorageDataOptions_storages = array of string; + TClearStorageDataOptions_quotas = array of string; + TClearStorageDataOptions = class external name 'Object' (TJSObject) + origin : string; + storages : TClearStorageDataOptions_storages; + quotas : TClearStorageDataOptions_quotas; + end; + + TClientRequestConstructorOptions = class external name 'Object' (TJSObject) + method : string; + url : string; + session : TSession; + partition : string; + credentials : jsvalue; + useSessionCookies : boolean; + protocol : string; + host : string; + hostname : string; + port : Double; + path : string; + redirect : jsvalue; + origin : string; + end; + + TConfig = class external name 'Object' (TJSObject) + mode : jsvalue; + pacScript : string; + proxyRules : string; + proxyBypassRules : string; + end; + + TConfigureHostResolverOptions_secureDnsServers = array of string; + TConfigureHostResolverOptions = class external name 'Object' (TJSObject) + enableBuiltInResolver : boolean; + secureDnsMode : string; + secureDnsServers : TConfigureHostResolverOptions_secureDnsServers; + enableAdditionalDnsQueryTypes : boolean; + end; + + TConsoleMessageEvent = class external name 'Object' (TJSObject) + level : Double; + message : string; + line : Double; + sourceId : string; + end; + + TContextMenuEvent = class external name 'Object' (TJSObject) + params : TParams; + end; + + TContextMenuParams_dictionarySuggestions = array of string; + TContextMenuParams = class external name 'Object' (TJSObject) + x : Double; + y : Double; + frame : TWebFrameMain; + linkURL : string; + linkText : string; + pageURL : string; + frameURL : string; + srcURL : string; + mediaType : jsvalue; + hasImageContents : boolean; + isEditable : boolean; + selectionText : string; + titleText : string; + altText : string; + suggestedFilename : string; + selectionRect : TRectangle; + selectionStartOffset : Double; + referrerPolicy : TReferrer; + misspelledWord : string; + dictionarySuggestions : TContextMenuParams_dictionarySuggestions; + frameCharset : string; + inputFieldType : string; + spellcheckEnabled : boolean; + menuSourceType : jsvalue; + mediaFlags : TMediaFlags; + editFlags : TEditFlags; + end; + + TContinueActivityDetails = class external name 'Object' (TJSObject) + webpageURL : string; + end; + + TCookiesGetFilter = class external name 'Object' (TJSObject) + url : string; + name : string; + domain : string; + path : string; + secure : boolean; + session : boolean; + end; + + TCookiesSetDetails = class external name 'Object' (TJSObject) + url : string; + name : string; + value : string; + domain : string; + path : string; + secure : boolean; + httpOnly : boolean; + expirationDate : Double; + sameSite : jsvalue; + end; + + TCrashReporterStartOptions = class external name 'Object' (TJSObject) + submitURL : string; + productName : string; + companyName : string; + uploadToServer : boolean; + ignoreSystemCrashHandler : boolean; + rateLimit : boolean; + compress : boolean; + extra : TJSObject; + globalExtra : TJSObject; + end; + + TCreateFromBitmapOptions = class external name 'Object' (TJSObject) + width : Double; + height : Double; + scaleFactor : Double; + end; + + TCreateFromBufferOptions = class external name 'Object' (TJSObject) + width : Double; + height : Double; + scaleFactor : Double; + end; + + TCreateInterruptedDownloadOptions_urlChain = array of string; + TCreateInterruptedDownloadOptions = class external name 'Object' (TJSObject) + path : string; + urlChain : TCreateInterruptedDownloadOptions_urlChain; + mimeType : string; + offset : Double; + &length : Double;external name 'length'; + lastModified : string; + eTag : string; + startTime : Double; + end; + + TData = class external name 'Object' (TJSObject) + text : string; + html : string; + image : TNativeImage; + rtf : string; + bookmark : string; + end; + + TDetails = class external name 'Object' (TJSObject) + &type : jsvalue;external name 'type'; + reason : jsvalue; + exitCode : Double; + serviceName : string; + name : string; + end; + + TDevicePermissionHandlerHandlerDetails = class external name 'Object' (TJSObject) + deviceType : jsvalue; + origin : string; + device : jsvalue; + frame : TWebFrameMain; + end; + + TDidChangeThemeColorEvent = class external name 'Object' (TJSObject) + themeColor : string; + end; + + TDidCreateWindowDetails = class external name 'Object' (TJSObject) + url : string; + frameName : string; + options : TBrowserWindowConstructorOptions; + referrer : TReferrer; + postBody : TPostBody; + disposition : jsvalue; + end; + + TDidFailLoadEvent = class external name 'Object' (TJSObject) + errorCode : Double; + errorDescription : string; + validatedURL : string; + isMainFrame : boolean; + end; + + TDidFrameFinishLoadEvent = class external name 'Object' (TJSObject) + isMainFrame : boolean; + end; + + TDidFrameNavigateEvent = class external name 'Object' (TJSObject) + url : string; + httpResponseCode : Double; + httpStatusText : string; + isMainFrame : boolean; + frameProcessId : Double; + frameRoutingId : Double; + end; + + TDidNavigateEvent = class external name 'Object' (TJSObject) + url : string; + end; + + TDidNavigateInPageEvent = class external name 'Object' (TJSObject) + isMainFrame : boolean; + url : string; + end; + + TDidRedirectNavigationEvent = class external name 'Object' (TJSObject) + url : string; + isInPlace : boolean; + isMainFrame : boolean; + frameProcessId : Double; + frameRoutingId : Double; + end; + + TDidStartNavigationEvent = class external name 'Object' (TJSObject) + url : string; + isInPlace : boolean; + isMainFrame : boolean; + frameProcessId : Double; + frameRoutingId : Double; + end; + + TDisplayBalloonOptions = class external name 'Object' (TJSObject) + icon : jsvalue; + iconType : jsvalue; + title : string; + content : string; + largeIcon : boolean; + noSound : boolean; + respectQuietTime : boolean; + end; + + TEnableNetworkEmulationOptions = class external name 'Object' (TJSObject) + offline : boolean; + latency : Double; + downloadThroughput : Double; + uploadThroughput : Double; + end; + + TFeedURLOptions = class external name 'Object' (TJSObject) + url : string; + headers : TJSObject; + serverType : jsvalue; + end; + + TFileIconOptions = class external name 'Object' (TJSObject) + size : jsvalue; + end; + + TFindInPageOptions = class external name 'Object' (TJSObject) + forward : boolean; + findNext : boolean; + matchCase : boolean; + end; + + TFocusOptions = class external name 'Object' (TJSObject) + steal : boolean; + end; + + TFoundInPageEvent = class external name 'Object' (TJSObject) + result : TFoundInPageResult; + end; + + TFrameCreatedDetails = class external name 'Object' (TJSObject) + frame : TWebFrameMain; + end; + + TFromPartitionOptions = class external name 'Object' (TJSObject) + cache : boolean; + end; + + THandlerDetails = class external name 'Object' (TJSObject) + url : string; + frameName : string; + features : string; + disposition : jsvalue; + referrer : TReferrer; + postBody : TPostBody; + end; + + THeadersReceivedResponse = class external name 'Object' (TJSObject) + cancel : boolean; + responseHeaders : TJSObject; + statusLine : string; + end; + + THeapStatistics = class external name 'Object' (TJSObject) + totalHeapSize : Double; + totalHeapSizeExecutable : Double; + totalPhysicalSize : Double; + totalAvailableSize : Double; + usedHeapSize : Double; + heapSizeLimit : Double; + mallocedMemory : Double; + peakMallocedMemory : Double; + doesZapGarbage : boolean; + end; + + THidDeviceAddedDetails_device = array of THIDDevice; + THidDeviceAddedDetails = class external name 'Object' (TJSObject) + device : THidDeviceAddedDetails_device; + frame : TWebFrameMain; + end; + + THidDeviceRemovedDetails_device = array of THIDDevice; + THidDeviceRemovedDetails = class external name 'Object' (TJSObject) + device : THidDeviceRemovedDetails_device; + frame : TWebFrameMain; + end; + + TIgnoreMouseEventsOptions = class external name 'Object' (TJSObject) + forward : boolean; + end; + + TImportCertificateOptions = class external name 'Object' (TJSObject) + certificate : string; + password : string; + end; + + TInfo = class external name 'Object' (TJSObject) + securityOrigin : string; + csp : string; + name : string; + end; + + TInput_modifiers = array of string; + TInput = class external name 'Object' (TJSObject) + &type : string;external name 'type'; + key : string; + code : string; + isAutoRepeat : boolean; + isComposing : boolean; + shift : boolean; + control : boolean; + alt : boolean; + meta : boolean; + location : Double; + modifiers : TInput_modifiers; + end; + + TInsertCSSOptions = class external name 'Object' (TJSObject) + cssOrigin : string; + end; + + TIpcMessageEvent_frameId = Array[0..1] of Double; + TIpcMessageEvent_args = array of JSValue; + TIpcMessageEvent = class external name 'Object' (TJSObject) + frameId : TIpcMessageEvent_frameId; + channel : string; + args : TIpcMessageEvent_args; + end; + + TItem_files = array of string; + TItem = class external name 'Object' (TJSObject) + &file : string;external name 'file'; + files : TItem_files; + icon : jsvalue; + end; + + TJumpListSettings_removedItems = array of TJumpListItem; + TJumpListSettings = class external name 'Object' (TJSObject) + minItems : Double; + removedItems : TJumpListSettings_removedItems; + end; + + TLoadCommitEvent = class external name 'Object' (TJSObject) + url : string; + isMainFrame : boolean; + end; + + TLoadExtensionOptions = class external name 'Object' (TJSObject) + allowFileAccess : boolean; + end; + + TLoadFileOptions = class external name 'Object' (TJSObject) + query : TJSObject; + search : string; + hash : string; + end; + + TLoadURLOptions_postData = array of TJSObject; + TLoadURLOptions = class external name 'Object' (TJSObject) + httpReferrer : jsvalue; + userAgent : string; + extraHeaders : string; + postData : TLoadURLOptions_postData; + baseURLForDataURL : string; + end; + + TLoginItemSettings_launchItems = array of TLaunchItems; + TLoginItemSettings = class external name 'Object' (TJSObject) + openAtLogin : boolean; + openAsHidden : boolean; + wasOpenedAtLogin : boolean; + wasOpenedAsHidden : boolean; + restoreState : boolean; + executableWillLaunchAtLogin : boolean; + launchItems : TLoginItemSettings_launchItems; + end; + + TLoginItemSettingsOptions_args = array of string; + TLoginItemSettingsOptions = class external name 'Object' (TJSObject) + path : string; + args : TLoginItemSettingsOptions_args; + end; + + TMenuItemConstructorOptions_click = Procedure (menuItem : TMenuItem; browserWindow : jsvalue; event : TKeyboardEvent); + TMenuItemConstructorOptions_before = array of string; + TMenuItemConstructorOptions_after = array of string; + TMenuItemConstructorOptions_beforeGroupContaining = array of string; + TMenuItemConstructorOptions_afterGroupContaining = array of string; + TMenuItemConstructorOptions = class external name 'Object' (TJSObject) + click : TMenuItemConstructorOptions_click; + role : jsvalue; + &type : jsvalue;external name 'type'; + &label : string;external name 'label'; + sublabel : string; + toolTip : string; + accelerator : TAccelerator; + icon : jsvalue; + enabled : boolean; + acceleratorWorksWhenHidden : boolean; + visible : boolean; + checked : boolean; + registerAccelerator : boolean; + sharingItem : TSharingItem; + submenu : jsvalue; + id : string; + before : TMenuItemConstructorOptions_before; + after : TMenuItemConstructorOptions_after; + beforeGroupContaining : TMenuItemConstructorOptions_beforeGroupContaining; + afterGroupContaining : TMenuItemConstructorOptions_afterGroupContaining; + end; + + TMessageBoxOptions_buttons = array of string; + TMessageBoxOptions = class external name 'Object' (TJSObject) + message : string; + &type : string;external name 'type'; + buttons : TMessageBoxOptions_buttons; + defaultId : Double; + signal : JSValue; + title : string; + detail : string; + checkboxLabel : string; + checkboxChecked : boolean; + icon : jsvalue; + textWidth : Double; + cancelId : Double; + noLink : boolean; + normalizeAccessKeys : boolean; + end; + + TMessageBoxReturnValue = class external name 'Object' (TJSObject) + response : Double; + checkboxChecked : boolean; + end; + + TMessageBoxSyncOptions_buttons = array of string; + TMessageBoxSyncOptions = class external name 'Object' (TJSObject) + message : string; + &type : string;external name 'type'; + buttons : TMessageBoxSyncOptions_buttons; + defaultId : Double; + title : string; + detail : string; + icon : jsvalue; + textWidth : Double; + cancelId : Double; + noLink : boolean; + normalizeAccessKeys : boolean; + end; + + TMessageDetails = class external name 'Object' (TJSObject) + message : string; + versionId : Double; + source : jsvalue; + level : Double; + sourceUrl : string; + lineNumber : Double; + end; + + TMessageEvent_ports = array of TMessagePortMain; + TMessageEvent = class external name 'Object' (TJSObject) + data : JSValue; + ports : TMessageEvent_ports; + end; + + TMoveToApplicationsFolderOptions_conflictHandler = Function (conflictType : jsvalue): boolean; + TMoveToApplicationsFolderOptions = class external name 'Object' (TJSObject) + conflictHandler : TMoveToApplicationsFolderOptions_conflictHandler; + end; + + TNewWindowEvent = class external name 'Object' (TJSObject) + url : string; + frameName : string; + disposition : jsvalue; + options : TBrowserWindowConstructorOptions; + end; + + TNotificationConstructorOptions_actions = array of TNotificationAction; + TNotificationConstructorOptions = class external name 'Object' (TJSObject) + title : string; + subtitle : string; + body : string; + silent : boolean; + icon : jsvalue; + hasReply : boolean; + timeoutType : jsvalue; + replyPlaceholder : string; + sound : string; + urgency : jsvalue; + actions : TNotificationConstructorOptions_actions; + closeButtonText : string; + toastXml : string; + end; + + TOnBeforeRedirectListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + redirectURL : string; + statusCode : Double; + statusLine : string; + ip : string; + fromCache : boolean; + responseHeaders : TJSObject; + end; + + TOnBeforeRequestListenerDetails_uploadData = array of TUploadData; + TOnBeforeRequestListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + uploadData : TOnBeforeRequestListenerDetails_uploadData; + end; + + TOnBeforeSendHeadersListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + requestHeaders : TJSObject; + end; + + TOnCompletedListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + responseHeaders : TJSObject; + fromCache : boolean; + statusCode : Double; + statusLine : string; + error : string; + end; + + TOnErrorOccurredListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + fromCache : boolean; + error : string; + end; + + TOnHeadersReceivedListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + statusLine : string; + statusCode : Double; + responseHeaders : TJSObject; + end; + + TOnResponseStartedListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + responseHeaders : TJSObject; + fromCache : boolean; + statusCode : Double; + statusLine : string; + end; + + TOnSendHeadersListenerDetails = class external name 'Object' (TJSObject) + id : Double; + url : string; + method : string; + webContentsId : Double; + webContents : TWebContents; + frame : TWebFrameMain; + resourceType : jsvalue; + referrer : string; + timestamp : Double; + requestHeaders : TJSObject; + end; + + TOpenDevToolsOptions = class external name 'Object' (TJSObject) + mode : jsvalue; + activate : boolean; + end; + + TOpenDialogOptions_filters = array of TFileFilter; + TOpenDialogOptions_properties = array of String; + TOpenDialogOptions = class external name 'Object' (TJSObject) + title : string; + defaultPath : string; + buttonLabel : string; + filters : TOpenDialogOptions_filters; + properties_ : TOpenDialogOptions_properties; external name 'properties'; + message : string; + securityScopedBookmarks : boolean; + end; + + TOpenDialogReturnValue_filePaths = array of string; + TOpenDialogReturnValue_bookmarks = array of string; + TOpenDialogReturnValue = class external name 'Object' (TJSObject) + canceled : boolean; + filePaths : TOpenDialogReturnValue_filePaths; + bookmarks : TOpenDialogReturnValue_bookmarks; + end; + + TOpenDialogSyncOptions_filters = array of TFileFilter; + TOpenDialogSyncOptions_properties = array of string; + TOpenDialogSyncOptions = class external name 'Object' (TJSObject) + title : string; + defaultPath : string; + buttonLabel : string; + filters : TOpenDialogSyncOptions_filters; + properties_ : TOpenDialogSyncOptions_properties; external name 'properties'; + message : string; + securityScopedBookmarks : boolean; + end; + + TOpenExternalOptions = class external name 'Object' (TJSObject) + activate : boolean; + workingDirectory : string; + end; + + TOptions = class external name 'Object' (TJSObject) + end; + + TPageFaviconUpdatedEvent_favicons = array of string; + TPageFaviconUpdatedEvent = class external name 'Object' (TJSObject) + favicons : TPageFaviconUpdatedEvent_favicons; + end; + + TPageTitleUpdatedEvent = class external name 'Object' (TJSObject) + title : string; + explicitSet : boolean; + end; + + TParameters = class external name 'Object' (TJSObject) + screenPosition : jsvalue; + screenSize : TSize; + viewPosition : TPoint; + deviceScaleFactor : Double; + viewSize : TSize; + scale : Double; + end; + + TPayment = class external name 'Object' (TJSObject) + productIdentifier : string; + quantity : Double; + applicationUsername : string; + paymentDiscount : TPaymentDiscount; + end; + + TPermissionCheckHandlerHandlerDetails = class external name 'Object' (TJSObject) + embeddingOrigin : string; + securityOrigin : string; + mediaType : jsvalue; + requestingUrl : string; + isMainFrame : boolean; + end; + + TPermissionRequestHandlerHandlerDetails_mediaTypes = array of string; + TPermissionRequestHandlerHandlerDetails = class external name 'Object' (TJSObject) + externalURL : string; + securityOrigin : string; + mediaTypes : TPermissionRequestHandlerHandlerDetails_mediaTypes; + requestingUrl : string; + isMainFrame : boolean; + end; + + TPluginCrashedEvent = class external name 'Object' (TJSObject) + name : string; + version : string; + end; + + TPopupOptions_callback = Procedure; + TPopupOptions = class external name 'Object' (TJSObject) + window : TBrowserWindow; + x : Double; + y : Double; + positioningItem : Double; + callback : TPopupOptions_callback; + end; + + TPreconnectOptions = class external name 'Object' (TJSObject) + url : string; + numSockets : Double; + end; + + TPrintToPDFOptions = class external name 'Object' (TJSObject) + headerFooter : TJSObject; + landscape : boolean; + marginsType : Double; + scaleFactor : Double; + pageRanges : TJSObject; + pageSize : jsvalue; + printBackground : boolean; + printSelectionOnly : boolean; + end; + + TPrivileges = class external name 'Object' (TJSObject) + standard : boolean; + secure : boolean; + bypassCSP : boolean; + allowServiceWorkers : boolean; + supportFetchAPI : boolean; + corsEnabled : boolean; + stream : boolean; + end; + + TProgressBarOptions = class external name 'Object' (TJSObject) + mode : jsvalue; + end; + + TProvider_spellCheck_callback = Procedure (misspeltWords : array of string); + TProvider_spellCheck = Procedure (words : array of string; callback : TProvider_spellCheck_callback); + TProvider = class external name 'Object' (TJSObject) + spellCheck : TProvider_spellCheck; + end; + + TReadBookmark = class external name 'Object' (TJSObject) + title : string; + url : string; + end; + + TRegistrationCompletedDetails = class external name 'Object' (TJSObject) + scope : string; + end; + + TRelaunchOptions_args = array of string; + TRelaunchOptions = class external name 'Object' (TJSObject) + args : TRelaunchOptions_args; + execPath : string; + end; + + TRenderProcessGoneDetails = class external name 'Object' (TJSObject) + reason : jsvalue; + exitCode : Double; + end; + + TRequest = class external name 'Object' (TJSObject) + hostname : string; + certificate : TCertificate; + validatedCertificate : TCertificate; + isIssuedByKnownRoot : boolean; + verificationResult : string; + errorCode : Double; + end; + + TResizeOptions = class external name 'Object' (TJSObject) + width : Double; + height : Double; + quality : string; + end; + + TResourceUsage = class external name 'Object' (TJSObject) + images : TMemoryUsageDetails; + scripts : TMemoryUsageDetails; + cssStyleSheets : TMemoryUsageDetails; + xslStyleSheets : TMemoryUsageDetails; + fonts : TMemoryUsageDetails; + other : TMemoryUsageDetails; + end; + + TResponse = class external name 'Object' (TJSObject) + cancel : boolean; + redirectURL : string; + end; + + TResult = class external name 'Object' (TJSObject) + requestId : Double; + activeMatchOrdinal : Double; + matches : Double; + selectionArea : TRectangle; + finalUpdate : boolean; + end; + + TSaveDialogOptions_filters = array of TFileFilter; + TSaveDialogOptions_properties = array of string; + TSaveDialogOptions = class external name 'Object' (TJSObject) + title : string; + defaultPath : string; + buttonLabel : string; + filters : TSaveDialogOptions_filters; + message : string; + nameFieldLabel : string; + showsTagField : boolean; + properties_ : TSaveDialogOptions_properties; external name 'properties'; + securityScopedBookmarks : boolean; + end; + + TSaveDialogReturnValue = class external name 'Object' (TJSObject) + canceled : boolean; + filePath : string; + bookmark : string; + end; + + TSaveDialogSyncOptions_filters = array of TFileFilter; + TSaveDialogSyncOptions_properties = array of string; + TSaveDialogSyncOptions = class external name 'Object' (TJSObject) + title : string; + defaultPath : string; + buttonLabel : string; + filters : TSaveDialogSyncOptions_filters; + message : string; + nameFieldLabel : string; + showsTagField : boolean; + properties_ : TSaveDialogSyncOptions_properties; external name 'properties'; + securityScopedBookmarks : boolean; + end; + + TSelectHidDeviceDetails_deviceList = array of THIDDevice; + TSelectHidDeviceDetails = class external name 'Object' (TJSObject) + deviceList : TSelectHidDeviceDetails_deviceList; + frame : TWebFrameMain; + end; + + TSettings_args = array of string; + TSettings = class external name 'Object' (TJSObject) + openAtLogin : boolean; + openAsHidden : boolean; + path : string; + args : TSettings_args; + enabled : boolean; + name : string; + end; + + TSourcesOptions_types = array of string; + TSourcesOptions = class external name 'Object' (TJSObject) + types : TSourcesOptions_types; + thumbnailSize : TSize; + fetchWindowIcons : boolean; + end; + + TSSLConfigConfig_disabledCipherSuites = array of Double; + TSSLConfigConfig = class external name 'Object' (TJSObject) + minVersion : string; + maxVersion : string; + disabledCipherSuites : TSSLConfigConfig_disabledCipherSuites; + end; + + TStartLoggingOptions = class external name 'Object' (TJSObject) + captureMode : jsvalue; + maxFileSize : Double; + end; + + TSystemMemoryInfo = class external name 'Object' (TJSObject) + total : Double; + free : Double; + swapTotal : Double; + swapFree : Double; + end; + + TTitleOptions = class external name 'Object' (TJSObject) + fontType : jsvalue; + end; + + TToBitmapOptions = class external name 'Object' (TJSObject) + scaleFactor : Double; + end; + + TToDataURLOptions = class external name 'Object' (TJSObject) + scaleFactor : Double; + end; + + TToPNGOptions = class external name 'Object' (TJSObject) + scaleFactor : Double; + end; + + TTouchBarButtonConstructorOptions_click = Procedure; + TTouchBarButtonConstructorOptions = class external name 'Object' (TJSObject) + &label : string;external name 'label'; + accessibilityLabel : string; + backgroundColor : string; + icon : jsvalue; + iconPosition : jsvalue; + click : TTouchBarButtonConstructorOptions_click; + enabled : boolean; + end; + + TTouchBarColorPickerConstructorOptions_availableColors = array of string; + TTouchBarColorPickerConstructorOptions_change = Procedure (color : string); + TTouchBarColorPickerConstructorOptions = class external name 'Object' (TJSObject) + availableColors : TTouchBarColorPickerConstructorOptions_availableColors; + selectedColor : string; + change : TTouchBarColorPickerConstructorOptions_change; + end; + + TTouchBarConstructorOptions_items = array of TJSObject; + TTouchBarConstructorOptions = class external name 'Object' (TJSObject) + items : TTouchBarConstructorOptions_items; + escapeItem : jsvalue; + end; + + TTouchBarGroupConstructorOptions = class external name 'Object' (TJSObject) + items : TTouchBar; + end; + + TTouchBarLabelConstructorOptions = class external name 'Object' (TJSObject) + &label : string;external name 'label'; + accessibilityLabel : string; + textColor : string; + end; + + TTouchBarPopoverConstructorOptions = class external name 'Object' (TJSObject) + &label : string;external name 'label'; + icon : TNativeImage; + items : TTouchBar; + showCloseButton : boolean; + end; + + TTouchBarScrubberConstructorOptions_items = array of TScrubberItem; + TTouchBarScrubberConstructorOptions_select = Procedure (selectedIndex : Double); + TTouchBarScrubberConstructorOptions_highlight = Procedure (highlightedIndex : Double); + TTouchBarScrubberConstructorOptions = class external name 'Object' (TJSObject) + items : TTouchBarScrubberConstructorOptions_items; + select : TTouchBarScrubberConstructorOptions_select; + highlight : TTouchBarScrubberConstructorOptions_highlight; + selectedStyle : jsvalue; + overlayStyle : jsvalue; + showArrowButtons : boolean; + mode : jsvalue; + continuous : boolean; + end; + + TTouchBarSegmentedControlConstructorOptions_segments = array of TSegmentedControlSegment; + TTouchBarSegmentedControlConstructorOptions_change = Procedure (selectedIndex : Double; isSelected : boolean); + TTouchBarSegmentedControlConstructorOptions = class external name 'Object' (TJSObject) + segmentStyle : jsvalue; + mode : jsvalue; + segments : TTouchBarSegmentedControlConstructorOptions_segments; + selectedIndex : Double; + change : TTouchBarSegmentedControlConstructorOptions_change; + end; + + TTouchBarSliderConstructorOptions_change = Procedure (newValue : Double); + TTouchBarSliderConstructorOptions = class external name 'Object' (TJSObject) + &label : string;external name 'label'; + value : Double; + minValue : Double; + maxValue : Double; + change : TTouchBarSliderConstructorOptions_change; + end; + + TTouchBarSpacerConstructorOptions = class external name 'Object' (TJSObject) + size : jsvalue; + end; + + TTraceBufferUsageReturnValue = class external name 'Object' (TJSObject) + value : Double; + percentage : Double; + end; + + TUpdateTargetUrlEvent = class external name 'Object' (TJSObject) + url : string; + end; + + TUploadProgress = class external name 'Object' (TJSObject) + active : boolean; + started : boolean; + current : Double; + total : Double; + end; + + TVisibleOnAllWorkspacesOptions = class external name 'Object' (TJSObject) + visibleOnFullScreen : boolean; + skipTransformProcessType : boolean; + end; + + TWebContentsPrintOptions_pageRanges = array of TPageRanges; + TWebContentsPrintOptions = class external name 'Object' (TJSObject) + silent : boolean; + printBackground : boolean; + deviceName : string; + color : boolean; + margins : TMargins; + landscape : boolean; + scaleFactor : Double; + pagesPerSheet : Double; + collate : boolean; + copies : Double; + pageRanges : TWebContentsPrintOptions_pageRanges; + duplexMode : jsvalue; + dpi : TJSObject; + header : string; + footer : string; + pageSize : jsvalue; + end; + + TWebviewTagPrintOptions_pageRanges = array of TPageRanges; + TWebviewTagPrintOptions = class external name 'Object' (TJSObject) + silent : boolean; + printBackground : boolean; + deviceName : string; + color : boolean; + margins : TMargins; + landscape : boolean; + scaleFactor : Double; + pagesPerSheet : Double; + collate : boolean; + copies : Double; + pageRanges : TWebviewTagPrintOptions_pageRanges; + duplexMode : jsvalue; + dpi : TJSObject; + header : string; + footer : string; + pageSize : jsvalue; + end; + + TWillNavigateEvent = class external name 'Object' (TJSObject) + url : string; + end; + + TWillResizeDetails = class external name 'Object' (TJSObject) + edge : jsvalue; + end; + + TEditFlags = class external name 'Object' (TJSObject) + canUndo : boolean; + canRedo : boolean; + canCut : boolean; + canCopy : boolean; + canPaste : boolean; + canDelete : boolean; + canSelectAll : boolean; + canEditRichly : boolean; + end; + + TFoundInPageResult = class external name 'Object' (TJSObject) + requestId : Double; + activeMatchOrdinal : Double; + matches : Double; + selectionArea : TRectangle; + finalUpdate : boolean; + end; + + TLaunchItems_args = array of string; + TLaunchItems = class external name 'Object' (TJSObject) + name : string; + path : string; + args : TLaunchItems_args; + scope : string; + enabled : boolean; + end; + + TMargins = class external name 'Object' (TJSObject) + marginType : jsvalue; + top : Double; + bottom : Double; + left : Double; + right : Double; + end; + + TMediaFlags = class external name 'Object' (TJSObject) + inError : boolean; + isPaused : boolean; + isMuted : boolean; + hasAudio : boolean; + isLooping : boolean; + isControlsVisible : boolean; + canToggleControls : boolean; + canPrint : boolean; + canSave : boolean; + canShowPictureInPicture : boolean; + isShowingPictureInPicture : boolean; + canRotate : boolean; + canLoop : boolean; + end; + + TPageRanges = class external name 'Object' (TJSObject) + from : Double; + &to : Double;external name 'to'; + end; + + TParams_dictionarySuggestions = array of string; + TParams = class external name 'Object' (TJSObject) + x : Double; + y : Double; + linkURL : string; + linkText : string; + pageURL : string; + frameURL : string; + srcURL : string; + mediaType : jsvalue; + hasImageContents : boolean; + isEditable : boolean; + selectionText : string; + titleText : string; + altText : string; + suggestedFilename : string; + selectionRect : TRectangle; + selectionStartOffset : Double; + referrerPolicy : TReferrer; + misspelledWord : string; + dictionarySuggestions : TParams_dictionarySuggestions; + frameCharset : string; + inputFieldType : string; + spellcheckEnabled : boolean; + menuSourceType : jsvalue; + mediaFlags : TMediaFlags; + editFlags : TEditFlags; + end; + + TTitleBarOverlay = class external name 'Object' (TJSObject) + color : string; + symbolColor : string; + height : Double; + end; + + TWebPreferences_additionalArguments = array of string; + TWebPreferences = class external name 'Object' (TJSObject) + devTools : boolean; + nodeIntegration : boolean; + nodeIntegrationInWorker : boolean; + nodeIntegrationInSubFrames : boolean; + preload : string; + sandbox : boolean; + session : TSession; + partition : string; + zoomFactor : Double; + javascript : boolean; + webSecurity : boolean; + allowRunningInsecureContent : boolean; + images : boolean; + imageAnimationPolicy : jsvalue; + textAreasAreResizable : boolean; + webgl : boolean; + plugins : boolean; + experimentalFeatures : boolean; + scrollBounce : boolean; + enableBlinkFeatures : string; + disableBlinkFeatures : string; + defaultFontFamily : TDefaultFontFamily; + defaultFontSize : Double; + defaultMonospaceFontSize : Double; + minimumFontSize : Double; + defaultEncoding : string; + backgroundThrottling : boolean; + offscreen : boolean; + contextIsolation : boolean; + nativeWindowOpen : boolean; + webviewTag : boolean; + additionalArguments : TWebPreferences_additionalArguments; + safeDialogs : boolean; + safeDialogsMessage : string; + disableDialogs : boolean; + navigateOnDragDrop : boolean; + autoplayPolicy : jsvalue; + disableHtmlFullscreenWindowResize : boolean; + accessibleTitle : string; + spellcheck : boolean; + enableWebSQL : boolean; + v8CacheOptions : jsvalue; + enablePreferredSizeMode : boolean; + end; + + TDefaultFontFamily = class external name 'Object' (TJSObject) + standard : string; + serif : string; + sansSerif : string; + monospace : string; + cursive : string; + fantasy : string; + end; + + TRemoteMainInterface = class external name 'Object' (TJSObject) + app : TApp; + autoUpdater : TAutoUpdater; + BrowserView : TBrowserView; + BrowserWindow : TBrowserWindow; + clipboard : TClipboard; + contentTracing : TContentTracing; + crashReporter : TCrashReporter; + desktopCapturer : TDesktopCapturer; + dialog : TDialog; + globalShortcut : TGlobalShortcut; + inAppPurchase : TInAppPurchase; + ipcMain : TIpcMain; + Menu : TMenu; + MenuItem : TMenuItem; + MessageChannelMain : TMessageChannelMain; + nativeImage : TNativeImage; + nativeTheme : TNativeTheme; + net : TNet; + netLog : TNetLog; + Notification : TNotification; + powerMonitor : TPowerMonitor; + powerSaveBlocker : TPowerSaveBlocker; + protocol : TProtocol; + safeStorage : TSafeStorage; + screen : TScreen; + session : TSession; + ShareMenu : TShareMenu; + shell : TShell; + systemPreferences : TSystemPreferences; + TouchBar : TTouchBar; + Tray : TTray; + webContents : TWebContents; + webFrameMain : TWebFrameMain; + end; + + // Part of NodeJS + TProcess = class external name 'Object' (TJSObject) + Fchrome : string; external name 'chrome'; + FcontextId : string; external name 'contextId'; + FcontextIsolated : boolean; external name 'contextIsolated'; + FdefaultApp : boolean; external name 'defaultApp'; + Felectron : string; external name 'electron'; + FisMainFrame : boolean; external name 'isMainFrame'; + Fmas : boolean; external name 'mas'; + FresourcesPath : string; external name 'resourcesPath'; + Fsandboxed : boolean; external name 'sandboxed'; + Ftype : jsvalue; external name 'type'; + FwindowsStore : boolean; external name 'windowsStore'; + Function &on(event : String; listener : TJSFunction): TProcess; + Function addListener(event : String; listener : TJSFunction): TProcess; + Procedure crash; + Function getBlinkMemoryInfo: libelectron.TBlinkMemoryInfo; + Function getCPUUsage: libelectron.TCPUUsage; + Function getCreationTime: jsvalue; + Function getHeapStatistics: libelectron.THeapStatistics; + Function getIOCounters: libelectron.TIOCounters; + Function getProcessMemoryInfo: TJSPromise; + Function getSystemMemoryInfo: libelectron.TSystemMemoryInfo; + Function getSystemVersion: string; + Procedure hang; + Function once(event : String; listener : TJSFunction): TProcess; + Function removeListener(event : String; listener : TJSFunction): TProcess; + Procedure setFdLimit(maxDescriptors : Double); + Function takeHeapSnapshot(filePath : string): boolean; + Property chrome : string Read Fchrome; + Property contextId : string Read FcontextId; + Property contextIsolated : boolean Read FcontextIsolated; + Property defaultApp : boolean Read FdefaultApp; + Property electron : string Read Felectron; + Property isMainFrame : boolean Read FisMainFrame; + Property mas : boolean Read Fmas; + noAsar : boolean; + noDeprecation : boolean; + Property resourcesPath : string Read FresourcesPath; + Property sandboxed : boolean Read Fsandboxed; + throwDeprecation : boolean; + traceDeprecation : boolean; + traceProcessWarnings : boolean; + Property type_ : jsvalue Read Ftype; + Property windowsStore : boolean Read FwindowsStore; + end; + + // Part of TNodeJS + TProcessVersions = class external name 'Object' (TJSObject) + Felectron : string; external name 'electron'; + Fchrome : string; external name 'chrome'; + Property electron : string Read Felectron; + Property chrome : string Read Fchrome; + end; + + + +var + // Full export with + electron : TCrossProcessExports; + __dirname: string; external name '__dirname'; + // These provide the restricted environment. + function preload : TPreloadExports; + function main : TMainExports; + function renderer : TRendererExports; + + +implementation + +function renderer : TRendererExports; + +begin + Result:=TRendererExports(JSValue(Electron)); +end; + +function main : TMainExports; + +begin + Result:=TMainExports(JSValue(Electron)); +end; + +Function preload : TpreloadExports; + +begin + Result:=TPreloadExports(JSValue(Electron)); +end; + +initialization + electron:=TCrossProcessExports(Require('electron')); +end.