1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-07-12 22:30:17 +02:00

Update to CEF 135.0.17

Fixed issue #548
Removed custom JS dialogs code from SimpleOSRBrowser.
This commit is contained in:
Salvador Díaz Fau
2025-04-03 16:14:01 +02:00
parent d4111842bf
commit 2ad0c8a753
6 changed files with 12 additions and 94 deletions

View File

@ -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 uses CEF 135.0.15 which includes Chromium 135.0.7049.41.
CEF4Delphi uses CEF 135.0.17 which includes Chromium 135.0.7049.52.
The CEF binaries used by CEF4Delphi are available for download at Spotify :
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.15%2Bg0556b30%2Bchromium-135.0.7049.41_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.15%2Bg0556b30%2Bchromium-135.0.7049.41_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.15%2Bg0556b30%2Bchromium-135.0.7049.41_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.15%2Bg0556b30%2Bchromium-135.0.7049.41_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.15%2Bg0556b30%2Bchromium-135.0.7049.41_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.15%2Bg0556b30%2Bchromium-135.0.7049.41_macosx64.tar.bz2)
* [Windows 32 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.17%2Bgcbc1c5b%2Bchromium-135.0.7049.52_windows32.tar.bz2)
* [Windows 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.17%2Bgcbc1c5b%2Bchromium-135.0.7049.52_windows64.tar.bz2)
* [Linux x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.17%2Bgcbc1c5b%2Bchromium-135.0.7049.52_linux64.tar.bz2)
* [Linux ARM 32 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.17%2Bgcbc1c5b%2Bchromium-135.0.7049.52_linuxarm.tar.bz2)
* [Linux ARM 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.17%2Bgcbc1c5b%2Bchromium-135.0.7049.52_linuxarm64.tar.bz2)
* [MacOS x86 64 bits](https://cef-builds.spotifycdn.com/cef_binary_135.0.17%2Bgcbc1c5b%2Bchromium-135.0.7049.52_macosx64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 12.3 and it has been tested in Delphi 6, Delphi XE, Delphi 10, Delphi 11 and Lazarus 3.8/FPC 3.2.2. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.

View File

@ -120,7 +120,6 @@ object Form1: TForm1
OnCanFocus = chrmosrCanFocus
OnTooltip = chrmosrTooltip
OnCursorChange = chrmosrCursorChange
OnJsdialog = chrmosrJsdialog
OnBeforePopup = chrmosrBeforePopup
OnAfterCreated = chrmosrAfterCreated
OnBeforeClose = chrmosrBeforeClose

View File

@ -77,7 +77,6 @@ type
procedure chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
procedure chrmosrIMECompositionRangeChanged(Sender: TObject; const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect);
procedure chrmosrCanFocus(Sender: TObject);
procedure chrmosrJsdialog(Sender: TObject; const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage, Result: Boolean);
procedure SnapshotBtnClick(Sender: TObject);
procedure SnapshotBtnEnter(Sender: TObject);
@ -104,14 +103,6 @@ type
FLastClickPoint : TPoint;
FLastClickButton : TMouseButton;
FJSDialogInfoCS : TCriticalSection;
FOriginUrl : ustring;
FMessageText : ustring;
FDefaultPromptText : ustring;
FPendingDlg : boolean;
FDialogType : TCefJsDialogType;
FCallback : ICefJsDialogCallback;
function getModifiers(Shift: TShiftState): TCefEventFlags;
function GetButton(Button: TMouseButton): TCefMouseButtonType;
procedure DoResize;
@ -134,7 +125,6 @@ type
procedure PendingResizeMsg(var aMessage : TMessage); message CEF_PENDINGRESIZE;
procedure RangeChangedMsg(var aMessage : TMessage); message CEF_IMERANGECHANGED;
procedure FocusEnabledMsg(var aMessage : TMessage); message CEF_FOCUSENABLED;
procedure ShowJSDialogMsg(var aMessage: TMessage); message CEFBROWSER_SHOWJSDIALOG;
public
{ Public declarations }
@ -736,14 +726,6 @@ procedure TForm1.FormCreate(Sender: TObject);
var
TempMajorVer, TempMinorVer : DWORD;
begin
FJSDialogInfoCS := TCriticalSection.Create;
FOriginUrl := '';
FMessageText := '';
FDefaultPromptText := '';
FPendingDlg := False;
FDialogType := JSDIALOGTYPE_ALERT;
FCallback := nil;
FPopUpBitmap := nil;
FPopUpRect := rect(0, 0, 0, 0);
FShowPopUp := False;
@ -772,14 +754,11 @@ end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FCallback := nil;
chrmosr.ShutdownDragAndDrop;
if (FPopUpBitmap <> nil) then FreeAndNil(FPopUpBitmap);
if (FResizeCS <> nil) then FreeAndNil(FResizeCS);
if (FIMECS <> nil) then FreeAndNil(FIMECS);
if (FJSDialogInfoCS <> nil) then FreeAndNil(FJSDialogInfoCS);
if (FDeviceBounds <> nil) then
begin
@ -1194,36 +1173,6 @@ begin
end;
end;
procedure TForm1.ShowJSDialogMsg(var aMessage : TMessage);
var
TempCaption : string;
begin
// Here we show the dialog and reset the information.
// showmessage, MessageDlg and InputBox should be replaced by nicer custom forms with the same functionality.
FJSDialogInfoCS.Acquire;
if FPendingDlg then
begin
TempCaption := 'JavaScript message from : ' + FOriginUrl;
case FDialogType of
JSDIALOGTYPE_ALERT : showmessage(TempCaption + CRLF + CRLF + FMessageText);
JSDIALOGTYPE_CONFIRM : FCallback.cont((MessageDlg(TempCaption + CRLF + CRLF + FMessageText, mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes), '');
JSDIALOGTYPE_PROMPT : FCallback.cont(True, InputBox(TempCaption, FMessageText, FDefaultPromptText));
end;
end;
FOriginUrl := '';
FMessageText := '';
FDefaultPromptText := '';
FPendingDlg := False;
FDialogType := JSDIALOGTYPE_ALERT;
FCallback := nil;
FJSDialogInfoCS.Release;
end;
procedure TForm1.FocusEnabledMsg(var aMessage : TMessage);
begin
if Panel1.Focused then
@ -1363,36 +1312,6 @@ begin
end;
end;
procedure TForm1.chrmosrJsdialog(Sender: TObject; const browser: ICefBrowser;
const originUrl: ustring; dialogType: TCefJsDialogType; const messageText,
defaultPromptText: ustring; const callback: ICefJsDialogCallback;
out suppressMessage, Result: Boolean);
begin
// In this event we must store the dialog information and post a message to the main form to show the dialog
FJSDialogInfoCS.Acquire;
if FPendingDlg then
begin
Result := False;
suppressMessage := True;
end
else
begin
FOriginUrl := originUrl;
FMessageText := messageText;
FDefaultPromptText := defaultPromptText;
FDialogType := dialogType;
FCallback := callback;
FPendingDlg := True;
Result := True;
suppressMessage := False;
PostMessage(Handle, CEFBROWSER_SHOWJSDIALOG, 0, 0);
end;
FJSDialogInfoCS.Release;
end;
procedure TForm1.Panel1IMECancelComposition(Sender: TObject);
begin
chrmosr.IMECancelComposition;

View File

@ -21,7 +21,7 @@
</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."/>
<License Value="MPL 1.1"/>
<Version Major="135" Release="15"/>
<Version Major="135" Release="17"/>
<Files Count="215">
<Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@ -1,12 +1,12 @@
CEF_SUPPORTED_VERSION_MAJOR = 135;
CEF_SUPPORTED_VERSION_MINOR = 0;
CEF_SUPPORTED_VERSION_RELEASE = 15;
CEF_SUPPORTED_VERSION_RELEASE = 17;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = CEF_SUPPORTED_VERSION_MAJOR;
CEF_CHROMEELF_VERSION_MINOR = 0;
CEF_CHROMEELF_VERSION_RELEASE = 7049;
CEF_CHROMEELF_VERSION_BUILD = 41;
CEF_CHROMEELF_VERSION_BUILD = 52;
// values defined in cef_api_versions.json
CEF_API_VERSION_MIN = 13300;

View File

@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
"InternalVersion" : 722,
"InternalVersion" : 723,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "135.0.15"
"Version" : "135.0.17"
}
],
"UpdatePackageData" : {