You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-08-14 21:42:50 +02:00
Update to CEF 3.3359.1768.g8e7c5d6
This commit is contained in:
@@ -263,6 +263,7 @@ object MiniBrowserFrm: TMiniBrowserFrm
|
|||||||
OnTitleChange = Chromium1TitleChange
|
OnTitleChange = Chromium1TitleChange
|
||||||
OnFullScreenModeChange = Chromium1FullScreenModeChange
|
OnFullScreenModeChange = Chromium1FullScreenModeChange
|
||||||
OnStatusMessage = Chromium1StatusMessage
|
OnStatusMessage = Chromium1StatusMessage
|
||||||
|
OnLoadingProgressChange = Chromium1LoadingProgressChange
|
||||||
OnBeforeDownload = Chromium1BeforeDownload
|
OnBeforeDownload = Chromium1BeforeDownload
|
||||||
OnDownloadUpdated = Chromium1DownloadUpdated
|
OnDownloadUpdated = Chromium1DownloadUpdated
|
||||||
OnAfterCreated = Chromium1AfterCreated
|
OnAfterCreated = Chromium1AfterCreated
|
||||||
|
@@ -191,6 +191,8 @@ type
|
|||||||
procedure Chromium1BeforeClose(Sender: TObject;
|
procedure Chromium1BeforeClose(Sender: TObject;
|
||||||
const browser: ICefBrowser);
|
const browser: ICefBrowser);
|
||||||
procedure Chromium1RenderCompMsg(var aMessage : TMessage; var aHandled: Boolean);
|
procedure Chromium1RenderCompMsg(var aMessage : TMessage; var aHandled: Boolean);
|
||||||
|
procedure Chromium1LoadingProgressChange(Sender: TObject;
|
||||||
|
const browser: ICefBrowser; const progress: Double);
|
||||||
|
|
||||||
protected
|
protected
|
||||||
FResponse : TStringList;
|
FResponse : TStringList;
|
||||||
@@ -594,6 +596,12 @@ begin
|
|||||||
if (TempKeyMsg.CharCode = VK_F12) then aHandled := True;
|
if (TempKeyMsg.CharCode = VK_F12) then aHandled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMiniBrowserFrm.Chromium1LoadingProgressChange(Sender: TObject;
|
||||||
|
const browser: ICefBrowser; const progress: Double);
|
||||||
|
begin
|
||||||
|
StatusBar1.Panels[0].Text := 'Loading... ' + FloatToStrF(progress * 100, ffFixed, 3, 0) + '%';
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMiniBrowserFrm.Chromium1LoadingStateChange(Sender: TObject;
|
procedure TMiniBrowserFrm.Chromium1LoadingStateChange(Sender: TObject;
|
||||||
const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean);
|
const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean);
|
||||||
begin
|
begin
|
||||||
|
@@ -45,10 +45,10 @@ uses
|
|||||||
{$IFDEF DELPHI16_UP}
|
{$IFDEF DELPHI16_UP}
|
||||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
|
||||||
System.SyncObjs, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
|
System.SyncObjs, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,
|
||||||
Vcl.ExtCtrls, Vcl.AppEvnts,
|
Vcl.ExtCtrls,
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
Windows, Messages, SysUtils, Variants, Classes, SyncObjs,
|
Windows, Messages, SysUtils, Variants, Classes, SyncObjs,
|
||||||
Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, AppEvnts,
|
Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
uCEFChromium, uCEFTypes, uCEFInterfaces, uCEFConstants, uBufferPanel,
|
uCEFChromium, uCEFTypes, uCEFInterfaces, uCEFConstants, uBufferPanel,
|
||||||
uCEFWindowParent;
|
uCEFWindowParent;
|
||||||
|
@@ -18,7 +18,8 @@ uses
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
begin
|
begin
|
||||||
GlobalCEFApp := TCefApplication.Create;
|
GlobalCEFApp := TCefApplication.Create;
|
||||||
|
GlobalCEFApp.MustFreeLibrary := False;
|
||||||
|
|
||||||
// In case you want to use custom directories for the CEF3 binaries, cache, cookies and user data.
|
// In case you want to use custom directories for the CEF3 binaries, cache, cookies and user data.
|
||||||
// If you don't set a cache directory the browser will use in-memory cache.
|
// If you don't set a cache directory the browser will use in-memory cache.
|
||||||
@@ -41,6 +42,8 @@ begin
|
|||||||
Application.Initialize;
|
Application.Initialize;
|
||||||
Application.CreateForm(TSimpleFMXBrowserFrm, SimpleFMXBrowserFrm);
|
Application.CreateForm(TSimpleFMXBrowserFrm, SimpleFMXBrowserFrm);
|
||||||
Application.Run;
|
Application.Run;
|
||||||
|
|
||||||
|
SimpleFMXBrowserFrm.Free;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
GlobalCEFApp.Free;
|
GlobalCEFApp.Free;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
object SimpleFMXBrowserFrm: TSimpleFMXBrowserFrm
|
object SimpleFMXBrowserFrm: TSimpleFMXBrowserFrm
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Initializing, Please wait...'
|
Caption = 'Initializing browser. Please wait...'
|
||||||
ClientHeight = 600
|
ClientHeight = 600
|
||||||
ClientWidth = 917
|
ClientWidth = 917
|
||||||
Position = ScreenCenter
|
Position = ScreenCenter
|
||||||
|
@@ -298,7 +298,7 @@ end;
|
|||||||
|
|
||||||
procedure TSimpleFMXBrowserFrm.DoDestroyParent;
|
procedure TSimpleFMXBrowserFrm.DoDestroyParent;
|
||||||
begin
|
begin
|
||||||
if (FMXWindowParent <> nil) then FMXWindowParent.Free;
|
if (FMXWindowParent <> nil) then FreeAndNil(FMXWindowParent);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSimpleFMXBrowserFrm.LoadURL;
|
procedure TSimpleFMXBrowserFrm.LoadURL;
|
||||||
|
@@ -162,7 +162,8 @@ contains
|
|||||||
uCEFServerHandler in '..\source\uCEFServerHandler.pas',
|
uCEFServerHandler in '..\source\uCEFServerHandler.pas',
|
||||||
uCEFServerEvents in '..\source\uCEFServerEvents.pas',
|
uCEFServerEvents in '..\source\uCEFServerEvents.pas',
|
||||||
uCEFServerComponent in '..\source\uCEFServerComponent.pas',
|
uCEFServerComponent in '..\source\uCEFServerComponent.pas',
|
||||||
uCEFStringList in '..\source\uCEFStringList.pas';
|
uCEFStringList in '..\source\uCEFStringList.pas',
|
||||||
|
uCEFv8ArrayBufferReleaseCallback in '..\source\uCEFv8ArrayBufferReleaseCallback.pas';
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@@ -253,6 +253,8 @@
|
|||||||
<DCCReference Include="..\source\uCEFServerHandler.pas"/>
|
<DCCReference Include="..\source\uCEFServerHandler.pas"/>
|
||||||
<DCCReference Include="..\source\uCEFServerEvents.pas"/>
|
<DCCReference Include="..\source\uCEFServerEvents.pas"/>
|
||||||
<DCCReference Include="..\source\uCEFServerComponent.pas"/>
|
<DCCReference Include="..\source\uCEFServerComponent.pas"/>
|
||||||
|
<DCCReference Include="..\source\uCEFStringList.pas"/>
|
||||||
|
<DCCReference Include="..\source\uCEFv8ArrayBufferReleaseCallback.pas"/>
|
||||||
<BuildConfiguration Include="Base">
|
<BuildConfiguration Include="Base">
|
||||||
<Key>Base</Key>
|
<Key>Base</Key>
|
||||||
</BuildConfiguration>
|
</BuildConfiguration>
|
||||||
|
@@ -159,6 +159,7 @@ contains
|
|||||||
uCEFServerHandler in '..\source\uCEFServerHandler.pas',
|
uCEFServerHandler in '..\source\uCEFServerHandler.pas',
|
||||||
uCEFServerEvents in '..\source\uCEFServerEvents.pas',
|
uCEFServerEvents in '..\source\uCEFServerEvents.pas',
|
||||||
uCEFServerComponent in '..\source\uCEFServerComponent.pas',
|
uCEFServerComponent in '..\source\uCEFServerComponent.pas',
|
||||||
uCEFStringList in '..\source\uCEFStringList.pas';
|
uCEFStringList in '..\source\uCEFStringList.pas',
|
||||||
|
uCEFv8ArrayBufferReleaseCallback in '..\source\uCEFv8ArrayBufferReleaseCallback.pas';
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@@ -166,7 +166,8 @@ contains
|
|||||||
uFMXChromium in '..\source\uFMXChromium.pas',
|
uFMXChromium in '..\source\uFMXChromium.pas',
|
||||||
uFMXWorkScheduler in '..\source\uFMXWorkScheduler.pas',
|
uFMXWorkScheduler in '..\source\uFMXWorkScheduler.pas',
|
||||||
uCEFStringList in '..\source\uCEFStringList.pas',
|
uCEFStringList in '..\source\uCEFStringList.pas',
|
||||||
uFMXWindowParent in '..\source\uFMXWindowParent.pas';
|
uFMXWindowParent in '..\source\uFMXWindowParent.pas',
|
||||||
|
uCEFv8ArrayBufferReleaseCallback in '..\source\uCEFv8ArrayBufferReleaseCallback.pas';
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@@ -278,6 +278,7 @@
|
|||||||
<DCCReference Include="..\source\uFMXWorkScheduler.pas"/>
|
<DCCReference Include="..\source\uFMXWorkScheduler.pas"/>
|
||||||
<DCCReference Include="..\source\uCEFStringList.pas"/>
|
<DCCReference Include="..\source\uCEFStringList.pas"/>
|
||||||
<DCCReference Include="..\source\uFMXWindowParent.pas"/>
|
<DCCReference Include="..\source\uFMXWindowParent.pas"/>
|
||||||
|
<DCCReference Include="..\source\uCEFv8ArrayBufferReleaseCallback.pas"/>
|
||||||
<BuildConfiguration Include="Base">
|
<BuildConfiguration Include="Base">
|
||||||
<Key>Base</Key>
|
<Key>Base</Key>
|
||||||
</BuildConfiguration>
|
</BuildConfiguration>
|
||||||
|
Binary file not shown.
@@ -56,14 +56,14 @@ uses
|
|||||||
|
|
||||||
const
|
const
|
||||||
CEF_SUPPORTED_VERSION_MAJOR = 3;
|
CEF_SUPPORTED_VERSION_MAJOR = 3;
|
||||||
CEF_SUPPORTED_VERSION_MINOR = 3325;
|
CEF_SUPPORTED_VERSION_MINOR = 3359;
|
||||||
CEF_SUPPORTED_VERSION_RELEASE = 1758;
|
CEF_SUPPORTED_VERSION_RELEASE = 1768;
|
||||||
CEF_SUPPORTED_VERSION_BUILD = 0;
|
CEF_SUPPORTED_VERSION_BUILD = 0;
|
||||||
|
|
||||||
CEF_CHROMEELF_VERSION_MAJOR = 65;
|
CEF_CHROMEELF_VERSION_MAJOR = 66;
|
||||||
CEF_CHROMEELF_VERSION_MINOR = 0;
|
CEF_CHROMEELF_VERSION_MINOR = 0;
|
||||||
CEF_CHROMEELF_VERSION_RELEASE = 3325;
|
CEF_CHROMEELF_VERSION_RELEASE = 3359;
|
||||||
CEF_CHROMEELF_VERSION_BUILD = 181;
|
CEF_CHROMEELF_VERSION_BUILD = 117;
|
||||||
|
|
||||||
LIBCEF_DLL = 'libcef.dll';
|
LIBCEF_DLL = 'libcef.dll';
|
||||||
CHROMEELF_DLL = 'chrome_elf.dll';
|
CHROMEELF_DLL = 'chrome_elf.dll';
|
||||||
@@ -1787,6 +1787,7 @@ begin
|
|||||||
cef_v8value_create_string := GetProcAddress(FLibHandle, 'cef_v8value_create_string');
|
cef_v8value_create_string := GetProcAddress(FLibHandle, 'cef_v8value_create_string');
|
||||||
cef_v8value_create_object := GetProcAddress(FLibHandle, 'cef_v8value_create_object');
|
cef_v8value_create_object := GetProcAddress(FLibHandle, 'cef_v8value_create_object');
|
||||||
cef_v8value_create_array := GetProcAddress(FLibHandle, 'cef_v8value_create_array');
|
cef_v8value_create_array := GetProcAddress(FLibHandle, 'cef_v8value_create_array');
|
||||||
|
cef_v8value_create_array_buffer := GetProcAddress(FLibHandle, 'cef_v8value_create_array_buffer');
|
||||||
cef_v8value_create_function := GetProcAddress(FLibHandle, 'cef_v8value_create_function');
|
cef_v8value_create_function := GetProcAddress(FLibHandle, 'cef_v8value_create_function');
|
||||||
cef_v8stack_trace_get_current := GetProcAddress(FLibHandle, 'cef_v8stack_trace_get_current');
|
cef_v8stack_trace_get_current := GetProcAddress(FLibHandle, 'cef_v8stack_trace_get_current');
|
||||||
cef_register_extension := GetProcAddress(FLibHandle, 'cef_register_extension');
|
cef_register_extension := GetProcAddress(FLibHandle, 'cef_register_extension');
|
||||||
@@ -1804,6 +1805,7 @@ begin
|
|||||||
assigned(cef_v8value_create_string) and
|
assigned(cef_v8value_create_string) and
|
||||||
assigned(cef_v8value_create_object) and
|
assigned(cef_v8value_create_object) and
|
||||||
assigned(cef_v8value_create_array) and
|
assigned(cef_v8value_create_array) and
|
||||||
|
assigned(cef_v8value_create_array_buffer) and
|
||||||
assigned(cef_v8value_create_function) and
|
assigned(cef_v8value_create_function) and
|
||||||
assigned(cef_v8stack_trace_get_current) and
|
assigned(cef_v8stack_trace_get_current) and
|
||||||
assigned(cef_register_extension);
|
assigned(cef_register_extension);
|
||||||
|
@@ -149,6 +149,7 @@ type
|
|||||||
FOnStatusMessage : TOnStatusMessage;
|
FOnStatusMessage : TOnStatusMessage;
|
||||||
FOnConsoleMessage : TOnConsoleMessage;
|
FOnConsoleMessage : TOnConsoleMessage;
|
||||||
FOnAutoResize : TOnAutoResize;
|
FOnAutoResize : TOnAutoResize;
|
||||||
|
FOnLoadingProgressChange : TOnLoadingProgressChange;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
FOnBeforeDownload : TOnBeforeDownload;
|
FOnBeforeDownload : TOnBeforeDownload;
|
||||||
@@ -203,6 +204,7 @@ type
|
|||||||
FOnUpdateDragCursor : TOnUpdateDragCursor;
|
FOnUpdateDragCursor : TOnUpdateDragCursor;
|
||||||
FOnScrollOffsetChanged : TOnScrollOffsetChanged;
|
FOnScrollOffsetChanged : TOnScrollOffsetChanged;
|
||||||
FOnIMECompositionRangeChanged : TOnIMECompositionRangeChanged;
|
FOnIMECompositionRangeChanged : TOnIMECompositionRangeChanged;
|
||||||
|
FOnTextSelectionChanged : TOnTextSelectionChanged;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
FOnDragEnter : TOnDragEnter;
|
FOnDragEnter : TOnDragEnter;
|
||||||
@@ -365,6 +367,7 @@ type
|
|||||||
procedure doOnStatusMessage(const browser: ICefBrowser; const value: ustring); virtual;
|
procedure doOnStatusMessage(const browser: ICefBrowser; const value: ustring); virtual;
|
||||||
function doOnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const aMessage, source: ustring; line: Integer): Boolean; virtual;
|
function doOnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const aMessage, source: ustring; line: Integer): Boolean; virtual;
|
||||||
function doOnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; virtual;
|
function doOnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; virtual;
|
||||||
|
procedure doOnLoadingProgressChange(const browser: ICefBrowser; const progress: double); virtual;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual;
|
procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual;
|
||||||
@@ -419,6 +422,7 @@ type
|
|||||||
procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
|
procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
|
||||||
procedure doOnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); virtual;
|
procedure doOnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); virtual;
|
||||||
procedure doOnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); virtual;
|
procedure doOnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); virtual;
|
||||||
|
procedure doOnTextSelectionChanged(const browser: ICefBrowser; const selected_text: ustring; const selected_range: PCefRange); virtual;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
function doOnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations): Boolean; virtual;
|
function doOnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations): Boolean; virtual;
|
||||||
@@ -636,6 +640,7 @@ type
|
|||||||
property OnStatusMessage : TOnStatusMessage read FOnStatusMessage write FOnStatusMessage;
|
property OnStatusMessage : TOnStatusMessage read FOnStatusMessage write FOnStatusMessage;
|
||||||
property OnConsoleMessage : TOnConsoleMessage read FOnConsoleMessage write FOnConsoleMessage;
|
property OnConsoleMessage : TOnConsoleMessage read FOnConsoleMessage write FOnConsoleMessage;
|
||||||
property OnAutoResize : TOnAutoResize read FOnAutoResize write FOnAutoResize;
|
property OnAutoResize : TOnAutoResize read FOnAutoResize write FOnAutoResize;
|
||||||
|
property OnLoadingProgressChange : TOnLoadingProgressChange read FOnLoadingProgressChange write FOnLoadingProgressChange;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
property OnBeforeDownload : TOnBeforeDownload read FOnBeforeDownload write FOnBeforeDownload;
|
property OnBeforeDownload : TOnBeforeDownload read FOnBeforeDownload write FOnBeforeDownload;
|
||||||
@@ -690,6 +695,7 @@ type
|
|||||||
property OnUpdateDragCursor : TOnUpdateDragCursor read FOnUpdateDragCursor write FOnUpdateDragCursor;
|
property OnUpdateDragCursor : TOnUpdateDragCursor read FOnUpdateDragCursor write FOnUpdateDragCursor;
|
||||||
property OnScrollOffsetChanged : TOnScrollOffsetChanged read FOnScrollOffsetChanged write FOnScrollOffsetChanged;
|
property OnScrollOffsetChanged : TOnScrollOffsetChanged read FOnScrollOffsetChanged write FOnScrollOffsetChanged;
|
||||||
property OnIMECompositionRangeChanged : TOnIMECompositionRangeChanged read FOnIMECompositionRangeChanged write FOnIMECompositionRangeChanged;
|
property OnIMECompositionRangeChanged : TOnIMECompositionRangeChanged read FOnIMECompositionRangeChanged write FOnIMECompositionRangeChanged;
|
||||||
|
property OnTextSelectionChanged : TOnTextSelectionChanged read FOnTextSelectionChanged write FOnTextSelectionChanged;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
property OnDragEnter : TOnDragEnter read FOnDragEnter write FOnDragEnter;
|
property OnDragEnter : TOnDragEnter read FOnDragEnter write FOnDragEnter;
|
||||||
@@ -963,6 +969,7 @@ begin
|
|||||||
FOnStatusMessage := nil;
|
FOnStatusMessage := nil;
|
||||||
FOnConsoleMessage := nil;
|
FOnConsoleMessage := nil;
|
||||||
FOnAutoResize := nil;
|
FOnAutoResize := nil;
|
||||||
|
FOnLoadingProgressChange := nil;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
FOnBeforeDownload := nil;
|
FOnBeforeDownload := nil;
|
||||||
@@ -1017,6 +1024,7 @@ begin
|
|||||||
FOnUpdateDragCursor := nil;
|
FOnUpdateDragCursor := nil;
|
||||||
FOnScrollOffsetChanged := nil;
|
FOnScrollOffsetChanged := nil;
|
||||||
FOnIMECompositionRangeChanged := nil;
|
FOnIMECompositionRangeChanged := nil;
|
||||||
|
FOnTextSelectionChanged := nil;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
FOnDragEnter := nil;
|
FOnDragEnter := nil;
|
||||||
@@ -2686,14 +2694,15 @@ end;
|
|||||||
|
|
||||||
function TChromium.MustCreateDisplayHandler : boolean;
|
function TChromium.MustCreateDisplayHandler : boolean;
|
||||||
begin
|
begin
|
||||||
Result := assigned(FOnAddressChange) or
|
Result := assigned(FOnAddressChange) or
|
||||||
assigned(FOnTitleChange) or
|
assigned(FOnTitleChange) or
|
||||||
assigned(FOnFavIconUrlChange) or
|
assigned(FOnFavIconUrlChange) or
|
||||||
assigned(FOnFullScreenModeChange) or
|
assigned(FOnFullScreenModeChange) or
|
||||||
assigned(FOnTooltip) or
|
assigned(FOnTooltip) or
|
||||||
assigned(FOnStatusMessage) or
|
assigned(FOnStatusMessage) or
|
||||||
assigned(FOnConsoleMessage) or
|
assigned(FOnConsoleMessage) or
|
||||||
assigned(FOnAutoResize);
|
assigned(FOnAutoResize) or
|
||||||
|
assigned(FOnLoadingProgressChange);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TChromium.MustCreateDownloadHandler : boolean;
|
function TChromium.MustCreateDownloadHandler : boolean;
|
||||||
@@ -3088,6 +3097,11 @@ begin
|
|||||||
if Assigned(FOnAutoResize) then FOnAutoResize(Self, browser, new_size, Result);
|
if Assigned(FOnAutoResize) then FOnAutoResize(Self, browser, new_size, Result);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TChromium.doOnLoadingProgressChange(const browser: ICefBrowser; const progress: double);
|
||||||
|
begin
|
||||||
|
if assigned(FOnLoadingProgressChange) then FOnLoadingProgressChange(self, browser, progress);
|
||||||
|
end;
|
||||||
|
|
||||||
function TChromium.doOnContextMenuCommand(const browser : ICefBrowser;
|
function TChromium.doOnContextMenuCommand(const browser : ICefBrowser;
|
||||||
const frame : ICefFrame;
|
const frame : ICefFrame;
|
||||||
const params : ICefContextMenuParams;
|
const params : ICefContextMenuParams;
|
||||||
@@ -3520,6 +3534,14 @@ begin
|
|||||||
FOnIMECompositionRangeChanged(self, browser, selected_range, character_boundsCount, character_bounds);
|
FOnIMECompositionRangeChanged(self, browser, selected_range, character_boundsCount, character_bounds);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TChromium.doOnTextSelectionChanged(const browser : ICefBrowser;
|
||||||
|
const selected_text : ustring;
|
||||||
|
const selected_range : PCefRange);
|
||||||
|
begin
|
||||||
|
if assigned(FOnTextSelectionChanged) then
|
||||||
|
FOnTextSelectionChanged(self, browser, selected_text, selected_range);
|
||||||
|
end;
|
||||||
|
|
||||||
function TChromium.doOnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean;
|
function TChromium.doOnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
|
@@ -88,6 +88,7 @@ type
|
|||||||
TOnStatusMessage = procedure(Sender: TObject; const browser: ICefBrowser; const value: ustring) of object;
|
TOnStatusMessage = procedure(Sender: TObject; const browser: ICefBrowser; const value: ustring) of object;
|
||||||
TOnConsoleMessage = procedure(Sender: TObject; const browser: ICefBrowser; level: TCefLogSeverity; const message, source: ustring; line: Integer; out Result: Boolean) of object;
|
TOnConsoleMessage = procedure(Sender: TObject; const browser: ICefBrowser; level: TCefLogSeverity; const message, source: ustring; line: Integer; out Result: Boolean) of object;
|
||||||
TOnAutoResize = procedure(Sender: TObject; const browser: ICefBrowser; const new_size: PCefSize; out Result: Boolean) of object;
|
TOnAutoResize = procedure(Sender: TObject; const browser: ICefBrowser; const new_size: PCefSize; out Result: Boolean) of object;
|
||||||
|
TOnLoadingProgressChange = procedure(Sender: TObject; const browser: ICefBrowser; const progress: double) of object;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
TOnBeforeDownload = procedure(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback) of object;
|
TOnBeforeDownload = procedure(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback) of object;
|
||||||
@@ -142,6 +143,7 @@ type
|
|||||||
TOnUpdateDragCursor = procedure(Sender: TObject; const browser: ICefBrowser; operation: TCefDragOperation) of Object;
|
TOnUpdateDragCursor = procedure(Sender: TObject; const browser: ICefBrowser; operation: TCefDragOperation) of Object;
|
||||||
TOnScrollOffsetChanged = procedure(Sender: TObject; const browser: ICefBrowser; x, y: Double) of Object;
|
TOnScrollOffsetChanged = procedure(Sender: TObject; const browser: ICefBrowser; x, y: Double) of Object;
|
||||||
TOnIMECompositionRangeChanged = procedure(Sender: TObject; const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect) of Object;
|
TOnIMECompositionRangeChanged = procedure(Sender: TObject; const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect) of Object;
|
||||||
|
TOnTextSelectionChanged = procedure(Sender: TObject; const browser: ICefBrowser; const selected_text: ustring; const selected_range: PCefRange) of Object;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
TOnDragEnter = procedure(Sender: TObject; const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations; out Result: Boolean) of Object;
|
TOnDragEnter = procedure(Sender: TObject; const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations; out Result: Boolean) of Object;
|
||||||
|
@@ -171,6 +171,7 @@ const
|
|||||||
UR_FLAG_REPORT_UPLOAD_PROGRESS = 1 shl 3;
|
UR_FLAG_REPORT_UPLOAD_PROGRESS = 1 shl 3;
|
||||||
UR_FLAG_NO_DOWNLOAD_DATA = 1 shl 4;
|
UR_FLAG_NO_DOWNLOAD_DATA = 1 shl 4;
|
||||||
UR_FLAG_NO_RETRY_ON_5XX = 1 shl 5;
|
UR_FLAG_NO_RETRY_ON_5XX = 1 shl 5;
|
||||||
|
UR_FLAG_STOP_ON_REDIRECT = 1 shl 6;
|
||||||
|
|
||||||
// /include/internal/cef_types.h (cef_dom_event_category_t)
|
// /include/internal/cef_types.h (cef_dom_event_category_t)
|
||||||
DOM_EVENT_CATEGORY_UNKNOWN = 0;
|
DOM_EVENT_CATEGORY_UNKNOWN = 0;
|
||||||
|
@@ -65,6 +65,7 @@ type
|
|||||||
procedure OnStatusMessage(const browser: ICefBrowser; const value: ustring); virtual;
|
procedure OnStatusMessage(const browser: ICefBrowser; const value: ustring); virtual;
|
||||||
function OnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const message_, source: ustring; line: Integer): Boolean; virtual;
|
function OnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const message_, source: ustring; line: Integer): Boolean; virtual;
|
||||||
function OnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; virtual;
|
function OnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; virtual;
|
||||||
|
procedure OnLoadingProgressChange(const browser: ICefBrowser; const progress: double); virtual;
|
||||||
|
|
||||||
procedure RemoveReferences; virtual;
|
procedure RemoveReferences; virtual;
|
||||||
|
|
||||||
@@ -84,6 +85,7 @@ type
|
|||||||
procedure OnStatusMessage(const browser: ICefBrowser; const value: ustring); override;
|
procedure OnStatusMessage(const browser: ICefBrowser; const value: ustring); override;
|
||||||
function OnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const message_, source: ustring; line: Integer): Boolean; override;
|
function OnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const message_, source: ustring; line: Integer): Boolean; override;
|
||||||
function OnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; override;
|
function OnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; override;
|
||||||
|
procedure OnLoadingProgressChange(const browser: ICefBrowser; const progress: double); override;
|
||||||
|
|
||||||
procedure RemoveReferences; override;
|
procedure RemoveReferences; override;
|
||||||
|
|
||||||
@@ -243,20 +245,34 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure cef_display_handler_on_loading_progress_change(self : PCefDisplayHandler;
|
||||||
|
browser : PCefBrowser;
|
||||||
|
progress : double); stdcall;
|
||||||
|
var
|
||||||
|
TempObject : TObject;
|
||||||
|
begin
|
||||||
|
TempObject := CefGetObject(self);
|
||||||
|
|
||||||
|
if (TempObject <> nil) and (TempObject is TCefDisplayHandlerOwn) then
|
||||||
|
TCefDisplayHandlerOwn(TempObject).OnLoadingProgressChange(TCefBrowserRef.UnWrap(browser),
|
||||||
|
progress);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TCefDisplayHandlerOwn.Create;
|
constructor TCefDisplayHandlerOwn.Create;
|
||||||
begin
|
begin
|
||||||
inherited CreateData(SizeOf(TCefDisplayHandler));
|
inherited CreateData(SizeOf(TCefDisplayHandler));
|
||||||
|
|
||||||
with PCefDisplayHandler(FData)^ do
|
with PCefDisplayHandler(FData)^ do
|
||||||
begin
|
begin
|
||||||
on_address_change := cef_display_handler_on_address_change;
|
on_address_change := cef_display_handler_on_address_change;
|
||||||
on_title_change := cef_display_handler_on_title_change;
|
on_title_change := cef_display_handler_on_title_change;
|
||||||
on_favicon_urlchange := cef_display_handler_on_favicon_urlchange;
|
on_favicon_urlchange := cef_display_handler_on_favicon_urlchange;
|
||||||
on_fullscreen_mode_change := cef_display_handler_on_fullscreen_mode_change;
|
on_fullscreen_mode_change := cef_display_handler_on_fullscreen_mode_change;
|
||||||
on_tooltip := cef_display_handler_on_tooltip;
|
on_tooltip := cef_display_handler_on_tooltip;
|
||||||
on_status_message := cef_display_handler_on_status_message;
|
on_status_message := cef_display_handler_on_status_message;
|
||||||
on_console_message := cef_display_handler_on_console_message;
|
on_console_message := cef_display_handler_on_console_message;
|
||||||
on_auto_resize := cef_display_handler_on_auto_resize;
|
on_auto_resize := cef_display_handler_on_auto_resize;
|
||||||
|
on_loading_progress_change := cef_display_handler_on_loading_progress_change;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -275,6 +291,11 @@ begin
|
|||||||
Result := False;
|
Result := False;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCefDisplayHandlerOwn.OnLoadingProgressChange(const browser: ICefBrowser; const progress: double);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCefDisplayHandlerOwn.OnFaviconUrlChange(const browser: ICefBrowser; const iconUrls: TStrings);
|
procedure TCefDisplayHandlerOwn.OnFaviconUrlChange(const browser: ICefBrowser; const iconUrls: TStrings);
|
||||||
begin
|
begin
|
||||||
//
|
//
|
||||||
@@ -353,6 +374,11 @@ begin
|
|||||||
Result := inherited OnAutoResize(browser, new_size);
|
Result := inherited OnAutoResize(browser, new_size);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCustomDisplayHandler.OnLoadingProgressChange(const browser: ICefBrowser; const progress: double);
|
||||||
|
begin
|
||||||
|
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnLoadingProgressChange(browser, progress);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCustomDisplayHandler.OnFaviconUrlChange(const browser: ICefBrowser; const iconUrls: TStrings);
|
procedure TCustomDisplayHandler.OnFaviconUrlChange(const browser: ICefBrowser; const iconUrls: TStrings);
|
||||||
begin
|
begin
|
||||||
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnFaviconUrlChange(browser, iconUrls);
|
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnFaviconUrlChange(browser, iconUrls);
|
||||||
|
@@ -50,11 +50,21 @@ uses
|
|||||||
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
TCefEndTracingCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const tracingFile: ustring);
|
||||||
|
|
||||||
TCefEndTracingCallbackOwn = class(TCefBaseRefCountedOwn, ICefEndTracingCallback)
|
TCefEndTracingCallbackOwn = class(TCefBaseRefCountedOwn, ICefEndTracingCallback)
|
||||||
protected
|
protected
|
||||||
procedure OnEndTracingComplete(const tracingFile: ustring); virtual;
|
procedure OnEndTracingComplete(const tracingFile: ustring); virtual;
|
||||||
public
|
public
|
||||||
constructor Create; virtual;
|
constructor Create; virtual;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TCefFastEndTracingCallback = class(TCefEndTracingCallbackOwn)
|
||||||
|
protected
|
||||||
|
FCallback: TCefEndTracingCallbackProc;
|
||||||
|
procedure OnEndTracingComplete(const tracingFile: ustring); override;
|
||||||
|
public
|
||||||
|
constructor Create(const callback: TCefEndTracingCallbackProc); reintroduce;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@@ -62,6 +72,8 @@ implementation
|
|||||||
uses
|
uses
|
||||||
uCEFMiscFunctions, uCEFLibFunctions;
|
uCEFMiscFunctions, uCEFLibFunctions;
|
||||||
|
|
||||||
|
// TCefEndTracingCallbackOwn
|
||||||
|
|
||||||
procedure cef_end_tracing_callback_on_end_tracing_complete( self : PCefEndTracingCallback;
|
procedure cef_end_tracing_callback_on_end_tracing_complete( self : PCefEndTracingCallback;
|
||||||
const tracing_file : PCefString); stdcall;
|
const tracing_file : PCefString); stdcall;
|
||||||
var
|
var
|
||||||
@@ -85,4 +97,18 @@ begin
|
|||||||
//
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// TCefFastEndTracingCallback
|
||||||
|
|
||||||
|
constructor TCefFastEndTracingCallback.Create(const callback: TCefEndTracingCallbackProc);
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
|
||||||
|
FCallback := callback;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCefFastEndTracingCallback.OnEndTracingComplete(const tracingFile: ustring);
|
||||||
|
begin
|
||||||
|
FCallback(tracingFile);
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@@ -263,6 +263,7 @@ type
|
|||||||
function doOnPreKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out isKeyboardShortcut: Boolean): Boolean;
|
function doOnPreKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out isKeyboardShortcut: Boolean): Boolean;
|
||||||
function doOnKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle): Boolean;
|
function doOnKeyEvent(const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle): Boolean;
|
||||||
|
|
||||||
|
// ICefDisplayHandler
|
||||||
procedure doOnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring);
|
procedure doOnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring);
|
||||||
procedure doOnTitleChange(const browser: ICefBrowser; const title: ustring);
|
procedure doOnTitleChange(const browser: ICefBrowser; const title: ustring);
|
||||||
procedure doOnFaviconUrlChange(const browser: ICefBrowser; const iconUrls: TStrings);
|
procedure doOnFaviconUrlChange(const browser: ICefBrowser; const iconUrls: TStrings);
|
||||||
@@ -317,6 +318,7 @@ type
|
|||||||
function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
function doOnGetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
||||||
function doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
function doOnGetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
||||||
function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean;
|
function doOnGetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean;
|
||||||
|
function doOnGetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean;
|
||||||
procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean);
|
procedure doOnPopupShow(const browser: ICefBrowser; show: Boolean);
|
||||||
procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
|
procedure doOnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
|
||||||
procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
|
procedure doOnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
|
||||||
@@ -676,11 +678,14 @@ type
|
|||||||
['{E9C896E4-59A8-4B96-AB5E-6EA3A498B7F1}']
|
['{E9C896E4-59A8-4B96-AB5E-6EA3A498B7F1}']
|
||||||
function IsReadOnly: Boolean;
|
function IsReadOnly: Boolean;
|
||||||
function GetError: TCefErrorCode;
|
function GetError: TCefErrorCode;
|
||||||
|
procedure SetError(error: TCefErrorCode);
|
||||||
|
function GetStatus: Integer;
|
||||||
procedure SetStatus(status: Integer);
|
procedure SetStatus(status: Integer);
|
||||||
function GetStatusText: ustring;
|
function GetStatusText: ustring;
|
||||||
procedure SetStatusText(const StatusText: ustring);
|
procedure SetStatusText(const StatusText: ustring);
|
||||||
function GetMimeType: ustring;
|
function GetMimeType: ustring;
|
||||||
procedure SetMimeType(const mimetype: ustring);
|
procedure SetMimeType(const mimetype: ustring);
|
||||||
|
function GetHeader(const name: ustring): ustring;
|
||||||
procedure GetHeaderMap(const headerMap: ICefStringMultimap);
|
procedure GetHeaderMap(const headerMap: ICefStringMultimap);
|
||||||
procedure SetHeaderMap(const headerMap: ICefStringMultimap);
|
procedure SetHeaderMap(const headerMap: ICefStringMultimap);
|
||||||
function GetURL: ustring;
|
function GetURL: ustring;
|
||||||
@@ -769,6 +774,13 @@ type
|
|||||||
function GetStartColumn: Integer;
|
function GetStartColumn: Integer;
|
||||||
function GetEndColumn: Integer;
|
function GetEndColumn: Integer;
|
||||||
|
|
||||||
|
property Message : ustring read GetMessage;
|
||||||
|
property SourceLine : ustring read GetSourceLine;
|
||||||
|
property ScriptResourceName : ustring read GetScriptResourceName;
|
||||||
|
property LineNumber : Integer read GetLineNumber;
|
||||||
|
property StartPosition : Integer read GetStartPosition;
|
||||||
|
property EndPosition : Integer read GetEndPosition;
|
||||||
|
property StartColumn : Integer read GetStartColumn;
|
||||||
property EndColumn : Integer read GetEndColumn;
|
property EndColumn : Integer read GetEndColumn;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -867,6 +879,7 @@ type
|
|||||||
ICefv8Value = interface(ICefBaseRefCounted)
|
ICefv8Value = interface(ICefBaseRefCounted)
|
||||||
['{52319B8D-75A8-422C-BD4B-16FA08CC7F42}']
|
['{52319B8D-75A8-422C-BD4B-16FA08CC7F42}']
|
||||||
function IsValid: Boolean;
|
function IsValid: Boolean;
|
||||||
|
function IsUndefined: Boolean;
|
||||||
function IsNull: Boolean;
|
function IsNull: Boolean;
|
||||||
function IsBool: Boolean;
|
function IsBool: Boolean;
|
||||||
function IsInt: Boolean;
|
function IsInt: Boolean;
|
||||||
@@ -896,6 +909,8 @@ type
|
|||||||
function DeleteValueByKey(const key: ustring): Boolean;
|
function DeleteValueByKey(const key: ustring): Boolean;
|
||||||
function DeleteValueByIndex(index: Integer): Boolean;
|
function DeleteValueByIndex(index: Integer): Boolean;
|
||||||
function GetValueByKey(const key: ustring): ICefv8Value;
|
function GetValueByKey(const key: ustring): ICefv8Value;
|
||||||
|
function GetValueByIndex(index: Integer): ICefv8Value;
|
||||||
|
function SetValueByKey(const key: ustring; const value: ICefv8Value; attribute: TCefV8PropertyAttributes): Boolean;
|
||||||
function SetValueByIndex(index: Integer; const value: ICefv8Value): Boolean;
|
function SetValueByIndex(index: Integer; const value: ICefv8Value): Boolean;
|
||||||
function SetValueByAccessor(const key: ustring; settings: TCefV8AccessControls; attribute: TCefV8PropertyAttributes): Boolean;
|
function SetValueByAccessor(const key: ustring; settings: TCefV8AccessControls; attribute: TCefV8PropertyAttributes): Boolean;
|
||||||
function GetKeys(const keys: TStrings): Integer;
|
function GetKeys(const keys: TStrings): Integer;
|
||||||
@@ -1587,6 +1602,7 @@ type
|
|||||||
|
|
||||||
// TCefDisplayHandler
|
// TCefDisplayHandler
|
||||||
// /include/capi/cef_display_handler_capi.h (cef_display_handler_t)
|
// /include/capi/cef_display_handler_capi.h (cef_display_handler_t)
|
||||||
|
ICefDisplayHandler = interface(ICefBaseRefCounted)
|
||||||
['{1EC7C76D-6969-41D1-B26D-079BCFF054C4}']
|
['{1EC7C76D-6969-41D1-B26D-079BCFF054C4}']
|
||||||
procedure OnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring);
|
procedure OnAddressChange(const browser: ICefBrowser; const frame: ICefFrame; const url: ustring);
|
||||||
procedure OnTitleChange(const browser: ICefBrowser; const title: ustring);
|
procedure OnTitleChange(const browser: ICefBrowser; const title: ustring);
|
||||||
@@ -1678,6 +1694,7 @@ type
|
|||||||
procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler);
|
procedure GetAccessibilityHandler(var aAccessibilityHandler : ICefAccessibilityHandler);
|
||||||
function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
function GetRootScreenRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
||||||
function GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
function GetViewRect(const browser: ICefBrowser; var rect: TCefRect): Boolean;
|
||||||
|
function GetScreenPoint(const browser: ICefBrowser; viewX, viewY: Integer; var screenX, screenY: Integer): Boolean;
|
||||||
function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean;
|
function GetScreenInfo(const browser: ICefBrowser; var screenInfo: TCefScreenInfo): Boolean;
|
||||||
procedure OnPopupShow(const browser: ICefBrowser; show: Boolean);
|
procedure OnPopupShow(const browser: ICefBrowser; show: Boolean);
|
||||||
procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
|
procedure OnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
|
||||||
|
@@ -198,6 +198,7 @@ var
|
|||||||
cef_v8value_create_string : function(const value: PCefString): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
cef_v8value_create_string : function(const value: PCefString): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
||||||
cef_v8value_create_object : function(accessor: PCefV8Accessor; interceptor: PCefV8Interceptor): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
cef_v8value_create_object : function(accessor: PCefV8Accessor; interceptor: PCefV8Interceptor): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
||||||
cef_v8value_create_array : function(length: Integer): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
cef_v8value_create_array : function(length: Integer): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
||||||
|
cef_v8value_create_array_buffer : function(buffer : Pointer; length: NativeUInt; release_callback : PCefv8ArrayBufferReleaseCallback): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
||||||
cef_v8value_create_function : function(const name: PCefString; handler: PCefv8Handler): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
cef_v8value_create_function : function(const name: PCefString; handler: PCefv8Handler): PCefv8Value; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
||||||
cef_v8stack_trace_get_current : function(frame_limit: Integer): PCefV8StackTrace; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
cef_v8stack_trace_get_current : function(frame_limit: Integer): PCefV8StackTrace; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
||||||
cef_register_extension : function(const extension_name, javascript_code: PCefString; handler: PCefv8Handler): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
cef_register_extension : function(const extension_name, javascript_code: PCefString; handler: PCefv8Handler): Integer; {$IFDEF CPUX64}stdcall{$ELSE}cdecl{$ENDIF};
|
||||||
|
@@ -65,6 +65,7 @@ type
|
|||||||
procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
|
procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
|
||||||
procedure OnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); virtual;
|
procedure OnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); virtual;
|
||||||
procedure OnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); virtual;
|
procedure OnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); virtual;
|
||||||
|
procedure OnTextSelectionChanged(const browser: ICefBrowser; const selected_text: ustring; const selected_range: PCefRange); virtual;
|
||||||
|
|
||||||
procedure RemoveReferences; virtual;
|
procedure RemoveReferences; virtual;
|
||||||
|
|
||||||
@@ -89,6 +90,7 @@ type
|
|||||||
procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); override;
|
procedure OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); override;
|
||||||
procedure OnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); override;
|
procedure OnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); override;
|
||||||
procedure OnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); override;
|
procedure OnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); override;
|
||||||
|
procedure OnTextSelectionChanged(const browser: ICefBrowser; const selected_text: ustring; const selected_range: PCefRange); override;
|
||||||
|
|
||||||
procedure RemoveReferences; override;
|
procedure RemoveReferences; override;
|
||||||
|
|
||||||
@@ -315,6 +317,21 @@ begin
|
|||||||
character_bounds);
|
character_bounds);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure cef_render_handler_on_text_selection_changed( self : PCefRenderHandler;
|
||||||
|
browser : PCefBrowser;
|
||||||
|
const selected_text : PCefString;
|
||||||
|
const selected_range : PCefRange); stdcall;
|
||||||
|
var
|
||||||
|
TempObject : TObject;
|
||||||
|
begin
|
||||||
|
TempObject := CefGetObject(self);
|
||||||
|
|
||||||
|
if (TempObject <> nil) and (TempObject is TCefRenderHandlerOwn) then
|
||||||
|
TCefRenderHandlerOwn(TempObject).OnTextSelectionChanged(TCefBrowserRef.UnWrap(browser),
|
||||||
|
CefString(selected_text),
|
||||||
|
selected_range);
|
||||||
|
end;
|
||||||
|
|
||||||
constructor TCefRenderHandlerOwn.Create;
|
constructor TCefRenderHandlerOwn.Create;
|
||||||
begin
|
begin
|
||||||
inherited CreateData(SizeOf(TCefRenderHandler));
|
inherited CreateData(SizeOf(TCefRenderHandler));
|
||||||
@@ -334,6 +351,7 @@ begin
|
|||||||
update_drag_cursor := cef_render_handler_update_drag_cursor;
|
update_drag_cursor := cef_render_handler_update_drag_cursor;
|
||||||
on_scroll_offset_changed := cef_render_handler_on_scroll_offset_changed;
|
on_scroll_offset_changed := cef_render_handler_on_scroll_offset_changed;
|
||||||
on_ime_composition_range_changed := cef_render_handler_on_ime_composition_range_changed;
|
on_ime_composition_range_changed := cef_render_handler_on_ime_composition_range_changed;
|
||||||
|
on_text_selection_changed := cef_render_handler_on_text_selection_changed;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -364,27 +382,27 @@ end;
|
|||||||
|
|
||||||
procedure TCefRenderHandlerOwn.OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
|
procedure TCefRenderHandlerOwn.OnCursorChange(const browser: ICefBrowser; cursor: TCefCursorHandle; CursorType: TCefCursorType; const customCursorInfo: PCefCursorInfo);
|
||||||
begin
|
begin
|
||||||
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefRenderHandlerOwn.OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
|
procedure TCefRenderHandlerOwn.OnPaint(const browser: ICefBrowser; kind: TCefPaintElementType; dirtyRectsCount: NativeUInt; const dirtyRects: PCefRectArray; const buffer: Pointer; width, height: Integer);
|
||||||
begin
|
begin
|
||||||
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefRenderHandlerOwn.OnPopupShow(const browser: ICefBrowser; show: Boolean);
|
procedure TCefRenderHandlerOwn.OnPopupShow(const browser: ICefBrowser; show: Boolean);
|
||||||
begin
|
begin
|
||||||
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefRenderHandlerOwn.OnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
|
procedure TCefRenderHandlerOwn.OnPopupSize(const browser: ICefBrowser; const rect: PCefRect);
|
||||||
begin
|
begin
|
||||||
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefRenderHandlerOwn.OnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double);
|
procedure TCefRenderHandlerOwn.OnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double);
|
||||||
begin
|
begin
|
||||||
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefRenderHandlerOwn.OnIMECompositionRangeChanged(const browser : ICefBrowser;
|
procedure TCefRenderHandlerOwn.OnIMECompositionRangeChanged(const browser : ICefBrowser;
|
||||||
@@ -392,7 +410,14 @@ procedure TCefRenderHandlerOwn.OnIMECompositionRangeChanged(const browser
|
|||||||
character_boundsCount : NativeUInt;
|
character_boundsCount : NativeUInt;
|
||||||
const character_bounds : PCefRect);
|
const character_bounds : PCefRect);
|
||||||
begin
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCefRenderHandlerOwn.OnTextSelectionChanged(const browser : ICefBrowser;
|
||||||
|
const selected_text : ustring;
|
||||||
|
const selected_range : PCefRange);
|
||||||
|
begin
|
||||||
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCefRenderHandlerOwn.OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean;
|
function TCefRenderHandlerOwn.OnStartDragging(const browser: ICefBrowser; const dragData: ICefDragData; allowedOps: TCefDragOperations; x, y: Integer): Boolean;
|
||||||
@@ -402,7 +427,7 @@ end;
|
|||||||
|
|
||||||
procedure TCefRenderHandlerOwn.OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation);
|
procedure TCefRenderHandlerOwn.OnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation);
|
||||||
begin
|
begin
|
||||||
|
//
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefRenderHandlerOwn.RemoveReferences;
|
procedure TCefRenderHandlerOwn.RemoveReferences;
|
||||||
@@ -510,6 +535,13 @@ begin
|
|||||||
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnIMECompositionRangeChanged(browser, selected_range, character_boundsCount, character_bounds);
|
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnIMECompositionRangeChanged(browser, selected_range, character_boundsCount, character_bounds);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCustomRenderHandler.OnTextSelectionChanged(const browser : ICefBrowser;
|
||||||
|
const selected_text : ustring;
|
||||||
|
const selected_range : PCefRange);
|
||||||
|
begin
|
||||||
|
if (FEvents <> nil) then IChromiumEvents(FEvents).doOnTextSelectionChanged(browser, selected_text, selected_range);
|
||||||
|
end;
|
||||||
|
|
||||||
function TCustomRenderHandler.OnStartDragging(const browser : ICefBrowser;
|
function TCustomRenderHandler.OnStartDragging(const browser : ICefBrowser;
|
||||||
const dragData : ICefDragData;
|
const dragData : ICefDragData;
|
||||||
allowedOps : TCefDragOperations;
|
allowedOps : TCefDragOperations;
|
||||||
|
@@ -51,22 +51,25 @@ uses
|
|||||||
|
|
||||||
type
|
type
|
||||||
TCefResponseRef = class(TCefBaseRefCountedRef, ICefResponse)
|
TCefResponseRef = class(TCefBaseRefCountedRef, ICefResponse)
|
||||||
protected
|
protected
|
||||||
function IsReadOnly: Boolean;
|
function IsReadOnly: Boolean;
|
||||||
function GetError: TCefErrorCode;
|
function GetError: TCefErrorCode;
|
||||||
procedure SetError(error: TCefErrorCode);
|
procedure SetError(error: TCefErrorCode);
|
||||||
function GetStatus: Integer;
|
function GetStatus: Integer;
|
||||||
procedure SetStatus(status: Integer);
|
procedure SetStatus(status: Integer);
|
||||||
function GetStatusText: ustring;
|
function GetStatusText: ustring;
|
||||||
procedure SetStatusText(const StatusText: ustring);
|
procedure SetStatusText(const StatusText: ustring);
|
||||||
function GetMimeType: ustring;
|
function GetMimeType: ustring;
|
||||||
procedure SetMimeType(const mimetype: ustring);
|
procedure SetMimeType(const mimetype: ustring);
|
||||||
function GetHeader(const name: ustring): ustring;
|
function GetHeader(const name: ustring): ustring;
|
||||||
procedure GetHeaderMap(const headerMap: ICefStringMultimap);
|
procedure GetHeaderMap(const headerMap: ICefStringMultimap);
|
||||||
procedure SetHeaderMap(const headerMap: ICefStringMultimap);
|
procedure SetHeaderMap(const headerMap: ICefStringMultimap);
|
||||||
public
|
function GetURL: ustring;
|
||||||
class function UnWrap(data: Pointer): ICefResponse;
|
procedure SetURL(const url: ustring);
|
||||||
class function New: ICefResponse;
|
|
||||||
|
public
|
||||||
|
class function UnWrap(data: Pointer): ICefResponse;
|
||||||
|
class function New: ICefResponse;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
@@ -87,10 +90,10 @@ end;
|
|||||||
|
|
||||||
function TCefResponseRef.GetHeader(const name: ustring): ustring;
|
function TCefResponseRef.GetHeader(const name: ustring): ustring;
|
||||||
var
|
var
|
||||||
n: TCefString;
|
TempName : TCefString;
|
||||||
begin
|
begin
|
||||||
n := CefString(name);
|
TempName := CefString(name);
|
||||||
Result := CefStringFreeAndGet(PCefResponse(FData)^.get_header(PCefResponse(FData), @n));
|
Result := CefStringFreeAndGet(PCefResponse(FData)^.get_header(PCefResponse(FData), @TempName));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefResponseRef.GetHeaderMap(const headerMap: ICefStringMultimap);
|
procedure TCefResponseRef.GetHeaderMap(const headerMap: ICefStringMultimap);
|
||||||
@@ -130,10 +133,10 @@ end;
|
|||||||
|
|
||||||
procedure TCefResponseRef.SetMimeType(const mimetype: ustring);
|
procedure TCefResponseRef.SetMimeType(const mimetype: ustring);
|
||||||
var
|
var
|
||||||
txt: TCefString;
|
TempType : TCefString;
|
||||||
begin
|
begin
|
||||||
txt := CefString(mimetype);
|
TempType := CefString(mimetype);
|
||||||
PCefResponse(FData)^.set_mime_type(PCefResponse(FData), @txt);
|
PCefResponse(FData)^.set_mime_type(PCefResponse(FData), @TempType);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCefResponseRef.SetStatus(status: Integer);
|
procedure TCefResponseRef.SetStatus(status: Integer);
|
||||||
@@ -143,16 +146,30 @@ end;
|
|||||||
|
|
||||||
procedure TCefResponseRef.SetStatusText(const StatusText: ustring);
|
procedure TCefResponseRef.SetStatusText(const StatusText: ustring);
|
||||||
var
|
var
|
||||||
txt: TCefString;
|
TempStatus : TCefString;
|
||||||
begin
|
begin
|
||||||
txt := CefString(StatusText);
|
TempStatus := CefString(StatusText);
|
||||||
PCefResponse(FData)^.set_status_text(PCefResponse(FData), @txt);
|
PCefResponse(FData)^.set_status_text(PCefResponse(FData), @TempStatus);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TCefResponseRef.GetURL : ustring;
|
||||||
|
begin
|
||||||
|
Result := CefStringFreeAndGet(PCefResponse(FData)^.get_url(PCefResponse(FData)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCefResponseRef.SetURL(const url : ustring);
|
||||||
|
var
|
||||||
|
TempURL : TCefString;
|
||||||
|
begin
|
||||||
|
TempURL := CefString(url);
|
||||||
|
PCefResponse(FData)^.set_url(PCefResponse(FData), @TempURL);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
class function TCefResponseRef.UnWrap(data: Pointer): ICefResponse;
|
class function TCefResponseRef.UnWrap(data: Pointer): ICefResponse;
|
||||||
begin
|
begin
|
||||||
if data <> nil then
|
if (data <> nil) then
|
||||||
Result := Create(data) as ICefResponse else
|
Result := Create(data) as ICefResponse
|
||||||
|
else
|
||||||
Result := nil;
|
Result := nil;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@@ -96,6 +96,7 @@ type
|
|||||||
PCefv8Value = ^TCefv8Value;
|
PCefv8Value = ^TCefv8Value;
|
||||||
PCefTime = ^TCefTime;
|
PCefTime = ^TCefTime;
|
||||||
PCefV8Exception = ^TCefV8Exception;
|
PCefV8Exception = ^TCefV8Exception;
|
||||||
|
PCefv8ArrayBufferReleaseCallback = ^TCefv8ArrayBufferReleaseCallback;
|
||||||
PCefv8Handler = ^TCefv8Handler;
|
PCefv8Handler = ^TCefv8Handler;
|
||||||
PPCefV8Value = ^PCefV8ValueArray;
|
PPCefV8Value = ^PCefV8ValueArray;
|
||||||
PCefDomVisitor = ^TCefDomVisitor;
|
PCefDomVisitor = ^TCefDomVisitor;
|
||||||
@@ -634,11 +635,9 @@ type
|
|||||||
// /include/internal/cef_types.h (cef_thread_id_t)
|
// /include/internal/cef_types.h (cef_thread_id_t)
|
||||||
TCefThreadId = (
|
TCefThreadId = (
|
||||||
TID_UI,
|
TID_UI,
|
||||||
TID_DB,
|
TID_FILE_BACKGROUND, // TID_FILE = TID_FILE_BACKGROUND
|
||||||
TID_FILE,
|
TID_FILE_USER_VISIBLE,
|
||||||
TID_FILE_USER_BLOCKING,
|
TID_FILE_USER_BLOCKING,
|
||||||
TID_PROCESS_LAUNCHER,
|
|
||||||
TID_CACHE,
|
|
||||||
TID_IO,
|
TID_IO,
|
||||||
TID_RENDERER
|
TID_RENDERER
|
||||||
);
|
);
|
||||||
@@ -1209,15 +1208,16 @@ type
|
|||||||
|
|
||||||
// /include/capi/cef_display_handler_capi.h (cef_display_handler_t)
|
// /include/capi/cef_display_handler_capi.h (cef_display_handler_t)
|
||||||
TCefDisplayHandler = record
|
TCefDisplayHandler = record
|
||||||
base : TCefBaseRefCounted;
|
base : TCefBaseRefCounted;
|
||||||
on_address_change : procedure(self: PCefDisplayHandler; browser: PCefBrowser; frame: PCefFrame; const url: PCefString); stdcall;
|
on_address_change : procedure(self: PCefDisplayHandler; browser: PCefBrowser; frame: PCefFrame; const url: PCefString); stdcall;
|
||||||
on_title_change : procedure(self: PCefDisplayHandler; browser: PCefBrowser; const title: PCefString); stdcall;
|
on_title_change : procedure(self: PCefDisplayHandler; browser: PCefBrowser; const title: PCefString); stdcall;
|
||||||
on_favicon_urlchange : procedure(self: PCefDisplayHandler; browser: PCefBrowser; icon_urls: TCefStringList); stdcall;
|
on_favicon_urlchange : procedure(self: PCefDisplayHandler; browser: PCefBrowser; icon_urls: TCefStringList); stdcall;
|
||||||
on_fullscreen_mode_change : procedure(self: PCefDisplayHandler; browser: PCefBrowser; fullscreen: Integer); stdcall;
|
on_fullscreen_mode_change : procedure(self: PCefDisplayHandler; browser: PCefBrowser; fullscreen: Integer); stdcall;
|
||||||
on_tooltip : function(self: PCefDisplayHandler; browser: PCefBrowser; text: PCefString): Integer; stdcall;
|
on_tooltip : function(self: PCefDisplayHandler; browser: PCefBrowser; text: PCefString): Integer; stdcall;
|
||||||
on_status_message : procedure(self: PCefDisplayHandler; browser: PCefBrowser; const value: PCefString); stdcall;
|
on_status_message : procedure(self: PCefDisplayHandler; browser: PCefBrowser; const value: PCefString); stdcall;
|
||||||
on_console_message : function(self: PCefDisplayHandler; browser: PCefBrowser; level: TCefLogSeverity; const message_, source: PCefString; line: Integer): Integer; stdcall;
|
on_console_message : function(self: PCefDisplayHandler; browser: PCefBrowser; level: TCefLogSeverity; const message_, source: PCefString; line: Integer): Integer; stdcall;
|
||||||
on_auto_resize : function(self: PCefDisplayHandler; browser: PCefBrowser; const new_size: PCefSize): Integer; stdcall;
|
on_auto_resize : function(self: PCefDisplayHandler; browser: PCefBrowser; const new_size: PCefSize): Integer; stdcall;
|
||||||
|
on_loading_progress_change : procedure(self: PCefDisplayHandler; browser: PCefBrowser; progress: double); stdcall;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// /include/capi/cef_download_handler_capi.h (cef_download_handler_t)
|
// /include/capi/cef_download_handler_capi.h (cef_download_handler_t)
|
||||||
@@ -1338,6 +1338,7 @@ type
|
|||||||
update_drag_cursor : procedure(self: PCefRenderHandler; browser: PCefBrowser; operation: TCefDragOperation); stdcall;
|
update_drag_cursor : procedure(self: PCefRenderHandler; browser: PCefBrowser; operation: TCefDragOperation); stdcall;
|
||||||
on_scroll_offset_changed : procedure(self: PCefRenderHandler; browser: PCefBrowser; x, y: Double); stdcall;
|
on_scroll_offset_changed : procedure(self: PCefRenderHandler; browser: PCefBrowser; x, y: Double); stdcall;
|
||||||
on_ime_composition_range_changed : procedure(self: PCefRenderHandler; browser: PCefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); stdcall;
|
on_ime_composition_range_changed : procedure(self: PCefRenderHandler; browser: PCefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); stdcall;
|
||||||
|
on_text_selection_changed : procedure(self: PCefRenderHandler; browser: PCefBrowser; const selected_text: PCefString; const selected_range: PCefRange); stdcall;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// /include/capi/cef_v8_capi.h (cef_v8stack_trace_t)
|
// /include/capi/cef_v8_capi.h (cef_v8stack_trace_t)
|
||||||
@@ -1619,6 +1620,8 @@ type
|
|||||||
get_header : function(self: PCefResponse; const name: PCefString): PCefStringUserFree; stdcall;
|
get_header : function(self: PCefResponse; const name: PCefString): PCefStringUserFree; stdcall;
|
||||||
get_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
|
get_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
|
||||||
set_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
|
set_header_map : procedure(self: PCefResponse; headerMap: TCefStringMultimap); stdcall;
|
||||||
|
get_url : function(self: PCefResponse): PCefStringUserFree; stdcall;
|
||||||
|
set_url : procedure(self: PCefResponse; const url: PCefString); stdcall;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
// /include/capi/cef_response_filter_capi.h (cef_response_filter_t)
|
// /include/capi/cef_response_filter_capi.h (cef_response_filter_t)
|
||||||
@@ -2275,6 +2278,12 @@ type
|
|||||||
get_end_column : function(self: PCefV8Exception): Integer; stdcall;
|
get_end_column : function(self: PCefV8Exception): Integer; stdcall;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
// /include/capi/cef_v8_capi.h (cef_v8array_buffer_release_callback_t)
|
||||||
|
TCefv8ArrayBufferReleaseCallback = record
|
||||||
|
base : TCefBaseRefCounted;
|
||||||
|
release_buffer : procedure(self: PCefv8ArrayBufferReleaseCallback; buffer : Pointer); stdcall;
|
||||||
|
end;
|
||||||
|
|
||||||
// /include/capi/cef_v8_capi.h (cef_v8value_t)
|
// /include/capi/cef_v8_capi.h (cef_v8value_t)
|
||||||
TCefv8Value = record
|
TCefv8Value = record
|
||||||
base : TCefBaseRefCounted;
|
base : TCefBaseRefCounted;
|
||||||
@@ -2289,6 +2298,7 @@ type
|
|||||||
is_string : function(self: PCefv8Value): Integer; stdcall;
|
is_string : function(self: PCefv8Value): Integer; stdcall;
|
||||||
is_object : function(self: PCefv8Value): Integer; stdcall;
|
is_object : function(self: PCefv8Value): Integer; stdcall;
|
||||||
is_array : function(self: PCefv8Value): Integer; stdcall;
|
is_array : function(self: PCefv8Value): Integer; stdcall;
|
||||||
|
is_array_buffer : function(self: PCefv8Value): Integer; stdcall;
|
||||||
is_function : function(self: PCefv8Value): Integer; stdcall;
|
is_function : function(self: PCefv8Value): Integer; stdcall;
|
||||||
is_same : function(self, that: PCefv8Value): Integer; stdcall;
|
is_same : function(self, that: PCefv8Value): Integer; stdcall;
|
||||||
get_bool_value : function(self: PCefv8Value): Integer; stdcall;
|
get_bool_value : function(self: PCefv8Value): Integer; stdcall;
|
||||||
@@ -2318,6 +2328,8 @@ type
|
|||||||
get_externally_allocated_memory : function(self: PCefv8Value): Integer; stdcall;
|
get_externally_allocated_memory : function(self: PCefv8Value): Integer; stdcall;
|
||||||
adjust_externally_allocated_memory : function(self: PCefv8Value; change_in_bytes: Integer): Integer; stdcall;
|
adjust_externally_allocated_memory : function(self: PCefv8Value; change_in_bytes: Integer): Integer; stdcall;
|
||||||
get_array_length : function(self: PCefv8Value): Integer; stdcall;
|
get_array_length : function(self: PCefv8Value): Integer; stdcall;
|
||||||
|
get_array_buffer_release_callback : function(self: PCefv8Value): PCefv8ArrayBufferReleaseCallback; stdcall;
|
||||||
|
neuter_array_buffer : function(self: PCefv8Value): Integer; stdcall;
|
||||||
get_function_name : function(self: PCefv8Value): PCefStringUserFree; stdcall;
|
get_function_name : function(self: PCefv8Value): PCefStringUserFree; stdcall;
|
||||||
get_function_handler : function(self: PCefv8Value): PCefv8Handler; stdcall;
|
get_function_handler : function(self: PCefv8Value): PCefv8Handler; stdcall;
|
||||||
execute_function : function(self: PCefv8Value; obj: PCefv8Value; argumentsCount: NativeUInt; const arguments: PPCefV8Value): PCefv8Value; stdcall;
|
execute_function : function(self: PCefv8Value; obj: PCefv8Value; argumentsCount: NativeUInt; const arguments: PPCefV8Value): PCefv8Value; stdcall;
|
||||||
|
@@ -105,6 +105,8 @@ end;
|
|||||||
|
|
||||||
constructor TCefFastWebPluginUnstableCallback.Create(const callback: TCefWebPluginIsUnstableProc);
|
constructor TCefFastWebPluginUnstableCallback.Create(const callback: TCefWebPluginIsUnstableProc);
|
||||||
begin
|
begin
|
||||||
|
inherited Create;
|
||||||
|
|
||||||
FCallback := callback;
|
FCallback := callback;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
143
source/uCEFv8ArrayBufferReleaseCallback.pas
Normal file
143
source/uCEFv8ArrayBufferReleaseCallback.pas
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
// ************************************************************************
|
||||||
|
// ***************************** CEF4Delphi *******************************
|
||||||
|
// ************************************************************************
|
||||||
|
//
|
||||||
|
// CEF4Delphi is based on DCEF3 which uses CEF3 to embed a chromium-based
|
||||||
|
// browser in Delphi applications.
|
||||||
|
//
|
||||||
|
// The original license of DCEF3 still applies to CEF4Delphi.
|
||||||
|
//
|
||||||
|
// For more information about CEF4Delphi visit :
|
||||||
|
// https://www.briskbard.com/index.php?lang=en&pageid=cef
|
||||||
|
//
|
||||||
|
// Copyright � 2018 Salvador D�az Fau. All rights reserved.
|
||||||
|
//
|
||||||
|
// ************************************************************************
|
||||||
|
// ************ vvvv Original license and comments below vvvv *************
|
||||||
|
// ************************************************************************
|
||||||
|
(*
|
||||||
|
* Delphi Chromium Embedded 3
|
||||||
|
*
|
||||||
|
* Usage allowed under the restrictions of the Lesser GNU General Public License
|
||||||
|
* or alternatively the restrictions of the Mozilla Public License 1.1
|
||||||
|
*
|
||||||
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
|
||||||
|
* the specific language governing rights and limitations under the License.
|
||||||
|
*
|
||||||
|
* Unit owner : Henri Gourvest <hgourvest@gmail.com>
|
||||||
|
* Web site : http://www.progdigy.com
|
||||||
|
* Repository : http://code.google.com/p/delphichromiumembedded/
|
||||||
|
* Group : http://groups.google.com/group/delphichromiumembedded
|
||||||
|
*
|
||||||
|
* Embarcadero Technologies, Inc is not permitted to use or redistribute
|
||||||
|
* this source code without explicit permission.
|
||||||
|
*
|
||||||
|
*)
|
||||||
|
|
||||||
|
unit uCEFv8ArrayBufferReleaseCallback;
|
||||||
|
|
||||||
|
{$IFNDEF CPUX64}
|
||||||
|
{$ALIGN ON}
|
||||||
|
{$MINENUMSIZE 4}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$I cef.inc}
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
uCEFBaseRefCounted, uCEFInterfaces, uCEFTypes;
|
||||||
|
|
||||||
|
type
|
||||||
|
TCefv8ArrayBufferReleaseCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(buffer : Pointer);
|
||||||
|
|
||||||
|
TCefv8ArrayBufferReleaseCallbackOwn = class(TCefBaseRefCountedOwn, ICefv8ArrayBufferReleaseCallback)
|
||||||
|
protected
|
||||||
|
procedure ReleaseBuffer(buffer : Pointer); virtual;
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create; virtual;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TCefFastv8ArrayBufferReleaseCallback = class(TCefv8ArrayBufferReleaseCallbackOwn)
|
||||||
|
protected
|
||||||
|
FCallback: TCefv8ArrayBufferReleaseCallbackProc;
|
||||||
|
|
||||||
|
procedure ReleaseBuffer(buffer : Pointer); override;
|
||||||
|
|
||||||
|
public
|
||||||
|
constructor Create(const callback: TCefv8ArrayBufferReleaseCallbackProc); reintroduce;
|
||||||
|
end;
|
||||||
|
|
||||||
|
TCefv8ArrayBufferReleaseCallbackRef = class(TCefBaseRefCountedRef, ICefv8ArrayBufferReleaseCallback)
|
||||||
|
protected
|
||||||
|
procedure ReleaseBuffer(buffer : Pointer); virtual;
|
||||||
|
|
||||||
|
public
|
||||||
|
class function UnWrap(data: Pointer): ICefv8ArrayBufferReleaseCallback;
|
||||||
|
end;
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
uCEFMiscFunctions, uCEFLibFunctions;
|
||||||
|
|
||||||
|
procedure cef_v8array_buffer_release_callback_release_buffer(self : PCefv8ArrayBufferReleaseCallback;
|
||||||
|
buffer : Pointer); stdcall;
|
||||||
|
var
|
||||||
|
TempObject : TObject;
|
||||||
|
begin
|
||||||
|
TempObject := CefGetObject(self);
|
||||||
|
|
||||||
|
if (TempObject <> nil) and (TempObject is TCefv8ArrayBufferReleaseCallbackOwn) then
|
||||||
|
TCefv8ArrayBufferReleaseCallbackOwn(TempObject).ReleaseBuffer(buffer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
// TCefv8ArrayBufferReleaseCallbackOwn
|
||||||
|
|
||||||
|
constructor TCefv8ArrayBufferReleaseCallbackOwn.Create;
|
||||||
|
begin
|
||||||
|
inherited CreateData(SizeOf(TCefv8ArrayBufferReleaseCallback));
|
||||||
|
|
||||||
|
PCefv8ArrayBufferReleaseCallback(FData).release_buffer := cef_v8array_buffer_release_callback_release_buffer;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCefv8ArrayBufferReleaseCallbackOwn.ReleaseBuffer(buffer: Pointer);
|
||||||
|
begin
|
||||||
|
//
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
// TCefFastv8ArrayBufferReleaseCallback
|
||||||
|
|
||||||
|
constructor TCefFastv8ArrayBufferReleaseCallback.Create(const callback: TCefv8ArrayBufferReleaseCallbackProc);
|
||||||
|
begin
|
||||||
|
inherited Create;
|
||||||
|
|
||||||
|
FCallback := callback;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCefFastv8ArrayBufferReleaseCallback.ReleaseBuffer(buffer: Pointer);
|
||||||
|
begin
|
||||||
|
FCallback(buffer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
// TCefv8ArrayBufferReleaseCallbackRef
|
||||||
|
|
||||||
|
procedure TCefv8ArrayBufferReleaseCallbackRef.ReleaseBuffer(buffer : Pointer);
|
||||||
|
begin
|
||||||
|
PCefv8ArrayBufferReleaseCallback(FData).release_buffer(PCefv8ArrayBufferReleaseCallback(FData), buffer);
|
||||||
|
end;
|
||||||
|
|
||||||
|
class function TCefv8ArrayBufferReleaseCallbackRef.UnWrap(data: Pointer): ICefv8ArrayBufferReleaseCallback;
|
||||||
|
begin
|
||||||
|
if (data <> nil) then
|
||||||
|
Result := Create(data) as ICefv8ArrayBufferReleaseCallback
|
||||||
|
else
|
||||||
|
Result := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
@@ -68,6 +68,7 @@ type
|
|||||||
function IsString: Boolean;
|
function IsString: Boolean;
|
||||||
function IsObject: Boolean;
|
function IsObject: Boolean;
|
||||||
function IsArray: Boolean;
|
function IsArray: Boolean;
|
||||||
|
function IsArrayBuffer: Boolean;
|
||||||
function IsFunction: Boolean;
|
function IsFunction: Boolean;
|
||||||
function IsSame(const that: ICefv8Value): Boolean;
|
function IsSame(const that: ICefv8Value): Boolean;
|
||||||
function GetBoolValue: Boolean;
|
function GetBoolValue: Boolean;
|
||||||
@@ -97,6 +98,8 @@ type
|
|||||||
function GetExternallyAllocatedMemory: Integer;
|
function GetExternallyAllocatedMemory: Integer;
|
||||||
function AdjustExternallyAllocatedMemory(changeInBytes: Integer): Integer;
|
function AdjustExternallyAllocatedMemory(changeInBytes: Integer): Integer;
|
||||||
function GetArrayLength: Integer;
|
function GetArrayLength: Integer;
|
||||||
|
function GetArrayBufferReleaseCallback : ICefv8ArrayBufferReleaseCallback;
|
||||||
|
function NeuterArrayBuffer : boolean;
|
||||||
function GetFunctionName: ustring;
|
function GetFunctionName: ustring;
|
||||||
function GetFunctionHandler: ICefv8Handler;
|
function GetFunctionHandler: ICefv8Handler;
|
||||||
function ExecuteFunction(const obj: ICefv8Value; const arguments: TCefv8ValueArray): ICefv8Value;
|
function ExecuteFunction(const obj: ICefv8Value; const arguments: TCefv8ValueArray): ICefv8Value;
|
||||||
@@ -120,6 +123,7 @@ type
|
|||||||
const getterbyindex : TCefV8InterceptorGetterByIndexProc;
|
const getterbyindex : TCefV8InterceptorGetterByIndexProc;
|
||||||
const setterbyindex : TCefV8InterceptorSetterByIndexProc): ICefv8Value;
|
const setterbyindex : TCefV8InterceptorSetterByIndexProc): ICefv8Value;
|
||||||
class function NewArray(len: Integer): ICefv8Value;
|
class function NewArray(len: Integer): ICefv8Value;
|
||||||
|
class function NewArrayBuffer(buffer: Pointer; length: NativeUInt; const callback : ICefv8ArrayBufferReleaseCallback): ICefv8Value;
|
||||||
class function NewFunction(const name: ustring; const handler: ICefv8Handler): ICefv8Value;
|
class function NewFunction(const name: ustring; const handler: ICefv8Handler): ICefv8Value;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -127,7 +131,7 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
uCEFMiscFunctions, uCEFLibFunctions, uCEFv8Accessor, uCEFv8Handler, uCEFv8Exception,
|
uCEFMiscFunctions, uCEFLibFunctions, uCEFv8Accessor, uCEFv8Handler, uCEFv8Exception,
|
||||||
uCEFv8Interceptor, uCEFStringList;
|
uCEFv8Interceptor, uCEFStringList, uCefv8ArrayBufferReleaseCallback;
|
||||||
|
|
||||||
function TCefv8ValueRef.AdjustExternallyAllocatedMemory(changeInBytes: Integer): Integer;
|
function TCefv8ValueRef.AdjustExternallyAllocatedMemory(changeInBytes: Integer): Integer;
|
||||||
begin
|
begin
|
||||||
@@ -139,6 +143,13 @@ begin
|
|||||||
Result := UnWrap(cef_v8value_create_array(len));
|
Result := UnWrap(cef_v8value_create_array(len));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
class function TCefv8ValueRef.NewArrayBuffer( buffer : Pointer;
|
||||||
|
length : NativeUInt;
|
||||||
|
const callback : ICefv8ArrayBufferReleaseCallback): ICefv8Value;
|
||||||
|
begin
|
||||||
|
Result := UnWrap(cef_v8value_create_array_buffer(buffer, length, CefGetData(callback)));
|
||||||
|
end;
|
||||||
|
|
||||||
class function TCefv8ValueRef.NewBool(value: Boolean): ICefv8Value;
|
class function TCefv8ValueRef.NewBool(value: Boolean): ICefv8Value;
|
||||||
begin
|
begin
|
||||||
Result := UnWrap(cef_v8value_create_bool(Ord(value)));
|
Result := UnWrap(cef_v8value_create_bool(Ord(value)));
|
||||||
@@ -309,6 +320,16 @@ begin
|
|||||||
Result := PCefV8Value(FData)^.get_array_length(PCefV8Value(FData));
|
Result := PCefV8Value(FData)^.get_array_length(PCefV8Value(FData));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCefv8ValueRef.GetArrayBufferReleaseCallback : ICefv8ArrayBufferReleaseCallback;
|
||||||
|
begin
|
||||||
|
Result := TCefv8ArrayBufferReleaseCallbackRef.UnWrap(PCefV8Value(FData)^.get_array_buffer_release_callback(PCefV8Value(FData)));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TCefv8ValueRef.NeuterArrayBuffer : boolean;
|
||||||
|
begin
|
||||||
|
Result := PCefV8Value(FData)^.neuter_array_buffer(PCefV8Value(FData)) <> 0;
|
||||||
|
end;
|
||||||
|
|
||||||
function TCefv8ValueRef.GetBoolValue: Boolean;
|
function TCefv8ValueRef.GetBoolValue: Boolean;
|
||||||
begin
|
begin
|
||||||
Result := PCefV8Value(FData)^.get_bool_value(PCefV8Value(FData)) <> 0;
|
Result := PCefV8Value(FData)^.get_bool_value(PCefV8Value(FData)) <> 0;
|
||||||
@@ -444,6 +465,11 @@ begin
|
|||||||
Result := PCefV8Value(FData)^.is_array(PCefV8Value(FData)) <> 0;
|
Result := PCefV8Value(FData)^.is_array(PCefV8Value(FData)) <> 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCefv8ValueRef.IsArrayBuffer: Boolean;
|
||||||
|
begin
|
||||||
|
Result := PCefV8Value(FData)^.is_array_buffer(PCefV8Value(FData)) <> 0;
|
||||||
|
end;
|
||||||
|
|
||||||
function TCefv8ValueRef.IsBool: Boolean;
|
function TCefv8ValueRef.IsBool: Boolean;
|
||||||
begin
|
begin
|
||||||
Result := PCefV8Value(FData)^.is_bool(PCefV8Value(FData)) <> 0;
|
Result := PCefV8Value(FData)^.is_bool(PCefV8Value(FData)) <> 0;
|
||||||
|
@@ -148,6 +148,7 @@ type
|
|||||||
FOnStatusMessage : TOnStatusMessage;
|
FOnStatusMessage : TOnStatusMessage;
|
||||||
FOnConsoleMessage : TOnConsoleMessage;
|
FOnConsoleMessage : TOnConsoleMessage;
|
||||||
FOnAutoResize : TOnAutoResize;
|
FOnAutoResize : TOnAutoResize;
|
||||||
|
FOnLoadingProgressChange : TOnLoadingProgressChange;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
FOnBeforeDownload : TOnBeforeDownload;
|
FOnBeforeDownload : TOnBeforeDownload;
|
||||||
@@ -200,6 +201,7 @@ type
|
|||||||
FOnCursorChange : TOnCursorChange;
|
FOnCursorChange : TOnCursorChange;
|
||||||
FOnScrollOffsetChanged : TOnScrollOffsetChanged;
|
FOnScrollOffsetChanged : TOnScrollOffsetChanged;
|
||||||
FOnIMECompositionRangeChanged : TOnIMECompositionRangeChanged;
|
FOnIMECompositionRangeChanged : TOnIMECompositionRangeChanged;
|
||||||
|
FOnTextSelectionChanged : TOnTextSelectionChanged;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
FOnDragEnter : TOnDragEnter;
|
FOnDragEnter : TOnDragEnter;
|
||||||
@@ -355,6 +357,7 @@ type
|
|||||||
procedure doOnStatusMessage(const browser: ICefBrowser; const value: ustring); virtual;
|
procedure doOnStatusMessage(const browser: ICefBrowser; const value: ustring); virtual;
|
||||||
function doOnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const aMessage, source: ustring; line: Integer): Boolean; virtual;
|
function doOnConsoleMessage(const browser: ICefBrowser; level: TCefLogSeverity; const aMessage, source: ustring; line: Integer): Boolean; virtual;
|
||||||
function doOnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; virtual;
|
function doOnAutoResize(const browser: ICefBrowser; const new_size: PCefSize): Boolean; virtual;
|
||||||
|
procedure doOnLoadingProgressChange(const browser: ICefBrowser; const progress: double); virtual;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual;
|
procedure doOnBeforeDownload(const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback); virtual;
|
||||||
@@ -409,6 +412,7 @@ type
|
|||||||
procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
|
procedure doOnUpdateDragCursor(const browser: ICefBrowser; operation: TCefDragOperation); virtual;
|
||||||
procedure doOnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); virtual;
|
procedure doOnScrollOffsetChanged(const browser: ICefBrowser; x, y: Double); virtual;
|
||||||
procedure doOnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); virtual;
|
procedure doOnIMECompositionRangeChanged(const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect); virtual;
|
||||||
|
procedure doOnTextSelectionChanged(const browser: ICefBrowser; const selected_text: ustring; const selected_range: PCefRange); virtual;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
function doOnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations): Boolean; virtual;
|
function doOnDragEnter(const browser: ICefBrowser; const dragData: ICefDragData; mask: TCefDragOperations): Boolean; virtual;
|
||||||
@@ -622,6 +626,7 @@ type
|
|||||||
property OnStatusMessage : TOnStatusMessage read FOnStatusMessage write FOnStatusMessage;
|
property OnStatusMessage : TOnStatusMessage read FOnStatusMessage write FOnStatusMessage;
|
||||||
property OnConsoleMessage : TOnConsoleMessage read FOnConsoleMessage write FOnConsoleMessage;
|
property OnConsoleMessage : TOnConsoleMessage read FOnConsoleMessage write FOnConsoleMessage;
|
||||||
property OnAutoResize : TOnAutoResize read FOnAutoResize write FOnAutoResize;
|
property OnAutoResize : TOnAutoResize read FOnAutoResize write FOnAutoResize;
|
||||||
|
property OnLoadingProgressChange : TOnLoadingProgressChange read FOnLoadingProgressChange write FOnLoadingProgressChange;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
property OnBeforeDownload : TOnBeforeDownload read FOnBeforeDownload write FOnBeforeDownload;
|
property OnBeforeDownload : TOnBeforeDownload read FOnBeforeDownload write FOnBeforeDownload;
|
||||||
@@ -674,6 +679,7 @@ type
|
|||||||
property OnCursorChange : TOnCursorChange read FOnCursorChange write FOnCursorChange;
|
property OnCursorChange : TOnCursorChange read FOnCursorChange write FOnCursorChange;
|
||||||
property OnScrollOffsetChanged : TOnScrollOffsetChanged read FOnScrollOffsetChanged write FOnScrollOffsetChanged;
|
property OnScrollOffsetChanged : TOnScrollOffsetChanged read FOnScrollOffsetChanged write FOnScrollOffsetChanged;
|
||||||
property OnIMECompositionRangeChanged : TOnIMECompositionRangeChanged read FOnIMECompositionRangeChanged write FOnIMECompositionRangeChanged;
|
property OnIMECompositionRangeChanged : TOnIMECompositionRangeChanged read FOnIMECompositionRangeChanged write FOnIMECompositionRangeChanged;
|
||||||
|
property OnTextSelectionChanged : TOnTextSelectionChanged read FOnTextSelectionChanged write FOnTextSelectionChanged;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
property OnDragEnter : TOnDragEnter read FOnDragEnter write FOnDragEnter;
|
property OnDragEnter : TOnDragEnter read FOnDragEnter write FOnDragEnter;
|
||||||
@@ -922,6 +928,7 @@ begin
|
|||||||
FOnStatusMessage := nil;
|
FOnStatusMessage := nil;
|
||||||
FOnConsoleMessage := nil;
|
FOnConsoleMessage := nil;
|
||||||
FOnAutoResize := nil;
|
FOnAutoResize := nil;
|
||||||
|
FOnLoadingProgressChange := nil;
|
||||||
|
|
||||||
// ICefDownloadHandler
|
// ICefDownloadHandler
|
||||||
FOnBeforeDownload := nil;
|
FOnBeforeDownload := nil;
|
||||||
@@ -974,6 +981,7 @@ begin
|
|||||||
FOnCursorChange := nil;
|
FOnCursorChange := nil;
|
||||||
FOnScrollOffsetChanged := nil;
|
FOnScrollOffsetChanged := nil;
|
||||||
FOnIMECompositionRangeChanged := nil;
|
FOnIMECompositionRangeChanged := nil;
|
||||||
|
FOnTextSelectionChanged := nil;
|
||||||
|
|
||||||
// ICefDragHandler
|
// ICefDragHandler
|
||||||
FOnDragEnter := nil;
|
FOnDragEnter := nil;
|
||||||
@@ -2514,14 +2522,15 @@ end;
|
|||||||
|
|
||||||
function TFMXChromium.MustCreateDisplayHandler : boolean;
|
function TFMXChromium.MustCreateDisplayHandler : boolean;
|
||||||
begin
|
begin
|
||||||
Result := assigned(FOnAddressChange) or
|
Result := assigned(FOnAddressChange) or
|
||||||
assigned(FOnTitleChange) or
|
assigned(FOnTitleChange) or
|
||||||
assigned(FOnFavIconUrlChange) or
|
assigned(FOnFavIconUrlChange) or
|
||||||
assigned(FOnFullScreenModeChange) or
|
assigned(FOnFullScreenModeChange) or
|
||||||
assigned(FOnTooltip) or
|
assigned(FOnTooltip) or
|
||||||
assigned(FOnStatusMessage) or
|
assigned(FOnStatusMessage) or
|
||||||
assigned(FOnConsoleMessage) or
|
assigned(FOnConsoleMessage) or
|
||||||
assigned(FOnAutoResize);
|
assigned(FOnAutoResize) or
|
||||||
|
assigned(FOnLoadingProgressChange);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TFMXChromium.MustCreateDownloadHandler : boolean;
|
function TFMXChromium.MustCreateDownloadHandler : boolean;
|
||||||
@@ -2781,6 +2790,11 @@ begin
|
|||||||
if Assigned(FOnAutoResize) then FOnAutoResize(Self, browser, new_size, Result);
|
if Assigned(FOnAutoResize) then FOnAutoResize(Self, browser, new_size, Result);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFMXChromium.doOnLoadingProgressChange(const browser: ICefBrowser; const progress: double);
|
||||||
|
begin
|
||||||
|
if assigned(FOnLoadingProgressChange) then FOnLoadingProgressChange(self, browser, progress);
|
||||||
|
end;
|
||||||
|
|
||||||
function TFMXChromium.doOnContextMenuCommand(const browser : ICefBrowser;
|
function TFMXChromium.doOnContextMenuCommand(const browser : ICefBrowser;
|
||||||
const frame : ICefFrame;
|
const frame : ICefFrame;
|
||||||
const params : ICefContextMenuParams;
|
const params : ICefContextMenuParams;
|
||||||
@@ -3215,6 +3229,14 @@ begin
|
|||||||
FOnIMECompositionRangeChanged(self, browser, selected_range, character_boundsCount, character_bounds);
|
FOnIMECompositionRangeChanged(self, browser, selected_range, character_boundsCount, character_bounds);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TFMXChromium.doOnTextSelectionChanged(const browser : ICefBrowser;
|
||||||
|
const selected_text : ustring;
|
||||||
|
const selected_range : PCefRange);
|
||||||
|
begin
|
||||||
|
if assigned(FOnTextSelectionChanged) then
|
||||||
|
FOnTextSelectionChanged(self, browser, selected_text, selected_range);
|
||||||
|
end;
|
||||||
|
|
||||||
function TFMXChromium.doOnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean;
|
function TFMXChromium.doOnSetFocus(const browser: ICefBrowser; source: TCefFocusSource): Boolean;
|
||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
|
Reference in New Issue
Block a user