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 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 : 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) * [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.27%2Bgd2449e5%2Bchromium-79.0.3945.117_windows64.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. 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, FMX.Graphics,
{$ENDIF} {$ENDIF}
uCEFFMXChromium, uCEFFMXBufferPanel, uCEFFMXWorkScheduler, uCEFFMXChromium, uCEFFMXBufferPanel, uCEFFMXWorkScheduler,
uCEFInterfaces, uCEFTypes, uCEFConstants; uCEFInterfaces, uCEFTypes, uCEFConstants, uCEFChromiumCore;
type type
TFMXExternalPumpBrowserFrm = class(TForm) TFMXExternalPumpBrowserFrm = class(TForm)
@ -350,6 +350,23 @@ begin
else else
if (Key <> 0) and (KeyChar = #0) then if (Key <> 0) and (KeyChar = #0) then
begin 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.kind := KEYEVENT_KEYUP;
TempKeyEvent.modifiers := getModifiers(Shift); TempKeyEvent.modifiers := getModifiers(Shift);
TempKeyEvent.windows_key_code := Key; TempKeyEvent.windows_key_code := Key;

View File

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

View File

@ -53,6 +53,7 @@ uses
const const
CEF_CHILDDESTROYED = WM_APP + $100; CEF_CHILDDESTROYED = WM_APP + $100;
CEF_INITIALIZED = WM_APP + $101; CEF_INITIALIZED = WM_APP + $101;
CEF_SHOWBROWSER = WM_APP + $102;
type type
TMainForm = class(TForm) TMainForm = class(TForm)
@ -92,7 +93,6 @@ type
public public
procedure DoCEFInitialized; procedure DoCEFInitialized;
procedure DoChildDestroyed;
procedure SendChildDestroyedMsg; procedure SendChildDestroyedMsg;
property ChildClosing : boolean read GetChildClosing; property ChildClosing : boolean read GetChildClosing;
@ -211,8 +211,15 @@ begin
UpdateCustomWindowState; UpdateCustomWindowState;
end; end;
CEF_INITIALIZED : DoCEFInitialized; CEF_CHILDDESTROYED :
CEF_CHILDDESTROYED : DoChildDestroyed; 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;
end; end;
aMessage.Result := CallWindowProc(FOldWndPrc, FmxHandleToHWND(Handle), aMessage.Msg, aMessage.wParam, aMessage.lParam); aMessage.Result := CallWindowProc(FOldWndPrc, FmxHandleToHWND(Handle), aMessage.Msg, aMessage.wParam, aMessage.lParam);
@ -402,16 +409,6 @@ begin
cursor := crDefault; cursor := crDefault;
end; 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; procedure TMainForm.SendChildDestroyedMsg;
begin begin
PostCustomMessage(CEF_CHILDDESTROYED); 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 // 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. // another domain which will take a little time too.
// This demo uses a TFMXChromium and a TFMXWindowParent. // This demo uses a TFMXChromium and a TFMXWindowParent. It replaces the original WndProc with a
// TFMXApplicationService is used to handle custom Windows messages // custom CustomWndProc procedure to handle Windows messages.
// All FMX applications using CEF4Delphi should add the $(FrameworkType) conditional define // All FMX applications using CEF4Delphi should add the $(FrameworkType) conditional define
// in the project options to avoid duplicated resources. // in the project options to avoid duplicated resources.

View File

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

View File

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

View File

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