You've already forked CEF4Delphi
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:
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 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.
|
||||
|
||||
|
@ -120,7 +120,6 @@ object Form1: TForm1
|
||||
OnCanFocus = chrmosrCanFocus
|
||||
OnTooltip = chrmosrTooltip
|
||||
OnCursorChange = chrmosrCursorChange
|
||||
OnJsdialog = chrmosrJsdialog
|
||||
OnBeforePopup = chrmosrBeforePopup
|
||||
OnAfterCreated = chrmosrAfterCreated
|
||||
OnBeforeClose = chrmosrBeforeClose
|
||||
|
@ -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;
|
||||
|
@ -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"/>
|
||||
|
@ -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;
|
||||
|
@ -2,9 +2,9 @@
|
||||
"UpdateLazPackages" : [
|
||||
{
|
||||
"ForceNotify" : true,
|
||||
"InternalVersion" : 722,
|
||||
"InternalVersion" : 723,
|
||||
"Name" : "cef4delphi_lazarus.lpk",
|
||||
"Version" : "135.0.15"
|
||||
"Version" : "135.0.17"
|
||||
}
|
||||
],
|
||||
"UpdatePackageData" : {
|
||||
|
Reference in New Issue
Block a user