1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-11-23 21:34:53 +02:00

Fixed TChromium.OnDevToolsEvent declaration

Added more parameter checks to CefString.
Added TChromium.DestroyAllHandlersAndObservers which includes DestroyDevToolsMsgObserver to fix issue #288.
This commit is contained in:
Salvador Díaz Fau
2020-07-14 15:50:23 +02:00
parent 5bfeb8de3f
commit 51658e03f2
7 changed files with 80 additions and 72 deletions

View File

@@ -56,7 +56,7 @@ type
protected
procedure OnDevToolsMessage(const browser: ICefBrowser; const message_: ICefValue; var aHandled: boolean); virtual;
procedure OnDevToolsMethodResult(const browser: ICefBrowser; message_id: integer; success: boolean; const result: ICefValue); virtual;
procedure OnDevToolsEvent(const method: ustring; const params: ICefValue); virtual;
procedure OnDevToolsEvent(const browser: ICefBrowser; const method: ustring; const params: ICefValue); virtual;
procedure OnDevToolsAgentAttached(const browser: ICefBrowser); virtual;
procedure OnDevToolsAgentDetached(const browser: ICefBrowser); virtual;
@@ -70,7 +70,7 @@ type
procedure OnDevToolsMessage(const browser: ICefBrowser; const message_: ICefValue; var aHandled: boolean); override;
procedure OnDevToolsMethodResult(const browser: ICefBrowser; message_id: integer; success: boolean; const result: ICefValue); override;
procedure OnDevToolsEvent(const method: ustring; const params: ICefValue); override;
procedure OnDevToolsEvent(const browser: ICefBrowser; const method: ustring; const params: ICefValue); override;
procedure OnDevToolsAgentAttached(const browser: ICefBrowser); override;
procedure OnDevToolsAgentDetached(const browser: ICefBrowser); override;
@@ -144,6 +144,7 @@ begin
end;
procedure cef_on_dev_tools_event( self : PCefDevToolsMessageObserver;
browser : PCefBrowser;
const method : PCefString;
const params : Pointer;
params_size : NativeUInt); stdcall;
@@ -156,7 +157,8 @@ begin
if (TempObject <> nil) and (TempObject is TCEFDevToolsMessageObserverOwn) then
try
TempValue := CefParseJson(params, params_size);
TCEFDevToolsMessageObserverOwn(TempObject).OnDevToolsEvent(CefString(method),
TCEFDevToolsMessageObserverOwn(TempObject).OnDevToolsEvent(TCefBrowserRef.UnWrap(browser),
CefString(method),
TempValue);
finally
TempValue := nil;
@@ -214,8 +216,9 @@ begin
//
end;
procedure TCEFDevToolsMessageObserverOwn.OnDevToolsEvent(const method : ustring;
const params : ICefValue);
procedure TCEFDevToolsMessageObserverOwn.OnDevToolsEvent(const browser : ICefBrowser;
const method : ustring;
const params : ICefValue);
begin
//
end;
@@ -276,12 +279,13 @@ begin
end;
end;
procedure TCustomDevToolsMessageObserver.OnDevToolsEvent(const method : ustring;
const params : ICefValue);
procedure TCustomDevToolsMessageObserver.OnDevToolsEvent(const browser : ICefBrowser;
const method : ustring;
const params : ICefValue);
begin
try
if (FEvents <> nil) then
IChromiumEvents(FEvents).doOnDevToolsEvent(method, params);
IChromiumEvents(FEvents).doOnDevToolsEvent(browser, method, params);
except
on e : exception do
if CustomExceptionHandler('TCustomDevToolsMessageObserver.OnDevToolsEvent', e) then raise;