diff --git a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas
index 0064cae6..fb89fa16 100644
--- a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas
+++ b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas
@@ -50,7 +50,8 @@ uses
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
{$ENDIF}
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes,
- uCEFConstants, uCEFv8Value, uCEFWinControl, uCEFSentinel;
+ uCEFConstants, uCEFv8Value, uCEFWinControl, uCEFSentinel,
+ uCEFChromiumCore;
const
JSDEMO_CONTEXTMENU_EXECFUNCTION = MENU_ID_USER_FIRST + 1;
diff --git a/demos/Delphi_VCL/JavaScript/JSExtension/uJSExtension.pas b/demos/Delphi_VCL/JavaScript/JSExtension/uJSExtension.pas
index 43b496d2..dd748856 100644
--- a/demos/Delphi_VCL/JavaScript/JSExtension/uJSExtension.pas
+++ b/demos/Delphi_VCL/JavaScript/JSExtension/uJSExtension.pas
@@ -50,7 +50,7 @@ uses
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
{$ENDIF}
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
- uCEFWinControl, uCEFSentinel;
+ uCEFWinControl, uCEFSentinel, uCEFChromiumCore;
const
MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $100;
diff --git a/demos/Delphi_VCL/JavaScript/JSExtension/uTestExtensionHandler.pas b/demos/Delphi_VCL/JavaScript/JSExtension/uTestExtensionHandler.pas
index 2ef6c6f8..0428d078 100644
--- a/demos/Delphi_VCL/JavaScript/JSExtension/uTestExtensionHandler.pas
+++ b/demos/Delphi_VCL/JavaScript/JSExtension/uTestExtensionHandler.pas
@@ -53,7 +53,7 @@ uses
type
TTestExtensionHandler = class(TCefv8HandlerOwn)
protected
- function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; override;
+ function Execute(const name: ustring; const object_: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; override;
end;
implementation
@@ -62,7 +62,7 @@ uses
uCEFMiscFunctions, uCEFConstants, uJSExtension;
function TTestExtensionHandler.Execute(const name : ustring;
- const obj : ICefv8Value;
+ const object_ : ICefv8Value;
const arguments : TCefv8ValueArray;
var retval : ICefv8Value;
var exception : ustring): Boolean;
diff --git a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas
index f71122c5..3df5c5f9 100644
--- a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas
+++ b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas
@@ -50,7 +50,7 @@ uses
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
{$ENDIF}
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
- uCEFWinControl, uCEFSentinel;
+ uCEFWinControl, uCEFSentinel, uCEFChromiumCore;
type
TJSExtensionWithFunctionFrm = class(TForm)
diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas
index 85470b40..41b9ac0b 100644
--- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas
+++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas
@@ -50,7 +50,7 @@ uses
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
{$ENDIF}
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
- uCEFWinControl, uCEFSentinel;
+ uCEFWinControl, uCEFSentinel, uCEFChromiumCore;
type
TJSWindowBindingWithObjectFrm = class(TForm)
diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas
index e785678c..d39f8b5e 100644
--- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas
+++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas
@@ -49,15 +49,15 @@ type
protected
FMyVal : ustring;
- function Get(const name: ustring; const obj: ICefv8Value; out retval : ICefv8Value; var exception: ustring): Boolean; override;
- function Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean; override;
+ function Get(const name: ustring; const object_: ICefv8Value; var retval : ICefv8Value; var exception: ustring): Boolean; override;
+ function Set_(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean; override;
end;
implementation
function TMyV8Accessor.Get(const name : ustring;
- const obj : ICefv8Value;
- out retval : ICefv8Value;
+ const object_ : ICefv8Value;
+ var retval : ICefv8Value;
var exception : ustring): Boolean;
begin
if (name = 'myval') then
@@ -69,10 +69,10 @@ begin
Result := False;
end;
-function TMyV8Accessor.Put(const name : ustring;
- const obj : ICefv8Value;
- const value : ICefv8Value;
- var exception : ustring): Boolean;
+function TMyV8Accessor.Set_(const name : ustring;
+ const object_ : ICefv8Value;
+ const value : ICefv8Value;
+ var exception : ustring): Boolean;
begin
if (name = 'myval') then
begin
diff --git a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas
index 790d7467..5dac864b 100644
--- a/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas
+++ b/demos/Delphi_VCL/MiniBrowser/uMiniBrowser.pas
@@ -51,7 +51,7 @@ uses
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Types, ComCtrls, ClipBrd, AppEvnts, ActiveX, ShlObj,
{$ENDIF}
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
- uCEFWinControl, uCEFSentinel;
+ uCEFWinControl, uCEFSentinel, uCEFChromiumCore;
const
MINIBROWSER_SHOWDEVTOOLS = WM_APP + $101;
diff --git a/demos/Delphi_VCL/PopupBrowser/uMainForm.pas b/demos/Delphi_VCL/PopupBrowser/uMainForm.pas
index b6e851ef..a14e43fb 100644
--- a/demos/Delphi_VCL/PopupBrowser/uMainForm.pas
+++ b/demos/Delphi_VCL/PopupBrowser/uMainForm.pas
@@ -50,7 +50,7 @@ uses
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, SyncObjs,
{$ENDIF}
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes, uChildForm,
- Vcl.AppEvnts, uCEFWinControl, uCEFSentinel;
+ Vcl.AppEvnts, uCEFWinControl, uCEFSentinel, uCEFChromiumCore;
const
CEF_CREATENEXTCHILD = WM_APP + $A50;
diff --git a/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas b/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas
index 46fe5562..426794dd 100644
--- a/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas
+++ b/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas
@@ -51,7 +51,7 @@ uses
Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, AppEvnts,
{$ENDIF}
uCEFChromium, uCEFTypes, uCEFInterfaces, uCEFConstants, uCEFBufferPanel,
- uCEFSentinel;
+ uCEFSentinel, uCEFChromiumCore;
const
// Set this constant to True and load "file://transparency.html" to test a
diff --git a/demos/Delphi_VCL/ToolBoxBrowser/uChildForm.pas b/demos/Delphi_VCL/ToolBoxBrowser/uChildForm.pas
index a5a65e3d..f564d3f5 100644
--- a/demos/Delphi_VCL/ToolBoxBrowser/uChildForm.pas
+++ b/demos/Delphi_VCL/ToolBoxBrowser/uChildForm.pas
@@ -51,7 +51,7 @@ uses
Controls, Forms, Dialogs, ExtCtrls,
{$ENDIF}
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes, uMainForm,
- uCEFWinControl;
+ uCEFWinControl, uCEFChromiumCore;
type
TChildForm = class(TForm)
diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps
index a31638f6..65189f3c 100644
--- a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps
+++ b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps
@@ -20,9 +20,8 @@
-
-
+
@@ -32,8 +31,12 @@
-
+
+
+
+
+
diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas
index 46af9fc1..5cb97ece 100644
--- a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas
+++ b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uMyV8Accessor.pas
@@ -51,15 +51,15 @@ type
protected
FMyVal : ustring;
- function Get(const name: ustring; const obj: ICefv8Value; out retval : ICefv8Value; var exception: ustring): Boolean; override;
- function Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean; override;
+ function Get(const name: ustring; const object_: ICefv8Value; var retval : ICefv8Value; var exception: ustring): Boolean; override;
+ function Set_(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean; override;
end;
implementation
function TMyV8Accessor.Get(const name : ustring;
- const obj : ICefv8Value;
- out retval : ICefv8Value;
+ const object_ : ICefv8Value;
+ var retval : ICefv8Value;
var exception : ustring): Boolean;
begin
if (name = 'myval') then
@@ -71,10 +71,10 @@ begin
Result := False;
end;
-function TMyV8Accessor.Put(const name : ustring;
- const obj : ICefv8Value;
- const value : ICefv8Value;
- var exception : ustring): Boolean;
+function TMyV8Accessor.Set_(const name : ustring;
+ const object_ : ICefv8Value;
+ const value : ICefv8Value;
+ var exception : ustring): Boolean;
begin
if (name = 'myval') then
begin
diff --git a/source/uCEFChromiumCore.pas b/source/uCEFChromiumCore.pas
index 0e586b0b..edf7c7d2 100644
--- a/source/uCEFChromiumCore.pas
+++ b/source/uCEFChromiumCore.pas
@@ -3086,12 +3086,7 @@ begin
aBrowser.Host.RequestContext.CanSetPreference(aName) then
begin
TempValue := TCefValueRef.New;
-
- if aValue then
- TempValue.SetBool(1)
- else
- TempValue.SetBool(0);
-
+ TempValue.SetBool(aValue);
Result := aBrowser.Host.RequestContext.SetPreference(aName, TempValue, TempError);
if not(Result) then
diff --git a/source/uCEFDisplayHandler.pas b/source/uCEFDisplayHandler.pas
index 4c3deada..a59c3dbd 100644
--- a/source/uCEFDisplayHandler.pas
+++ b/source/uCEFDisplayHandler.pas
@@ -192,10 +192,10 @@ begin
if (TempObject <> nil) and (TempObject is TCefDisplayHandlerOwn) then
begin
- TempText := CefStringClearAndGet(text^);
+ TempText := CefStringClearAndGet(text);
Result := Ord(TCefDisplayHandlerOwn(TempObject).OnTooltip(TCefBrowserRef.UnWrap(browser),
TempText));
- text^ := CefStringAlloc(TempText);
+ if (text <> nil) then text^ := CefStringAlloc(TempText);
end;
end;
diff --git a/source/uCEFInterfaces.pas b/source/uCEFInterfaces.pas
index a05ab988..8623582d 100644
--- a/source/uCEFInterfaces.pas
+++ b/source/uCEFInterfaces.pas
@@ -191,12 +191,12 @@ type
TCefv8ArrayBufferReleaseCallbackProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(buffer : Pointer);
TCefWebPluginInfoVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const info: ICefWebPluginInfo; count, total: Integer): Boolean;
TCefWebPluginIsUnstableProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const path: ustring; unstable: Boolean);
- TCefV8AccessorGetterProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean;
- TCefV8AccessorSetterProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): Boolean;
- TCefV8InterceptorGetterByNameProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean;
- TCefV8InterceptorSetterByNameProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): Boolean;
- TCefV8InterceptorGetterByIndexProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(index: integer; const obj: ICefv8Value; out value: ICefv8Value; const exception: ustring): Boolean;
- TCefV8InterceptorSetterByIndexProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(index: integer; const obj, value: ICefv8Value; const exception: ustring): Boolean;
+ TCefV8AccessorGetterProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const object_: ICefv8Value; var value: ICefv8Value; var exception: ustring): Boolean;
+ TCefV8AccessorSetterProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean;
+ TCefV8InterceptorGetterByNameProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const object_: ICefv8Value; var value: ICefv8Value; var exception: ustring): Boolean;
+ TCefV8InterceptorSetterByNameProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean;
+ TCefV8InterceptorGetterByIndexProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(index: integer; const object_: ICefv8Value; var value: ICefv8Value; var exception: ustring): Boolean;
+ TCefV8InterceptorSetterByIndexProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} function(index: integer; const object_, value: ICefv8Value; var exception: ustring): Boolean;
TOnPdfPrintFinishedProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const path: ustring; ok: Boolean);
TCefDomVisitorProc = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const document: ICefDomDocument);
TCefDomVisitorProc2 = {$IFDEF DELPHI12_UP}reference to{$ENDIF} procedure(const browser : ICefBrowser; const frame: ICefFrame; const document: ICefDomDocument);
@@ -906,25 +906,25 @@ type
// /include/capi/cef_v8_capi.h (cef_v8handler_t)
ICefv8Handler = interface(ICefBaseRefCounted)
['{F94CDC60-FDCB-422D-96D5-D2A775BD5D73}']
- function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean;
+ function Execute(const name: ustring; const object_: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean;
end;
// TCefV8Interceptor
// /include/capi/cef_v8_capi.h (cef_v8interceptor_t)
ICefV8Interceptor = interface(ICefBaseRefCounted)
['{B3B8FD7C-A916-4B25-93A2-2892AC324F21}']
- function GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
- function GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
- function SetByName(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): boolean;
- function SetByIndex(index: integer; const obj, value: ICefv8Value; const exception: ustring): boolean;
+ function GetByName(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean;
+ function GetByIndex(index: integer; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean;
+ function SetByName(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): boolean;
+ function SetByIndex(index: integer; const object_, value: ICefv8Value; var exception: ustring): boolean;
end;
// TCefV8Accessor
// /include/capi/cef_v8_capi.h (cef_v8accessor_t)
ICefV8Accessor = interface(ICefBaseRefCounted)
['{DCA6D4A2-726A-4E24-AA64-5E8C731D868A}']
- function Get(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; var exception: ustring): Boolean;
- function Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean;
+ function Get(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): Boolean;
+ function Set_(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean;
end;
// TCefTask
@@ -1505,7 +1505,7 @@ type
function GetDictionary: ICefDictionaryValue;
function GetList: ICefListValue;
function SetNull: Boolean;
- function SetBool(value: Integer): Boolean;
+ function SetBool(value: boolean): Boolean;
function SetInt(value: Integer): Boolean;
function SetDouble(value: Double): Boolean;
function SetString(const value: ustring): Boolean;
@@ -2213,7 +2213,7 @@ type
procedure UnhandledCloseSubmenu(const menuModel: ICefMenuModel; isRTL: boolean);
procedure MenuWillShow(const menuModel: ICefMenuModel);
procedure MenuClosed(const menuModel: ICefMenuModel);
- function FormatLabel(const menuModel: ICefMenuModel; const label_ : ustring) : boolean;
+ function FormatLabel(const menuModel: ICefMenuModel; var label_ : ustring) : boolean;
end;
// TCefServer
diff --git a/source/uCEFLibFunctions.pas b/source/uCEFLibFunctions.pas
index 3c48e0dd..83a00c4c 100644
--- a/source/uCEFLibFunctions.pas
+++ b/source/uCEFLibFunctions.pas
@@ -257,7 +257,7 @@ var
// /include/internal/cef_logging_internal.h
cef_get_min_log_level : function : Integer; cdecl;
cef_get_vlog_level : function(const file_start: PAnsiChar; N: NativeInt): Integer; cdecl;
- cef_log : procedure(const file_: PAnsiChar; line, severity: Integer; const message: PAnsiChar); cdecl;
+ cef_log : procedure(const file_: PAnsiChar; line, severity: Integer; const message_: PAnsiChar); cdecl;
// /include/internal/cef_string_list.h
cef_string_list_alloc : function : TCefStringList; cdecl;
@@ -271,9 +271,9 @@ var
// /include/internal/cef_string_map.h
cef_string_map_alloc : function : TCefStringMap; cdecl;
cef_string_map_size : function(map: TCefStringMap): NativeUInt; cdecl;
- cef_string_map_find : function(map: TCefStringMap; const key: PCefString; var value: TCefString): Integer; cdecl;
- cef_string_map_key : function(map: TCefStringMap; index: NativeUInt; var key: TCefString): Integer; cdecl;
- cef_string_map_value : function(map: TCefStringMap; index: NativeUInt; var value: TCefString): Integer; cdecl;
+ cef_string_map_find : function(map: TCefStringMap; const key: PCefString; value: PCefString): Integer; cdecl;
+ cef_string_map_key : function(map: TCefStringMap; index: NativeUInt; key: PCefString): Integer; cdecl;
+ cef_string_map_value : function(map: TCefStringMap; index: NativeUInt; value: PCefString): Integer; cdecl;
cef_string_map_append : function(map: TCefStringMap; const key, value: PCefString): Integer; cdecl;
cef_string_map_clear : procedure(map: TCefStringMap); cdecl;
cef_string_map_free : procedure(map: TCefStringMap); cdecl;
@@ -282,9 +282,9 @@ var
cef_string_multimap_alloc : function : TCefStringMultimap; cdecl;
cef_string_multimap_size : function(map: TCefStringMultimap): NativeUInt; cdecl;
cef_string_multimap_find_count : function(map: TCefStringMultimap; const key: PCefString): NativeUInt; cdecl;
- cef_string_multimap_enumerate : function(map: TCefStringMultimap; const key: PCefString; value_index: NativeUInt; var value: TCefString): Integer; cdecl;
- cef_string_multimap_key : function(map: TCefStringMultimap; index: NativeUInt; var key: TCefString): Integer; cdecl;
- cef_string_multimap_value : function(map: TCefStringMultimap; index: NativeUInt; var value: TCefString): Integer; cdecl;
+ cef_string_multimap_enumerate : function(map: TCefStringMultimap; const key: PCefString; value_index: NativeUInt; value: PCefString): Integer; cdecl;
+ cef_string_multimap_key : function(map: TCefStringMultimap; index: NativeUInt; key: PCefString): Integer; cdecl;
+ cef_string_multimap_value : function(map: TCefStringMultimap; index: NativeUInt; value: PCefString): Integer; cdecl;
cef_string_multimap_append : function(map: TCefStringMultimap; const key, value: PCefString): Integer; cdecl;
cef_string_multimap_clear : procedure(map: TCefStringMultimap); cdecl;
cef_string_multimap_free : procedure(map: TCefStringMultimap); cdecl;
diff --git a/source/uCEFMenuModelDelegate.pas b/source/uCEFMenuModelDelegate.pas
index eab98b36..cddb8bee 100644
--- a/source/uCEFMenuModelDelegate.pas
+++ b/source/uCEFMenuModelDelegate.pas
@@ -60,7 +60,7 @@ type
procedure UnhandledCloseSubmenu(const menuModel: ICefMenuModel; isRTL: boolean); virtual;
procedure MenuWillShow(const menuModel: ICefMenuModel); virtual;
procedure MenuClosed(const menuModel: ICefMenuModel); virtual;
- function FormatLabel(const menuModel: ICefMenuModel; const label_ : uString) : boolean; virtual;
+ function FormatLabel(const menuModel: ICefMenuModel; var label_ : ustring) : boolean; virtual;
public
constructor Create; virtual;
end;
@@ -150,13 +150,17 @@ function cef_menu_model_delegate_format_label(self : PCefMenuModelDelegate
label_ : PCefString) : integer; stdcall;
var
TempObject : TObject;
+ TempLabel : ustring;
begin
Result := Ord(False);
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefMenuModelDelegateOwn) then
- Result := Ord(TCefMenuModelDelegateOwn(TempObject).FormatLabel(TCefMenuModelRef.UnWrap(menu_model),
- CefString(label_)));
+ begin
+ TempLabel := CefStringClearAndGet(label_);
+ Result := Ord(TCefMenuModelDelegateOwn(TempObject).FormatLabel(TCefMenuModelRef.UnWrap(menu_model), TempLabel));
+ if (label_ <> nil) then label_^ := CefStringAlloc(TempLabel);
+ end;
end;
constructor TCefMenuModelDelegateOwn.Create;
@@ -207,7 +211,7 @@ begin
//
end;
-function TCefMenuModelDelegateOwn.FormatLabel(const menuModel: ICefMenuModel; const label_ : uString) : boolean;
+function TCefMenuModelDelegateOwn.FormatLabel(const menuModel: ICefMenuModel; var label_ : ustring) : boolean;
begin
Result := False;
end;
diff --git a/source/uCEFMiscFunctions.pas b/source/uCEFMiscFunctions.pas
index e5ca1e56..e2d4bf07 100644
--- a/source/uCEFMiscFunctions.pas
+++ b/source/uCEFMiscFunctions.pas
@@ -78,7 +78,7 @@ function CefGetObject(ptr: Pointer): TObject; {$IFDEF SUPPORTS_INLINE} inline;
function CefGetData(const i: ICefBaseRefCounted): Pointer; {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
function CefStringAlloc(const str: ustring): TCefString;
-function CefStringClearAndGet(var str: TCefString): ustring;
+function CefStringClearAndGet(str: PCefString): ustring;
function CefString(const str: ustring): TCefString; overload;
function CefString(const str: PCefString): ustring; overload;
@@ -86,6 +86,7 @@ function CefUserFreeString(const str: ustring): PCefStringUserFree;
procedure CefStringFree(const str: PCefString);
function CefStringFreeAndGet(const str: PCefStringUserFree): ustring;
procedure CefStringSet(const str: PCefString; const value: ustring);
+procedure CefStringInitialize(const aCefString : PCefString); {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
function CefRegisterExtension(const name, code: ustring; const Handler: ICefv8Handler): Boolean;
@@ -204,6 +205,8 @@ function CefBase64Decode(const data: ustring): ICefBinaryValue;
function CefUriEncode(const text: ustring; usePlus: Boolean): ustring;
function CefUriDecode(const text: ustring; convertToUtf8: Boolean; unescapeRule: TCefUriUnescapeRule): ustring;
+function CefGetPath(const aPathKey : TCefPathKey) : ustring;
+
function CefParseJson(const jsonString: ustring; options: TCefJsonParserOptions): ICefValue;
function CefParseJsonAndReturnError(const jsonString : ustring;
options : TCefJsonParserOptions;
@@ -293,12 +296,12 @@ begin
Result := (int64_val shr 32) and $FFFFFFFF;
end;
-function CefStringClearAndGet(var str: TCefString): ustring;
+function CefStringClearAndGet(str: PCefString): ustring;
begin
- if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
+ if (str <> nil) and (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
begin
- Result := CefString(@str);
- cef_string_utf16_clear(@str);
+ Result := CefString(str);
+ cef_string_utf16_clear(str);
end
else
Result := '';
@@ -347,7 +350,17 @@ end;
procedure CefStringSet(const str: PCefString; const value: ustring);
begin
if (str <> nil) and (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
- cef_string_utf16_set(PWideChar(value), Length(value), str, 1);
+ cef_string_utf16_set(PWideChar(value), Length(value), str, Ord(True));
+end;
+
+procedure CefStringInitialize(const aCefString : PCefString); {$IFDEF SUPPORTS_INLINE} inline; {$ENDIF}
+begin
+ if (aCefString <> nil) then
+ begin
+ aCefString^.str := nil;
+ aCefString^.length := 0;
+ aCefString^.dtor := nil;
+ end;
end;
function CefStringFreeAndGet(const str: PCefStringUserFree): ustring;
@@ -363,7 +376,8 @@ end;
function CefStringAlloc(const str: ustring): TCefString;
begin
- FillChar(Result, SizeOf(Result), 0);
+ CefStringInitialize(@Result);
+
if (str <> '') and (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
cef_string_wide_to_utf16(PWideChar(str), Length(str), @Result);
end;
@@ -1572,7 +1586,6 @@ begin
if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
begin
- FillChar(TempParts, sizeof(TempParts), 0);
TempParts.spec := CefString(parts.spec);
TempParts.scheme := CefString(parts.scheme);
TempParts.username := CefString(parts.username);
@@ -1583,8 +1596,10 @@ begin
TempParts.path := CefString(parts.path);
TempParts.query := CefString(parts.query);
- FillChar(TempURL, SizeOf(TempURL), 0);
- if cef_create_url(@TempParts, @TempURL) <> 0 then Result := CefString(@TempURL);
+ CefStringInitialize(@TempURL);
+
+ if (cef_create_url(@TempParts, @TempURL) <> 0) then
+ Result := CefStringClearAndGet(@TempURL);
end;
end;
@@ -1692,10 +1707,10 @@ var
begin
if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
begin
- FillChar(TempError, SizeOf(TempError), 0);
+ CefStringInitialize(@TempError);
TempJSON := CefString(jsonString);
Result := TCefValueRef.UnWrap(cef_parse_jsonand_return_error(@TempJSON, options, @errorCodeOut, @TempError));
- errorMsgOut := CefString(@TempError);
+ errorMsgOut := CefStringClearAndGet(@TempError);
end
else
begin
@@ -1705,6 +1720,21 @@ begin
end;
end;
+function CefGetPath(const aPathKey : TCefPathKey) : ustring;
+var
+ TempPath : TCefString;
+begin
+ if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
+ begin
+ CefStringInitialize(@TempPath);
+
+ if (cef_get_path(aPathKey, @TempPath) <> 0) then
+ Result := CefStringClearAndGet(@TempPath);
+ end
+ else
+ Result := '';
+end;
+
function CefWriteJson(const node: ICefValue; options: TCefJsonWriterOptions): ustring;
begin
if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
@@ -1732,9 +1762,9 @@ var
begin
if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
begin
- FillChar(TempPath, SizeOf(TempPath), 0);
+ CefStringInitialize(@TempPath);
Result := cef_get_temp_directory(@TempPath) <> 0;
- tempDir := CefString(@TempPath);
+ tempDir := CefStringClearAndGet(@TempPath);
end
else
begin
@@ -1749,10 +1779,10 @@ var
begin
if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
begin
- FillChar(TempPath, SizeOf(TempPath), 0);
+ CefStringInitialize(@TempPath);
TempPref := CefString(prefix);
Result := cef_create_new_temp_directory(@TempPref, @TempPath) <> 0;
- newTempPath := CefString(@TempPath);
+ newTempPath := CefStringClearAndGet(@TempPath);
end
else
begin
@@ -1767,11 +1797,11 @@ var
begin
if (GlobalCEFApp <> nil) and GlobalCEFApp.LibLoaded then
begin
- FillChar(TempPath, SizeOf(TempPath), 0);
+ CefStringInitialize(@TempPath);
TempPref := CefString(prefix);
TempBase := CefString(baseDir);
Result := cef_create_temp_directory_in_directory(@TempBase, @TempPref, @TempPath) <> 0;
- newDir := CefString(@TempPath);
+ newDir := CefStringClearAndGet(@TempPath);
end
else
begin
diff --git a/source/uCEFPostDataElement.pas b/source/uCEFPostDataElement.pas
index 6b66fe49..c38e8976 100644
--- a/source/uCEFPostDataElement.pas
+++ b/source/uCEFPostDataElement.pas
@@ -275,9 +275,10 @@ begin
FReadOnly := readonly;
FDataType := PDE_TYPE_EMPTY;
FValueByte := nil;
- FillChar(FValueStr, SizeOf(FValueStr), 0);
FSize := 0;
+ CefStringInitialize(@FValueStr);
+
with PCefPostDataElement(FData)^ do
begin
is_read_only := {$IFDEF FPC}@{$ENDIF}cef_post_data_element_is_read_only;
diff --git a/source/uCEFRequestContext.pas b/source/uCEFRequestContext.pas
index 58938817..4cff69b1 100644
--- a/source/uCEFRequestContext.pas
+++ b/source/uCEFRequestContext.pas
@@ -134,8 +134,15 @@ begin
end;
function TCefRequestContextRef.GetHandler: ICefRequestContextHandler;
+var
+ TempHandler : PCefRequestContextHandler;
begin
- Result := TCefRequestContextHandlerRef.UnWrap(PCefRequestContext(FData)^.get_handler(PCefRequestContext(FData)));
+ TempHandler := PCefRequestContext(FData)^.get_handler(PCefRequestContext(FData));
+
+ if (TempHandler <> nil) then
+ Result := TCefRequestContextHandlerRef.UnWrap(TempHandler)
+ else
+ Result := nil;
end;
class function TCefRequestContextRef.Global: ICefRequestContext;
@@ -223,10 +230,11 @@ function TCefRequestContextRef.SetPreference(const name : ustring;
var
TempName, TempError : TCefString;
begin
+ CefStringInitialize(@TempError);
+
TempName := CefString(name);
- FillChar(TempError, SizeOf(TempError), 0);
Result := PCefRequestContext(FData)^.set_preference(PCefRequestContext(FData), @TempName, CefGetData(value), @TempError) <> 0;
- error := CefString(@TempError);
+ error := CefStringClearAndGet(@TempError);
end;
procedure TCefRequestContextRef.ClearCertificateExceptions(const callback: ICefCompletionCallback);
diff --git a/source/uCEFRequestContextHandler.pas b/source/uCEFRequestContextHandler.pas
index 3c01ba74..059ae25d 100644
--- a/source/uCEFRequestContextHandler.pas
+++ b/source/uCEFRequestContextHandler.pas
@@ -94,7 +94,7 @@ implementation
uses
uCEFMiscFunctions, uCEFLibFunctions, uCEFBrowser, uCEFFrame, uCEFRequest,
- uCEFCookieManager, uCEFWebPluginInfo, uCEFRequestContext, uCEFResourceRequestHandler;
+ uCEFWebPluginInfo, uCEFRequestContext, uCEFResourceRequestHandler;
// TCefRequestContextHandlerOwn
diff --git a/source/uCEFResourceBundleHandler.pas b/source/uCEFResourceBundleHandler.pas
index 1966058f..958e5aaf 100644
--- a/source/uCEFResourceBundleHandler.pas
+++ b/source/uCEFResourceBundleHandler.pas
@@ -100,7 +100,11 @@ begin
TempString := '';
Result := Ord(TCefResourceBundleHandlerOwn(TempObject).GetLocalizedString(string_id, TempString));
- if (Result <> 0) then string_val^ := CefString(TempString);
+ if (string_val <> nil) then
+ begin
+ CefStringFree(string_val);
+ string_val^ := CefStringAlloc(TempString);
+ end;
end;
end;
diff --git a/source/uCEFResourceHandler.pas b/source/uCEFResourceHandler.pas
index 8c38ad98..1a1b4163 100644
--- a/source/uCEFResourceHandler.pas
+++ b/source/uCEFResourceHandler.pas
@@ -137,11 +137,13 @@ begin
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefResourceHandlerOwn) then
- TCefResourceHandlerOwn(TempObject).GetResponseHeaders(TCefResponseRef.UnWrap(response),
- response_length^,
- TempRedirect);
-
- if (TempRedirect <> '') then CefStringSet(redirectUrl, TempRedirect);
+ begin
+ TCefResourceHandlerOwn(TempObject).GetResponseHeaders(TCefResponseRef.UnWrap(response),
+ response_length^,
+ TempRedirect);
+ CefStringFree(redirectUrl);
+ if (redirectUrl <> nil) then redirectUrl^ := CefStringAlloc(TempRedirect);
+ end;
end;
function cef_resource_handler_skip(self : PCefResourceHandler;
diff --git a/source/uCEFResourceRequestHandler.pas b/source/uCEFResourceRequestHandler.pas
index b5655267..678c6ff4 100644
--- a/source/uCEFResourceRequestHandler.pas
+++ b/source/uCEFResourceRequestHandler.pas
@@ -197,17 +197,18 @@ var
TempURL : ustring;
TempObject : TObject;
begin
- TempURL := CefString(new_url);
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefResourceRequestHandlerOwn) then
- TCefResourceRequestHandlerOwn(TempObject).OnResourceRedirect(TCefBrowserRef.UnWrap(browser),
- TCefFrameRef.UnWrap(frame),
- TCefRequestRef.UnWrap(request),
- TCefResponseRef.UnWrap(response),
- TempURL);
-
- if (TempURL <> '') then CefStringSet(new_url, TempURL);
+ begin
+ TempURL := CefStringClearAndGet(new_url);
+ TCefResourceRequestHandlerOwn(TempObject).OnResourceRedirect(TCefBrowserRef.UnWrap(browser),
+ TCefFrameRef.UnWrap(frame),
+ TCefRequestRef.UnWrap(request),
+ TCefResponseRef.UnWrap(response),
+ TempURL);
+ if (new_url <> nil) then new_url^ := CefStringAlloc(TempURL);
+ end;
end;
function cef_resource_request_handler_on_resource_response(self : PCefResourceRequestHandler;
diff --git a/source/uCEFStringList.pas b/source/uCEFStringList.pas
index bf452875..dae378be 100644
--- a/source/uCEFStringList.pas
+++ b/source/uCEFStringList.pas
@@ -148,17 +148,17 @@ begin
if (FHandle <> nil) then
begin
- FillChar(TempValue, SizeOf(TempValue), 0);
+ CefStringInitialize(@TempValue);
if (cef_string_list_value(FHandle, index, @TempValue) <> 0) then
- Result := CefString(@TempValue);
+ Result := CefStringClearAndGet(@TempValue);
end;
end;
procedure TCefCustomStringList.CopyToStrings(const aStrings : TStrings);
var
i, j : NativeUInt;
- TempString : TCefString;
+ TempValue : TCefString;
begin
if (aStrings <> nil) and (FHandle <> nil) then
begin
@@ -167,10 +167,10 @@ begin
while (i < j) do
begin
- FillChar(TempString, SizeOf(TCefString), 0);
+ CefStringInitialize(@TempValue);
- if (cef_string_list_value(FHandle, i, @TempString) <> 0) then
- aStrings.Add(CefStringClearAndGet(TempString));
+ if (cef_string_list_value(FHandle, i, @TempValue) <> 0) then
+ aStrings.Add(CefStringClearAndGet(@TempValue));
inc(i);
end;
diff --git a/source/uCEFStringMap.pas b/source/uCEFStringMap.pas
index 2528dcac..6b6068f1 100644
--- a/source/uCEFStringMap.pas
+++ b/source/uCEFStringMap.pas
@@ -124,11 +124,12 @@ begin
if (FHandle <> nil) then
begin
- FillChar(TempValue, SizeOf(TempValue), 0);
+ CefStringInitialize(@TempValue);
+
TempKey := CefString(key);
- if (cef_string_map_find(FHandle, @TempKey, TempValue) <> 0) then
- Result := CefString(@TempValue);
+ if (cef_string_map_find(FHandle, @TempKey, @TempValue) <> 0) then
+ Result := CefStringClearAndGet(@TempValue);
end;
end;
@@ -145,10 +146,10 @@ begin
if (FHandle <> nil) then
begin
- FillChar(TempKey, SizeOf(TempKey), 0);
+ CefStringInitialize(@TempKey);
- if (cef_string_map_key(FHandle, index, TempKey) <> 0) then
- Result := CefString(@TempKey);
+ if (cef_string_map_key(FHandle, index, @TempKey) <> 0) then
+ Result := CefStringClearAndGet(@TempKey);
end;
end;
@@ -168,10 +169,10 @@ begin
if (FHandle <> nil) then
begin
- FillChar(TempValue, SizeOf(TempValue), 0);
+ CefStringInitialize(@TempValue);
- if (cef_string_map_value(FHandle, index, TempValue) <> 0) then
- Result := CefString(@TempValue);
+ if (cef_string_map_value(FHandle, index, @TempValue) <> 0) then
+ Result := CefStringClearAndGet(@TempValue);
end;
end;
diff --git a/source/uCEFStringMultimap.pas b/source/uCEFStringMultimap.pas
index c7c1e74b..2fb34ad2 100644
--- a/source/uCEFStringMultimap.pas
+++ b/source/uCEFStringMultimap.pas
@@ -138,11 +138,12 @@ begin
if (FHandle <> nil) then
begin
- TempKey := CefString(Key);
- FillChar(TempValue, SizeOf(TempValue), 0);
+ CefStringInitialize(@TempValue);
- if (cef_string_multimap_enumerate(FHandle, @TempKey, ValueIndex, TempValue) <> 0) then
- Result := CefString(@TempValue);
+ TempKey := CefString(Key);
+
+ if (cef_string_multimap_enumerate(FHandle, @TempKey, ValueIndex, @TempValue) <> 0) then
+ Result := CefStringClearAndGet(@TempValue);
end;
end;
@@ -159,10 +160,10 @@ begin
if (FHandle <> nil) then
begin
- FillChar(TempKey, SizeOf(TempKey), 0);
+ CefStringInitialize(@TempKey);
- if (cef_string_multimap_key(FHandle, index, TempKey) <> 0) then
- Result := CefString(@TempKey);
+ if (cef_string_multimap_key(FHandle, index, @TempKey) <> 0) then
+ Result := CefStringClearAndGet(@TempKey);
end;
end;
@@ -182,10 +183,10 @@ begin
if (FHandle <> nil) then
begin
- FillChar(TempValue, SizeOf(TempValue), 0);
+ CefStringInitialize(@TempValue);
- if (cef_string_multimap_value(FHandle, index, TempValue) <> 0) then
- Result := CefString(@TempValue);
+ if (cef_string_multimap_value(FHandle, index, @TempValue) <> 0) then
+ Result := CefStringClearAndGet(@TempValue);
end;
end;
diff --git a/source/uCEFTypes.pas b/source/uCEFTypes.pas
index e3f54326..ce1238e9 100644
--- a/source/uCEFTypes.pas
+++ b/source/uCEFTypes.pas
@@ -2452,7 +2452,7 @@ type
// /include/capi/cef_v8_capi.h (cef_v8handler_t)
TCefv8Handler = record
base : TCefBaseRefCounted;
- execute : function(self: PCefv8Handler; const name: PCefString; obj: PCefv8Value; argumentsCount: NativeUInt; const arguments: PPCefV8Value; var retval: PCefV8Value; var exception: TCefString): Integer; stdcall;
+ execute : function(self: PCefv8Handler; const name: PCefString; object_: PCefv8Value; argumentsCount: NativeUInt; const arguments: PPCefV8Value; var retval: PCefV8Value; exception: PCefString): Integer; stdcall;
end;
// /include/capi/cef_v8_capi.h (cef_v8exception_t)
@@ -2543,17 +2543,17 @@ type
// /include/capi/cef_v8_capi.h (cef_v8interceptor_t)
TCefV8Interceptor = record
base : TCefBaseRefCounted;
- get_byname : function(self: PCefV8Interceptor; const name: PCefString; obj: PCefV8Value; out retval: PCefv8Value; exception: PCefString): integer; stdcall;
- get_byindex : function(self: PCefV8Interceptor; index: integer; obj: PCefV8Value; out retval: PCefv8Value; exception: PCefString): integer; stdcall;
- set_byname : function(self: PCefV8Interceptor; const name: PCefString; obj, value: PCefv8Value; exception: PCefString): integer; stdcall;
- set_byindex : function(self: PCefV8Interceptor; index: integer; obj, value: PCefv8Value; exception: PCefString): integer; stdcall;
+ get_byname : function(self: PCefV8Interceptor; const name: PCefString; object_: PCefV8Value; out retval: PCefv8Value; exception: PCefString): integer; stdcall;
+ get_byindex : function(self: PCefV8Interceptor; index: integer; object_: PCefV8Value; out retval: PCefv8Value; exception: PCefString): integer; stdcall;
+ set_byname : function(self: PCefV8Interceptor; const name: PCefString; object_, value: PCefv8Value; exception: PCefString): integer; stdcall;
+ set_byindex : function(self: PCefV8Interceptor; index: integer; object_, value: PCefv8Value; exception: PCefString): integer; stdcall;
end;
// /include/capi/cef_v8_capi.h (cef_v8accessor_t)
TCefV8Accessor = record
base : TCefBaseRefCounted;
- get : function(self: PCefV8Accessor; const name: PCefString; obj: PCefv8Value; out retval: PCefv8Value; exception: PCefString): Integer; stdcall;
- put : function(self: PCefV8Accessor; const name: PCefString; obj, value: PCefv8Value; exception: PCefString): Integer; stdcall;
+ get : function(self: PCefV8Accessor; const name: PCefString; object_: PCefv8Value; out retval: PCefv8Value; exception: PCefString): Integer; stdcall;
+ set_ : function(self: PCefV8Accessor; const name: PCefString; object_, value: PCefv8Value; exception: PCefString): Integer; stdcall;
end;
// /include/capi/cef_frame_capi.h (cef_frame_t)
diff --git a/source/uCEFValue.pas b/source/uCEFValue.pas
index c0e1fe38..8c594066 100644
--- a/source/uCEFValue.pas
+++ b/source/uCEFValue.pas
@@ -69,7 +69,7 @@ type
function GetDictionary: ICefDictionaryValue;
function GetList: ICefListValue;
function SetNull: Boolean;
- function SetBool(value: Integer): Boolean;
+ function SetBool(value: boolean): Boolean;
function SetInt(value: Integer): Boolean;
function SetDouble(value: Double): Boolean;
function SetString(const value: ustring): Boolean;
@@ -167,9 +167,9 @@ begin
Result := PCefValue(FData)^.set_binary(PCefValue(FData), CefGetData(value)) <> 0;
end;
-function TCefValueRef.SetBool(value: Integer): Boolean;
+function TCefValueRef.SetBool(value: boolean): Boolean;
begin
- Result := PCefValue(FData)^.set_bool(PCefValue(FData), value) <> 0;
+ Result := PCefValue(FData)^.set_bool(PCefValue(FData), ord(value)) <> 0;
end;
function TCefValueRef.SetDictionary(const value: ICefDictionaryValue): Boolean;
diff --git a/source/uCEFv8Accessor.pas b/source/uCEFv8Accessor.pas
index 8752efd8..ed38e17c 100644
--- a/source/uCEFv8Accessor.pas
+++ b/source/uCEFv8Accessor.pas
@@ -54,8 +54,8 @@ uses
type
TCefV8AccessorOwn = class(TCefBaseRefCountedOwn, ICefV8Accessor)
protected
- function Get(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; var exception: ustring): Boolean; virtual;
- function Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean; virtual;
+ function Get(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): Boolean; virtual;
+ function Set_(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean; virtual;
public
constructor Create; virtual;
@@ -66,8 +66,8 @@ type
FGetter: TCefV8AccessorGetterProc;
FSetter: TCefV8AccessorSetterProc;
- function Get(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; var exception: ustring): Boolean; override;
- function Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean; override;
+ function Get(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): Boolean; override;
+ function Set_(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean; override;
public
constructor Create(const getter: TCefV8AccessorGetterProc; const setter: TCefV8AccessorSetterProc); reintroduce;
@@ -80,48 +80,76 @@ uses
function cef_v8_accessor_get( self : PCefV8Accessor;
const name : PCefString;
- obj : PCefv8Value;
+ object_ : PCefv8Value;
out retval : PCefv8Value;
exception : PCefString): Integer; stdcall;
var
- ret : ICefv8Value;
- TempExcept : ustring;
- TempObject : TObject;
+ TempObject : TObject;
+ TempException : ustring;
+ TempReturnValue : ICefv8Value;
+ TempRecObject : ICefv8Value;
begin
Result := Ord(False);
- TempExcept := CefString(exception);
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefV8AccessorOwn) then
- Result := Ord(TCefV8AccessorOwn(TempObject).Get(CefString(name),
- TCefv8ValueRef.UnWrap(obj),
- ret,
- TempExcept));
+ try
+ TempRecObject := TCefv8ValueRef.UnWrap(object_);
+ TempException := '';
+ TempReturnValue := nil;
- retval := CefGetData(ret);
- exception^ := CefString(TempExcept);
+ Result := Ord(TCefV8AccessorOwn(TempObject).Get(CefString(name),
+ TempRecObject,
+ TempReturnValue,
+ TempException));
+
+ retval := CefGetData(TempReturnValue);
+
+ if (exception <> nil) then
+ begin
+ CefStringFree(exception);
+ exception^ := CefStringAlloc(TempException);
+ end;
+ finally
+ TempRecObject := nil;
+ TempReturnValue := nil;
+ end;
end;
-function cef_v8_accessor_put( self : PCefV8Accessor;
+function cef_v8_accessor_set( self : PCefV8Accessor;
const name : PCefString;
- obj : PCefv8Value;
+ object_ : PCefv8Value;
value : PCefv8Value;
exception : PCefString): Integer; stdcall;
var
- TempExcept : ustring;
- TempObject : TObject;
+ TempObject : TObject;
+ TempException : ustring;
+ TempValue : ICefv8Value;
+ TempRecObject : ICefv8Value;
begin
Result := Ord(False);
- TempExcept := CefString(exception);
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefV8AccessorOwn) then
- Result := Ord(TCefV8AccessorOwn(TempObject).Put(CefString(name),
- TCefv8ValueRef.UnWrap(obj),
- TCefv8ValueRef.UnWrap(value),
- TempExcept));
+ try
+ TempRecObject := TCefv8ValueRef.UnWrap(object_);
+ TempValue := TCefv8ValueRef.UnWrap(value);
+ TempException := '';
- exception^ := CefString(TempExcept);
+ Result := Ord(TCefV8AccessorOwn(TempObject).Set_(CefString(name),
+ TempRecObject,
+ TempValue,
+ TempException));
+
+ if (exception <> nil) then
+ begin
+ CefStringFree(exception);
+ exception^ := CefStringAlloc(TempException);
+ end;
+ finally
+ TempRecObject := nil;
+ TempValue := nil;
+ end;
end;
// TCefV8AccessorOwn
@@ -132,17 +160,17 @@ begin
with PCefV8Accessor(FData)^ do
begin
- get := {$IFDEF FPC}@{$ENDIF}cef_v8_accessor_get;
- put := {$IFDEF FPC}@{$ENDIF}cef_v8_accessor_put;
+ get := {$IFDEF FPC}@{$ENDIF}cef_v8_accessor_get;
+ set_ := {$IFDEF FPC}@{$ENDIF}cef_v8_accessor_set;
end;
end;
-function TCefV8AccessorOwn.Get(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; var exception: ustring): Boolean;
+function TCefV8AccessorOwn.Get(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): Boolean;
begin
Result := False;
end;
-function TCefV8AccessorOwn.Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean;
+function TCefV8AccessorOwn.Set_(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean;
begin
Result := False;
end;
@@ -155,18 +183,18 @@ begin
FSetter := setter;
end;
-function TCefFastV8Accessor.Get(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; var exception: ustring): Boolean;
+function TCefFastV8Accessor.Get(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): Boolean;
begin
if Assigned(FGetter) then
- Result := FGetter(name, obj, retval, exception)
+ Result := FGetter(name, object_, retval, exception)
else
Result := False;
end;
-function TCefFastV8Accessor.Put(const name: ustring; const obj, value: ICefv8Value; var exception: ustring): Boolean;
+function TCefFastV8Accessor.Set_(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): Boolean;
begin
if Assigned(FSetter) then
- Result := FSetter(name, obj, value, exception)
+ Result := FSetter(name, object_, value, exception)
else
Result := False;
end;
diff --git a/source/uCEFv8Handler.pas b/source/uCEFv8Handler.pas
index 444ff9f5..88fc248f 100644
--- a/source/uCEFv8Handler.pas
+++ b/source/uCEFv8Handler.pas
@@ -60,7 +60,7 @@ uses
type
TCefv8HandlerRef = class(TCefBaseRefCountedRef, ICefv8Handler)
protected
- function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean;
+ function Execute(const name: ustring; const object_: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean;
public
class function UnWrap(data: Pointer): ICefv8Handler;
@@ -68,7 +68,7 @@ type
TCefv8HandlerOwn = class(TCefBaseRefCountedOwn, ICefv8Handler)
protected
- function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; virtual;
+ function Execute(const name: ustring; const object_: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; virtual;
public
constructor Create; virtual;
@@ -87,7 +87,7 @@ type
class function StrToPtr(const str: ustring): Pointer;
class function PtrToStr(p: Pointer): ustring;
{$ENDIF}
- function Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; override;
+ function Execute(const name: ustring; const object_: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean; override;
public
constructor Create(const value: TValue; SyncMainThread: Boolean = False); reintroduce;
@@ -103,70 +103,97 @@ uses
function cef_v8_handler_execute( self : PCefv8Handler;
const name : PCefString;
- obj : PCefv8Value;
+ object_ : PCefv8Value;
argumentsCount : NativeUInt;
const arguments : PPCefV8Value;
var retval : PCefV8Value;
- var exception : TCefString): Integer; stdcall;
+ exception : PCefString): Integer; stdcall;
var
- args : TCefv8ValueArray;
- i, j : NativeInt;
- ret : ICefv8Value;
- exc : ustring;
- TempObject : TObject;
+ TempArgs : TCefv8ValueArray;
+ i : NativeUInt;
+ TempReturnValue : ICefv8Value;
+ TempException : ustring;
+ TempObject : TObject;
+ TempRecObject : ICefv8Value;
begin
- Result := -Ord(False);
+ Result := Ord(False);
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefv8HandlerOwn) then
- begin
- i := 0;
- j := argumentsCount;
+ try
+ TempRecObject := TCefv8ValueRef.UnWrap(object_);
+ TempReturnValue := nil;
+ TempArgs := nil;
+ TempException := '';
- SetLength(args, j);
-
- while (i < j) do
+ if (arguments <> nil) and (argumentsCount > 0) then
begin
- args[i] := TCefv8ValueRef.UnWrap(arguments^[i]);
+ SetLength(TempArgs, argumentsCount);
+
+ i := 0;
+ while (i < argumentsCount) do
+ begin
+ TempArgs[i] := TCefv8ValueRef.UnWrap(arguments^[i]);
+ inc(i);
+ end;
+ end;
+
+ Result := Ord(TCefv8HandlerOwn(TempObject).Execute(CefString(name),
+ TempRecObject,
+ TempArgs,
+ TempReturnValue,
+ TempException));
+
+ retval := CefGetData(TempReturnValue);
+
+ if (exception <> nil) then
+ begin
+ CefStringFree(exception);
+ exception^ := CefStringAlloc(TempException);
+ end;
+ finally
+ i := 0;
+ while (i < argumentsCount) do
+ begin
+ TempArgs[i] := nil;
inc(i);
end;
- Result := -Ord(TCefv8HandlerOwn(TempObject).Execute(CefString(name), TCefv8ValueRef.UnWrap(obj), args, ret, exc));
- retval := CefGetData(ret);
- ret := nil;
- exception := CefString(exc);
+ TempRecObject := nil;
+ TempReturnValue := nil;
end;
end;
function TCefv8HandlerRef.Execute(const name : ustring;
- const obj : ICefv8Value;
+ const object_ : ICefv8Value;
const arguments : TCefv8ValueArray;
var retval : ICefv8Value;
var exception : ustring): Boolean;
var
- args : array of PCefV8Value;
- i, j : Integer;
- ret : PCefV8Value;
- exc : TCefString;
- n : TCefString;
+ TempArgs : array of PCefV8Value;
+ TempLen, i : integer;
+ TempReturnValue : PCefV8Value;
+ TempException : TCefString;
+ TempName : TCefString;
begin
- i := 0;
- j := Length(arguments);
+ i := 0;
+ TempLen := Length(arguments);
- SetLength(args, j);
+ SetLength(TempArgs, TempLen);
- while (i < j) do
+ while (i < TempLen) do
begin
- args[i] := CefGetData(arguments[i]);
+ TempArgs[i] := CefGetData(arguments[i]);
inc(i);
end;
- FillChar(exc, SizeOf(exc), 0);
- ret := nil;
- n := CefString(name);
- Result := PCefv8Handler(FData)^.execute(PCefv8Handler(FData), @n, CefGetData(obj), Length(arguments), @args, ret, exc) <> 0;
- retval := TCefv8ValueRef.UnWrap(ret);
- exception := CefStringClearAndGet(exc);
+ CefStringInitialize(@TempException);
+
+ TempReturnValue := nil;
+ TempName := CefString(name);
+ Result := PCefv8Handler(FData)^.execute(PCefv8Handler(FData), @TempName, CefGetData(object_), TempLen, @TempArgs, TempReturnValue, @TempException) <> 0;
+ retval := TCefv8ValueRef.UnWrap(TempReturnValue);
+ exception := CefStringClearAndGet(@TempException);
end;
class function TCefv8HandlerRef.UnWrap(data: Pointer): ICefv8Handler;
@@ -186,7 +213,7 @@ begin
PCefv8Handler(FData)^.execute := {$IFDEF FPC}@{$ENDIF}cef_v8_handler_execute;
end;
-function TCefv8HandlerOwn.Execute(const name: ustring; const obj: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean;
+function TCefv8HandlerOwn.Execute(const name: ustring; const object_: ICefv8Value; const arguments: TCefv8ValueArray; var retval: ICefv8Value; var exception: ustring): Boolean;
begin
Result := False;
end;
@@ -778,9 +805,11 @@ begin
end;
{$ENDIF}
-function TCefRTTIExtension.Execute(const name: ustring; const obj: ICefv8Value;
- const arguments: TCefv8ValueArray; var retval: ICefv8Value;
- var exception: ustring): Boolean;
+function TCefRTTIExtension.Execute(const name : ustring;
+ const object_ : ICefv8Value;
+ const arguments : TCefv8ValueArray;
+ var retval : ICefv8Value;
+ var exception : ustring): Boolean;
var
p: PChar;
ud: ICefv8Value;
@@ -798,9 +827,9 @@ begin
Result := True;
p := PChar(name);
m := nil;
- if obj <> nil then
+ if object_ <> nil then
begin
- ud := obj.GetUserData;
+ ud := object_.GetUserData;
if ud <> nil then
begin
{$IFDEF CPUX64}
diff --git a/source/uCEFv8Interceptor.pas b/source/uCEFv8Interceptor.pas
index b443d53c..0fc57445 100644
--- a/source/uCEFv8Interceptor.pas
+++ b/source/uCEFv8Interceptor.pas
@@ -54,10 +54,10 @@ uses
type
TCefV8InterceptorOwn = class(TCefBaseRefCountedOwn, ICefV8Interceptor)
protected
- function GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; virtual;
- function GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; virtual;
- function SetByName(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): boolean; virtual;
- function SetByIndex(index: integer; const obj, value: ICefv8Value; const exception: ustring): boolean; virtual;
+ function GetByName(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean; virtual;
+ function GetByIndex(index: integer; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean; virtual;
+ function SetByName(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): boolean; virtual;
+ function SetByIndex(index: integer; const object_, value: ICefv8Value; var exception: ustring): boolean; virtual;
public
constructor Create; virtual;
@@ -70,10 +70,10 @@ type
FGetterByIndex : TCefV8InterceptorGetterByIndexProc;
FSetterByIndex : TCefV8InterceptorSetterByIndexProc;
- function GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; override;
- function GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean; override;
- function SetByName(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): boolean; override;
- function SetByIndex(index: integer; const obj, value: ICefv8Value; const exception: ustring): boolean; override;
+ function GetByName(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean; override;
+ function GetByIndex(index: integer; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean; override;
+ function SetByName(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): boolean; override;
+ function SetByIndex(index: integer; const object_, value: ICefv8Value; var exception: ustring): boolean; override;
public
constructor Create(const getterbyname : TCefV8InterceptorGetterByNameProc;
@@ -89,86 +89,152 @@ uses
function cef_v8_interceptor_get_byname( self : PCefV8Interceptor;
const name : PCefString;
- obj : PCefV8Value;
+ object_ : PCefV8Value;
out retval : PCefv8Value;
exception : PCefString): Integer; stdcall;
var
- ret: ICefv8Value;
- TempObject : TObject;
+ TempObject : TObject;
+ TempException : ustring;
+ TempReturnValue : ICefv8Value;
+ TempRecObject : ICefv8Value;
begin
Result := Ord(False);
retval := nil;
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefV8InterceptorOwn) then
- begin
- Result := Ord(TCefV8InterceptorOwn(TempObject).GetByName(CefString(name),
- TCefv8ValueRef.UnWrap(obj),
- ret,
- CefString(exception)));
+ try
+ TempRecObject := TCefv8ValueRef.UnWrap(object_);
+ TempException := '';
+ TempReturnValue := nil;
- retval := CefGetData(ret);
+ Result := Ord(TCefV8InterceptorOwn(TempObject).GetByName(CefString(name),
+ TempRecObject,
+ TempReturnValue,
+ TempException));
+
+ retval := CefGetData(TempReturnValue);
+
+ if (exception <> nil) then
+ begin
+ CefStringFree(exception);
+ exception^ := CefStringAlloc(TempException);
+ end;
+ finally
+ TempRecObject := nil;
+ TempReturnValue := nil;
end;
end;
function cef_v8_interceptor_get_byindex( self : PCefV8Interceptor;
index : integer;
- obj : PCefV8Value;
+ object_ : PCefV8Value;
out retval : PCefv8Value;
exception : PCefString): integer; stdcall;
var
- ret: ICefv8Value;
- TempObject : TObject;
+ TempObject : TObject;
+ TempException : ustring;
+ TempReturnValue : ICefv8Value;
+ TempRecObject : ICefv8Value;
begin
Result := Ord(False);
retval := nil;
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefV8InterceptorOwn) then
- begin
- Result := Ord(TCefV8InterceptorOwn(TempObject).GetByIndex(index,
- TCefv8ValueRef.UnWrap(obj),
- ret,
- CefString(exception)));
+ try
+ TempRecObject := TCefv8ValueRef.UnWrap(object_);
+ TempException := '';
+ TempReturnValue := nil;
- retval := CefGetData(ret);
+ Result := Ord(TCefV8InterceptorOwn(TempObject).GetByIndex(index,
+ TempRecObject,
+ TempReturnValue,
+ TempException));
+
+ retval := CefGetData(TempReturnValue);
+
+ if (exception <> nil) then
+ begin
+ CefStringFree(exception);
+ exception^ := CefStringAlloc(TempException);
+ end;
+ finally
+ TempRecObject := nil;
+ TempReturnValue := nil;
end;
end;
function cef_v8_interceptor_set_byname( self : PCefV8Interceptor;
const name : PCefString;
- obj : PCefV8Value;
+ object_ : PCefV8Value;
value : PCefv8Value;
exception : PCefString): integer; stdcall;
var
- TempObject : TObject;
+ TempObject : TObject;
+ TempException : ustring;
+ TempValue : ICefv8Value;
+ TempRecObject : ICefv8Value;
begin
Result := Ord(False);
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefV8InterceptorOwn) then
- Result := Ord(TCefV8InterceptorOwn(TempObject).SetByName(CefString(name),
- TCefv8ValueRef.UnWrap(obj),
- TCefv8ValueRef.UnWrap(value),
- CefString(exception)));
+ try
+ TempRecObject := TCefv8ValueRef.UnWrap(object_);
+ TempValue := TCefv8ValueRef.UnWrap(value);
+ TempException := '';
+
+ Result := Ord(TCefV8InterceptorOwn(TempObject).SetByName(CefString(name),
+ TempRecObject,
+ TempValue,
+ TempException));
+
+ if (exception <> nil) then
+ begin
+ CefStringFree(exception);
+ exception^ := CefStringAlloc(TempException);
+ end;
+ finally
+ TempRecObject := nil;
+ TempValue := nil;
+ end;
end;
function cef_v8_interceptor_set_byindex(self : PCefV8Interceptor;
index : integer;
- obj : PCefV8Value;
+ object_ : PCefV8Value;
value : PCefv8Value;
exception : PCefString): integer; stdcall;
var
- TempObject : TObject;
+ TempObject : TObject;
+ TempException : ustring;
+ TempValue : ICefv8Value;
+ TempRecObject : ICefv8Value;
begin
Result := Ord(False);
TempObject := CefGetObject(self);
if (TempObject <> nil) and (TempObject is TCefV8InterceptorOwn) then
- Result := Ord(TCefV8InterceptorOwn(TempObject).SetByIndex(index,
- TCefv8ValueRef.UnWrap(obj),
- TCefv8ValueRef.UnWrap(value),
- CefString(exception)));
+ try
+ TempRecObject := TCefv8ValueRef.UnWrap(object_);
+ TempValue := TCefv8ValueRef.UnWrap(value);
+ TempException := '';
+
+ Result := Ord(TCefV8InterceptorOwn(TempObject).SetByIndex(index,
+ TempRecObject,
+ TempValue,
+ TempException));
+
+ if (exception <> nil) then
+ begin
+ CefStringFree(exception);
+ exception^ := CefStringAlloc(TempException);
+ end;
+ finally
+ TempRecObject := nil;
+ TempValue := nil;
+ end;
end;
// TCefV8InterceptorOwn
@@ -186,22 +252,22 @@ begin
end;
end;
-function TCefV8InterceptorOwn.GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
+function TCefV8InterceptorOwn.GetByName(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean;
begin
Result := False;
end;
-function TCefV8InterceptorOwn.GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
+function TCefV8InterceptorOwn.GetByIndex(index: integer; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean;
begin
Result := False;
end;
-function TCefV8InterceptorOwn.SetByName(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): boolean;
+function TCefV8InterceptorOwn.SetByName(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): boolean;
begin
Result := False;
end;
-function TCefV8InterceptorOwn.SetByIndex(index: integer; const obj, value: ICefv8Value; const exception: ustring): boolean;
+function TCefV8InterceptorOwn.SetByIndex(index: integer; const object_, value: ICefv8Value; var exception: ustring): boolean;
begin
Result := False;
end;
@@ -219,34 +285,34 @@ begin
FSetterByIndex := setterbyindex;
end;
-function TCefFastV8Interceptor.GetByName(const name: ustring; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
+function TCefFastV8Interceptor.GetByName(const name: ustring; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean;
begin
if assigned(FGetterByName) then
- Result := FGetterByName(name, obj, retval, exception)
+ Result := FGetterByName(name, object_, retval, exception)
else
Result := False;
end;
-function TCefFastV8Interceptor.GetByIndex(index: integer; const obj: ICefv8Value; out retval: ICefv8Value; const exception: ustring): boolean;
+function TCefFastV8Interceptor.GetByIndex(index: integer; const object_: ICefv8Value; var retval: ICefv8Value; var exception: ustring): boolean;
begin
if assigned(FGetterByIndex) then
- Result := FGetterByIndex(index, obj, retval, exception)
+ Result := FGetterByIndex(index, object_, retval, exception)
else
Result := False;
end;
-function TCefFastV8Interceptor.SetByName(const name: ustring; const obj, value: ICefv8Value; const exception: ustring): boolean;
+function TCefFastV8Interceptor.SetByName(const name: ustring; const object_, value: ICefv8Value; var exception: ustring): boolean;
begin
if assigned(FSetterByName) then
- Result := FSetterByName(name, obj, value, exception)
+ Result := FSetterByName(name, object_, value, exception)
else
Result := False;
end;
-function TCefFastV8Interceptor.SetByIndex(index: integer; const obj, value: ICefv8Value; const exception: ustring): boolean;
+function TCefFastV8Interceptor.SetByIndex(index: integer; const object_, value: ICefv8Value; var exception: ustring): boolean;
begin
if assigned(FSetterByIndex) then
- Result := FSetterByIndex(index, obj, value, exception)
+ Result := FSetterByIndex(index, object_, value, exception)
else
Result := False;
end;
diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json
index d8a56e43..12193d72 100644
--- a/update_CEF4Delphi.json
+++ b/update_CEF4Delphi.json
@@ -1,8 +1,8 @@
{
"UpdateLazPackages" : [
{
- "ForceNotify" : false,
- "InternalVersion" : 67,
+ "ForceNotify" : true,
+ "InternalVersion" : 68,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "78.3.4.0"
}