mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2024-11-24 08:02:15 +02:00
Update to CEF 118.7.1
This commit is contained in:
parent
b0f58ea32b
commit
792a602efa
14
README.md
14
README.md
@ -3,15 +3,15 @@ CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chro
|
|||||||
|
|
||||||
CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the LICENSE.md file.
|
CEF4Delphi is based on DCEF3 and fpCEF3. The original license of those projects still applies to CEF4Delphi. Read the license terms in the LICENSE.md file.
|
||||||
|
|
||||||
CEF4Delphi uses CEF 118.6.10 which includes Chromium 118.0.5993.119.
|
CEF4Delphi uses CEF 118.7.1 which includes Chromium 118.0.5993.119.
|
||||||
|
|
||||||
The CEF binaries used by CEF4Delphi are available for download at Spotify :
|
The CEF binaries used by CEF4Delphi are available for download at Spotify :
|
||||||
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_118.6.10%2Bg38848f1%2Bchromium-118.0.5993.119_windows32.tar.bz2)
|
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_118.7.1%2Bg99817d2%2Bchromium-118.0.5993.119_windows32.tar.bz2)
|
||||||
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.6.10%2Bg38848f1%2Bchromium-118.0.5993.119_windows64.tar.bz2)
|
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.7.1%2Bg99817d2%2Bchromium-118.0.5993.119_windows64.tar.bz2)
|
||||||
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.6.10%2Bg38848f1%2Bchromium-118.0.5993.119_linux64.tar.bz2)
|
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.7.1%2Bg99817d2%2Bchromium-118.0.5993.119_linux64.tar.bz2)
|
||||||
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_118.6.10%2Bg38848f1%2Bchromium-118.0.5993.119_linuxarm.tar.bz2)
|
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_118.7.1%2Bg99817d2%2Bchromium-118.0.5993.119_linuxarm.tar.bz2)
|
||||||
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.6.10%2Bg38848f1%2Bchromium-118.0.5993.119_linuxarm64.tar.bz2)
|
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.7.1%2Bg99817d2%2Bchromium-118.0.5993.119_linuxarm64.tar.bz2)
|
||||||
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.6.10%2Bg38848f1%2Bchromium-118.0.5993.119_macosx64.tar.bz2)
|
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_118.7.1%2Bg99817d2%2Bchromium-118.0.5993.119_macosx64.tar.bz2)
|
||||||
|
|
||||||
CEF4Delphi was developed and tested on Delphi 12.0 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 11 and Lazarus 2.2.6/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
|
CEF4Delphi was developed and tested on Delphi 12.0 and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 11 and Lazarus 2.2.6/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.
|
||||||
|
|
||||||
|
@ -57,6 +57,7 @@ const
|
|||||||
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
||||||
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
||||||
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
||||||
|
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18;
|
||||||
|
|
||||||
DEVTOOLS_SCREENSHOT_MSGID = 1;
|
DEVTOOLS_SCREENSHOT_MSGID = 1;
|
||||||
DEVTOOLS_MHTML_MSGID = 2;
|
DEVTOOLS_MHTML_MSGID = 2;
|
||||||
@ -420,6 +421,12 @@ begin
|
|||||||
|
|
||||||
if Chromium1.CanResetZoom then
|
if Chromium1.CanResetZoom then
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_RESETZOOM, 'Reset zoom');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_RESETZOOM, 'Reset zoom');
|
||||||
|
|
||||||
|
if Chromium1.Fullscreen then
|
||||||
|
begin
|
||||||
|
model.AddSeparator;
|
||||||
|
model.AddItem(MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN, 'Exit fullscreen');
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
||||||
@ -608,6 +615,8 @@ begin
|
|||||||
MINIBROWSER_CONTEXTMENU_RESETZOOM :
|
MINIBROWSER_CONTEXTMENU_RESETZOOM :
|
||||||
Chromium1.ResetZoomCommand;
|
Chromium1.ResetZoomCommand;
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN :
|
||||||
|
Chromium1.ExitFullscreen(True);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
case commandId of
|
case commandId of
|
||||||
@ -1081,11 +1090,15 @@ end;
|
|||||||
|
|
||||||
procedure TMiniBrowserFrm.Chromium1RenderCompMsg(Sender: TObject; var aMessage : TMessage; var aHandled: Boolean);
|
procedure TMiniBrowserFrm.Chromium1RenderCompMsg(Sender: TObject; var aMessage : TMessage; var aHandled: Boolean);
|
||||||
begin
|
begin
|
||||||
if not(FClosing) and (aMessage.Msg = WM_MOUSEMOVE) then
|
if FClosing then exit;
|
||||||
|
|
||||||
|
case aMessage.Msg of
|
||||||
|
WM_MOUSEMOVE :
|
||||||
begin
|
begin
|
||||||
StatusBar1.Panels[2].Text := 'x : ' + inttostr(aMessage.lParam and $FFFF);
|
StatusBar1.Panels[2].Text := 'x : ' + inttostr(aMessage.lParam and $FFFF);
|
||||||
StatusBar1.Panels[3].Text := 'y : ' + inttostr((aMessage.lParam and $FFFF0000) shr 16);
|
StatusBar1.Panels[3].Text := 'y : ' + inttostr((aMessage.lParam and $FFFF0000) shr 16);
|
||||||
end;
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMiniBrowserFrm.Chromium1RequestMediaAccessPermission(Sender: TObject;
|
procedure TMiniBrowserFrm.Chromium1RequestMediaAccessPermission(Sender: TObject;
|
||||||
|
@ -83,6 +83,7 @@ const
|
|||||||
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
MINIBROWSER_CONTEXTMENU_INCZOOM = MENU_ID_USER_FIRST + 15;
|
||||||
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
MINIBROWSER_CONTEXTMENU_DECZOOM = MENU_ID_USER_FIRST + 16;
|
||||||
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
MINIBROWSER_CONTEXTMENU_RESETZOOM = MENU_ID_USER_FIRST + 17;
|
||||||
|
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN = MENU_ID_USER_FIRST + 18;
|
||||||
|
|
||||||
DEVTOOLS_SCREENSHOT_MSGID = 1;
|
DEVTOOLS_SCREENSHOT_MSGID = 1;
|
||||||
DEVTOOLS_MHTML_MSGID = 2;
|
DEVTOOLS_MHTML_MSGID = 2;
|
||||||
@ -532,6 +533,12 @@ begin
|
|||||||
|
|
||||||
if Chromium1.CanResetZoom then
|
if Chromium1.CanResetZoom then
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_RESETZOOM, 'Reset zoom');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_RESETZOOM, 'Reset zoom');
|
||||||
|
|
||||||
|
if Chromium1.Fullscreen then
|
||||||
|
begin
|
||||||
|
model.AddSeparator;
|
||||||
|
model.AddItem(MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN, 'Exit fullscreen');
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
||||||
@ -701,6 +708,9 @@ begin
|
|||||||
|
|
||||||
MINIBROWSER_CONTEXTMENU_RESETZOOM :
|
MINIBROWSER_CONTEXTMENU_RESETZOOM :
|
||||||
Chromium1.ResetZoomCommand;
|
Chromium1.ResetZoomCommand;
|
||||||
|
|
||||||
|
MINIBROWSER_CONTEXTMENU_EXITFULLSCREEN :
|
||||||
|
Chromium1.ExitFullscreen(True);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
case commandId of
|
case commandId of
|
||||||
|
Binary file not shown.
@ -21,7 +21,7 @@
|
|||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Description Value="CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC."/>
|
<Description Value="CEF4Delphi is an open source project created by Salvador Díaz Fau to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC."/>
|
||||||
<License Value="MPL 1.1"/>
|
<License Value="MPL 1.1"/>
|
||||||
<Version Major="118" Minor="6" Release="10"/>
|
<Version Major="118" Minor="7" Release="1"/>
|
||||||
<Files Count="214">
|
<Files Count="214">
|
||||||
<Item1>
|
<Item1>
|
||||||
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>
|
||||||
|
@ -116,6 +116,8 @@ type
|
|||||||
function IsBackgroundHost : boolean;
|
function IsBackgroundHost : boolean;
|
||||||
procedure SetAudioMuted(mute: boolean);
|
procedure SetAudioMuted(mute: boolean);
|
||||||
function IsAudioMuted : boolean;
|
function IsAudioMuted : boolean;
|
||||||
|
function IsFullscreen : boolean;
|
||||||
|
procedure ExitFullscreen(will_cause_resize: boolean);
|
||||||
|
|
||||||
public
|
public
|
||||||
class function UnWrap(data: Pointer): ICefBrowserHost;
|
class function UnWrap(data: Pointer): ICefBrowserHost;
|
||||||
@ -358,6 +360,16 @@ begin
|
|||||||
Result := PCefBrowserHost(FData)^.is_audio_muted(PCefBrowserHost(FData)) <> 0;
|
Result := PCefBrowserHost(FData)^.is_audio_muted(PCefBrowserHost(FData)) <> 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCefBrowserHostRef.IsFullscreen : boolean;
|
||||||
|
begin
|
||||||
|
Result := PCefBrowserHost(FData)^.is_fullscreen(PCefBrowserHost(FData)) <> 0;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCefBrowserHostRef.ExitFullscreen(will_cause_resize: boolean);
|
||||||
|
begin
|
||||||
|
PCefBrowserHost(FData)^.exit_fullscreen(PCefBrowserHost(FData), Ord(will_cause_resize));
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCefBrowserHostRef.DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations);
|
procedure TCefBrowserHostRef.DragTargetDragEnter(const dragData: ICefDragData; const event: PCefMouseEvent; allowedOps: TCefDragOperations);
|
||||||
begin
|
begin
|
||||||
PCefBrowserHost(FData)^.drag_target_drag_enter(PCefBrowserHost(FData), CefGetData(dragData), event, allowedOps);
|
PCefBrowserHost(FData)^.drag_target_drag_enter(PCefBrowserHost(FData), CefGetData(dragData), event, allowedOps);
|
||||||
|
@ -361,6 +361,7 @@ type
|
|||||||
function GetRequestContextCache : ustring;
|
function GetRequestContextCache : ustring;
|
||||||
function GetRequestContextIsGlobal : boolean;
|
function GetRequestContextIsGlobal : boolean;
|
||||||
function GetAudioMuted : boolean;
|
function GetAudioMuted : boolean;
|
||||||
|
function GetFullscreen : boolean;
|
||||||
function GetParentFormHandle : TCefWindowHandle; virtual;
|
function GetParentFormHandle : TCefWindowHandle; virtual;
|
||||||
function GetRequestContext : ICefRequestContext;
|
function GetRequestContext : ICefRequestContext;
|
||||||
function GetMediaRouter : ICefMediaRouter;
|
function GetMediaRouter : ICefMediaRouter;
|
||||||
@ -1270,6 +1271,18 @@ type
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
procedure Invalidate(type_: TCefPaintElementType = PET_VIEW);
|
procedure Invalidate(type_: TCefPaintElementType = PET_VIEW);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Requests the renderer to exit browser fullscreen. In most cases exiting
|
||||||
|
/// window fullscreen should also exit browser fullscreen. With the Alloy
|
||||||
|
/// runtime this function should be called in response to a user action such
|
||||||
|
/// as clicking the green traffic light button on MacOS
|
||||||
|
/// (ICefWindowDelegate.OnWindowFullscreenTransition callback) or pressing
|
||||||
|
/// the "ESC" key (ICefKeyboardHandler.OnPreKeyEvent callback). With the
|
||||||
|
/// Chrome runtime these standard exit actions are handled internally but
|
||||||
|
/// new/additional user actions can use this function. Set |will_cause_resize|
|
||||||
|
/// to true (1) if exiting browser fullscreen will cause a view resize.
|
||||||
|
/// </summary>
|
||||||
|
procedure ExitFullscreen(will_cause_resize: boolean);
|
||||||
|
/// <summary>
|
||||||
/// Issue a BeginFrame request to Chromium. Only valid when
|
/// Issue a BeginFrame request to Chromium. Only valid when
|
||||||
/// TCefWindowInfo.external_begin_frame_enabled is set to true (1).
|
/// TCefWindowInfo.external_begin_frame_enabled is set to true (1).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1944,6 +1957,14 @@ type
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
property AudioMuted : boolean read GetAudioMuted write SetAudioMuted;
|
property AudioMuted : boolean read GetAudioMuted write SetAudioMuted;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
/// Returns true (1) if the renderer is currently in browser fullscreen. This
|
||||||
|
/// differs from window fullscreen in that browser fullscreen is entered using
|
||||||
|
/// the JavaScript Fullscreen API and modifies CSS attributes such as the
|
||||||
|
/// ::backdrop pseudo-element and :fullscreen pseudo-structure. This property
|
||||||
|
/// can only be called on the UI thread.
|
||||||
|
/// </summary>
|
||||||
|
property Fullscreen : boolean read GetFullscreen;
|
||||||
|
/// <summary>
|
||||||
/// Forces the Google safesearch in the browser preferences.
|
/// Forces the Google safesearch in the browser preferences.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
property SafeSearch : boolean read FSafeSearch write SetSafeSearch;
|
property SafeSearch : boolean read FSafeSearch write SetSafeSearch;
|
||||||
@ -5494,6 +5515,11 @@ begin
|
|||||||
Result := Initialized and Browser.host.IsAudioMuted;
|
Result := Initialized and Browser.host.IsAudioMuted;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TChromiumCore.GetFullscreen : boolean;
|
||||||
|
begin
|
||||||
|
Result := Initialized and Browser.host.IsFullscreen;
|
||||||
|
end;
|
||||||
|
|
||||||
function TChromiumCore.GetParentFormHandle : TCefWindowHandle;
|
function TChromiumCore.GetParentFormHandle : TCefWindowHandle;
|
||||||
begin
|
begin
|
||||||
InitializeWindowHandle(Result);
|
InitializeWindowHandle(Result);
|
||||||
@ -9321,6 +9347,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TChromiumCore.ExitFullscreen(will_cause_resize: boolean);
|
||||||
|
begin
|
||||||
|
if Initialized then
|
||||||
|
Browser.Host.ExitFullscreen(will_cause_resize);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TChromiumCore.SendExternalBeginFrame;
|
procedure TChromiumCore.SendExternalBeginFrame;
|
||||||
begin
|
begin
|
||||||
if Initialized then
|
if Initialized then
|
||||||
|
@ -1297,6 +1297,26 @@ type
|
|||||||
/// be called on the UI thread.
|
/// be called on the UI thread.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
function IsAudioMuted : boolean;
|
function IsAudioMuted : boolean;
|
||||||
|
/// <summary>
|
||||||
|
/// Returns true (1) if the renderer is currently in browser fullscreen. This
|
||||||
|
/// differs from window fullscreen in that browser fullscreen is entered using
|
||||||
|
/// the JavaScript Fullscreen API and modifies CSS attributes such as the
|
||||||
|
/// ::backdrop pseudo-element and :fullscreen pseudo-structure. This function
|
||||||
|
/// can only be called on the UI thread.
|
||||||
|
/// </summary>
|
||||||
|
function IsFullscreen : boolean;
|
||||||
|
/// <summary>
|
||||||
|
/// Requests the renderer to exit browser fullscreen. In most cases exiting
|
||||||
|
/// window fullscreen should also exit browser fullscreen. With the Alloy
|
||||||
|
/// runtime this function should be called in response to a user action such
|
||||||
|
/// as clicking the green traffic light button on MacOS
|
||||||
|
/// (ICefWindowDelegate.OnWindowFullscreenTransition callback) or pressing
|
||||||
|
/// the "ESC" key (ICefKeyboardHandler.OnPreKeyEvent callback). With the
|
||||||
|
/// Chrome runtime these standard exit actions are handled internally but
|
||||||
|
/// new/additional user actions can use this function. Set |will_cause_resize|
|
||||||
|
/// to true (1) if exiting browser fullscreen will cause a view resize.
|
||||||
|
/// </summary>
|
||||||
|
procedure ExitFullscreen(will_cause_resize: boolean);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns the hosted browser object.
|
/// Returns the hosted browser object.
|
||||||
@ -6801,9 +6821,9 @@ type
|
|||||||
/// the browser content area. If |fullscreen| is false (0) the content will
|
/// the browser content area. If |fullscreen| is false (0) the content will
|
||||||
/// automatically return to its original size and position. With the Alloy
|
/// automatically return to its original size and position. With the Alloy
|
||||||
/// runtime the client is responsible for triggering the fullscreen transition
|
/// runtime the client is responsible for triggering the fullscreen transition
|
||||||
/// (for example, by calling cef_window_t::SetFullscreen when using Views).
|
/// (for example, by calling ICefWindow.SetFullscreen when using Views).
|
||||||
/// With the Chrome runtime the fullscreen transition will be triggered
|
/// With the Chrome runtime the fullscreen transition will be triggered
|
||||||
/// automatically. The cef_window_delegate_t::OnWindowFullscreenTransition
|
/// automatically. The ICefWindowDelegate.OnWindowFullscreenTransition
|
||||||
/// function will be called during the fullscreen transition for notification
|
/// function will be called during the fullscreen transition for notification
|
||||||
/// purposes.
|
/// purposes.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -6959,6 +6959,8 @@ type
|
|||||||
is_background_host : function(self: PCefBrowserHost): integer; stdcall;
|
is_background_host : function(self: PCefBrowserHost): integer; stdcall;
|
||||||
set_audio_muted : procedure(self: PCefBrowserHost; mute: integer); stdcall;
|
set_audio_muted : procedure(self: PCefBrowserHost; mute: integer); stdcall;
|
||||||
is_audio_muted : function(self: PCefBrowserHost): integer; stdcall;
|
is_audio_muted : function(self: PCefBrowserHost): integer; stdcall;
|
||||||
|
is_fullscreen : function(self: PCefBrowserHost): integer; stdcall;
|
||||||
|
exit_fullscreen : procedure(self: PCefBrowserHost; will_cause_resize: integer); stdcall;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
CEF_SUPPORTED_VERSION_MAJOR = 118;
|
CEF_SUPPORTED_VERSION_MAJOR = 118;
|
||||||
CEF_SUPPORTED_VERSION_MINOR = 6;
|
CEF_SUPPORTED_VERSION_MINOR = 7;
|
||||||
CEF_SUPPORTED_VERSION_RELEASE = 10;
|
CEF_SUPPORTED_VERSION_RELEASE = 1;
|
||||||
CEF_SUPPORTED_VERSION_BUILD = 0;
|
CEF_SUPPORTED_VERSION_BUILD = 0;
|
||||||
|
|
||||||
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;
|
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : true,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 538,
|
"InternalVersion" : 539,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "118.6.10"
|
"Version" : "118.7.1"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"UpdatePackageData" : {
|
"UpdatePackageData" : {
|
||||||
|
Loading…
Reference in New Issue
Block a user