1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-05-13 21:46:53 +02:00

Update to CEF 79.1.31

- Fixed an issue with the RETURN key not working in the FMXExternalPumpBrowser demo.
- Moved CEF_SHOWBROWSER constant to the main form unit and removed the DoChildDestroyed procedure in the FMXToolBoxBrowser demo.
- Removed references to the TFMXApplicationService in the SimpleFMXBrowser demo comments.
This commit is contained in:
Salvador Díaz Fau 2020-01-17 11:39:27 +01:00
parent 91a845e42f
commit ec244b75d1
8 changed files with 37 additions and 26 deletions

View File

@ -3,10 +3,10 @@ CEF4Delphi is an open source project created by Salvador D
CEF4Delphi is based on DCEF3, made by Henri Gourvest. The original license of DCEF3 still applies to CEF4Delphi. Read the license terms in the first lines of any *.pas file.
CEF4Delphi uses CEF 79.1.27 which includes Chromium 79.0.3945.117.
CEF4Delphi uses CEF 79.1.31 which includes Chromium 79.0.3945.117.
The CEF binaries used by CEF4Delphi are available for download at spotify :
* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_79.1.27%2Bgd2449e5%2Bchromium-79.0.3945.117_windows32.tar.bz2)
* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_79.1.27%2Bgd2449e5%2Bchromium-79.0.3945.117_windows64.tar.bz2)
* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_79.1.31%2Bgfc9ef34%2Bchromium-79.0.3945.117_windows32.tar.bz2)
* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_79.1.31%2Bgfc9ef34%2Bchromium-79.0.3945.117_windows64.tar.bz2)
CEF4Delphi was developed and tested on Delphi 10.3 Rio and it has been tested in Delphi 7, Delphi XE, Delphi 10, Delphi 10.2 and Lazarus 2.0.6/FPC 3.0.4. CEF4Delphi includes VCL, FireMonkey (FMX) and Lazarus components.

View File

@ -52,7 +52,7 @@ uses
FMX.Graphics,
{$ENDIF}
uCEFFMXChromium, uCEFFMXBufferPanel, uCEFFMXWorkScheduler,
uCEFInterfaces, uCEFTypes, uCEFConstants;
uCEFInterfaces, uCEFTypes, uCEFConstants, uCEFChromiumCore;
type
TFMXExternalPumpBrowserFrm = class(TForm)
@ -350,6 +350,23 @@ begin
else
if (Key <> 0) and (KeyChar = #0) then
begin
if (Key = VK_RETURN) then
begin
// FMX doesn't trigger this event with a KeyChar<>0
// to send a KEYEVENT_CHAR event for the VK_RETURN key.
// We add it manually before the KEYEVENT_KEYUP event.
TempKeyEvent.kind := KEYEVENT_CHAR;
TempKeyEvent.modifiers := getModifiers(Shift);
TempKeyEvent.windows_key_code := VK_RETURN;
TempKeyEvent.native_key_code := 0;
TempKeyEvent.is_system_key := ord(False);
TempKeyEvent.character := #0;
TempKeyEvent.unmodified_character := #0;
TempKeyEvent.focus_on_editable_field := ord(False);
chrmosr.SendKeyEvent(@TempKeyEvent);
end;
TempKeyEvent.kind := KEYEVENT_KEYUP;
TempKeyEvent.modifiers := getModifiers(Shift);
TempKeyEvent.windows_key_code := Key;

View File

@ -48,9 +48,6 @@ uses
uCEFFMXChromium, uCEFFMXWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes,
uCEFChromiumCore;
const
CEF_SHOWBROWSER = WM_APP + $101;
type
TChildForm = class(TForm)
FMXChromium1: TFMXChromium;

View File

@ -53,6 +53,7 @@ uses
const
CEF_CHILDDESTROYED = WM_APP + $100;
CEF_INITIALIZED = WM_APP + $101;
CEF_SHOWBROWSER = WM_APP + $102;
type
TMainForm = class(TForm)
@ -92,7 +93,6 @@ type
public
procedure DoCEFInitialized;
procedure DoChildDestroyed;
procedure SendChildDestroyedMsg;
property ChildClosing : boolean read GetChildClosing;
@ -211,8 +211,15 @@ begin
UpdateCustomWindowState;
end;
CEF_CHILDDESTROYED :
if FClosing and (ChildFormCount = 0) then
begin
// If there are no more child forms we can destroy the main form
FCanClose := True;
PostCustomMessage(WM_CLOSE);
end;
CEF_INITIALIZED : DoCEFInitialized;
CEF_CHILDDESTROYED : DoChildDestroyed;
end;
aMessage.Result := CallWindowProc(FOldWndPrc, FmxHandleToHWND(Handle), aMessage.Msg, aMessage.wParam, aMessage.lParam);
@ -402,16 +409,6 @@ begin
cursor := crDefault;
end;
procedure TMainForm.DoChildDestroyed;
begin
// If there are no more child forms we can destroy the main form
if FClosing and (ChildFormCount = 0) then
begin
FCanClose := True;
PostCustomMessage(WM_CLOSE);
end;
end;
procedure TMainForm.SendChildDestroyedMsg;
begin
PostCustomMessage(CEF_CHILDDESTROYED);

View File

@ -137,8 +137,8 @@ implementation
// or the domain "google.com". If you don't live in the US, you'll be redirected to
// another domain which will take a little time too.
// This demo uses a TFMXChromium and a TFMXWindowParent.
// TFMXApplicationService is used to handle custom Windows messages
// This demo uses a TFMXChromium and a TFMXWindowParent. It replaces the original WndProc with a
// custom CustomWndProc procedure to handle Windows messages.
// All FMX applications using CEF4Delphi should add the $(FrameworkType) conditional define
// in the project options to avoid duplicated resources.

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="79" Minor="1" Release="27"/>
<Version Major="79" Minor="1" Release="31"/>
<Files Count="147">
<Item1>
<Filename Value="..\source\uCEFAccessibilityHandler.pas"/>

View File

@ -62,7 +62,7 @@ uses
const
CEF_SUPPORTED_VERSION_MAJOR = 79;
CEF_SUPPORTED_VERSION_MINOR = 1;
CEF_SUPPORTED_VERSION_RELEASE = 27;
CEF_SUPPORTED_VERSION_RELEASE = 31;
CEF_SUPPORTED_VERSION_BUILD = 0;
CEF_CHROMEELF_VERSION_MAJOR = 79;

View File

@ -2,9 +2,9 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
"InternalVersion" : 82,
"InternalVersion" : 83,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "79.1.27.0"
"Version" : "79.1.31.0"
}
],
"UpdatePackageData" : {