2017-11-22 17:43:48 +01:00
|
|
|
unit uMyV8Handler;
|
2017-07-25 22:50:34 +02:00
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
2017-11-22 17:43:48 +01:00
|
|
|
uCEFv8Context, uCEFTypes, uCEFInterfaces, uCEFv8Value, uCEFv8Handler;
|
2017-07-25 22:50:34 +02:00
|
|
|
|
|
|
|
type
|
2017-11-22 17:43:48 +01:00
|
|
|
TMyV8Handler = class(TCefv8HandlerOwn)
|
|
|
|
protected
|
|
|
|
function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; override;
|
2017-07-25 22:50:34 +02:00
|
|
|
end;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
uses
|
2017-11-22 17:43:48 +01:00
|
|
|
uJSExecutingFunctions;
|
2017-07-25 22:50:34 +02:00
|
|
|
|
2017-11-22 17:43:48 +01:00
|
|
|
function TMyV8Handler.Execute(const name : ustring;
|
|
|
|
const obj : ICefv8Value;
|
|
|
|
const arguments : TCefv8ValueArray;
|
|
|
|
var retval : ICefv8Value;
|
|
|
|
var exception : ustring): Boolean;
|
2017-07-25 22:50:34 +02:00
|
|
|
begin
|
2017-11-22 17:43:48 +01:00
|
|
|
Result := False;
|
2017-07-25 22:50:34 +02:00
|
|
|
|
2017-11-22 17:43:48 +01:00
|
|
|
if (name = 'register') and
|
|
|
|
(length(arguments) = 1) and
|
|
|
|
arguments[0].IsFunction then
|
|
|
|
begin
|
|
|
|
GlobalCallbackFunc := arguments[0];
|
|
|
|
GlobalCallbackContext := TCefv8ContextRef.Current;
|
|
|
|
Result := True;
|
|
|
|
end;
|
2017-07-25 22:50:34 +02:00
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
end.
|