diff --git a/README.md b/README.md index 5fce9f8b..47f9ad0f 100644 --- a/README.md +++ b/README.md @@ -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.38 which includes Chromium 79.0.3945.130. +CEF4Delphi uses CEF 80.0.4 which includes Chromium 80.0.3987.122. The CEF binaries used by CEF4Delphi are available for download at spotify : -* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_79.1.38%2Bgecefb59%2Bchromium-79.0.3945.130_windows32.tar.bz2) -* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_79.1.38%2Bgecefb59%2Bchromium-79.0.3945.130_windows64.tar.bz2) +* [32 bits](http://opensource.spotify.com/cefbuilds/cef_binary_80.0.4%2Bg74f7b0c%2Bchromium-80.0.3987.122_windows32.tar.bz2) +* [64 bits](http://opensource.spotify.com/cefbuilds/cef_binary_80.0.4%2Bg74f7b0c%2Bchromium-80.0.3987.122_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. diff --git a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas index dda114fa..c5078c45 100644 --- a/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas +++ b/demos/Delphi_FMX/FMXExternalPumpBrowser/uFMXExternalPumpBrowser.pas @@ -462,7 +462,7 @@ begin begin TempPoint.x := round(TempPointF.x); TempPoint.y := round(TempPointF.y); - TempPoint := Panel1.ScreenToclient(TempPoint); + TempPoint := Panel1.ScreenToClient(TempPoint); if CancelPreviousClick(TempPoint.x, TempPoint.y, TempTime) then InitializeLastClick; @@ -513,12 +513,17 @@ procedure TFMXExternalPumpBrowserFrm.Panel1MouseWheel( Sender : TObject; var Handled : Boolean); var TempEvent : TCefMouseEvent; + TempPoint : TPoint; TempPointF : TPointF; begin if Panel1.IsFocused and (GlobalCEFApp <> nil) and (chrmosr <> nil) and GetMousePosition(TempPointF) then begin - TempEvent.x := round(TempPointF.x); - TempEvent.y := round(TempPointF.y); + TempPoint.x := round(TempPointF.x); + TempPoint.y := round(TempPointF.y); + TempPoint := Panel1.ScreenToClient(TempPoint); + + TempEvent.x := TempPoint.x; + TempEvent.y := TempPoint.y; TempEvent.modifiers := getModifiers(Shift); chrmosr.SendMouseWheelEvent(@TempEvent, 0, WheelDelta); end; @@ -551,12 +556,9 @@ procedure TFMXExternalPumpBrowserFrm.chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser); begin // Now the browser is fully initialized we can enable the UI. - TThread.Queue(nil, procedure - begin - Caption := 'FMX External Pump Browser'; - AddressPnl.Enabled := True; - Panel1.SetFocus; - end); + Caption := 'FMX External Pump Browser'; + AddressPnl.Enabled := True; + Panel1.SetFocus; end; procedure TFMXExternalPumpBrowserFrm.chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser); @@ -837,8 +839,8 @@ begin begin FPopUpRect.Left := rect.x; FPopUpRect.Top := rect.y; - FPopUpRect.Right := rect.x + LogicalToDevice(rect.width, GlobalCEFApp.DeviceScaleFactor) - 1; - FPopUpRect.Bottom := rect.y + LogicalToDevice(rect.height, GlobalCEFApp.DeviceScaleFactor) - 1; + FPopUpRect.Right := rect.x + rect.width - 1; + FPopUpRect.Bottom := rect.y + rect.height - 1; end; end; @@ -1129,7 +1131,7 @@ end; procedure TFMXExternalPumpBrowserFrm.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas index c84dc743..410763e9 100644 --- a/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas +++ b/demos/Delphi_FMX/FMXTabbedOSRBrowser/uBrowserFrame.pas @@ -497,12 +497,17 @@ procedure TBrowserFrame.FMXBufferPanel1MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; var Handled: Boolean); var TempEvent : TCefMouseEvent; + TempPoint : TPoint; TempPointF : TPointF; begin if FMXBufferPanel1.IsFocused and GetMousePosition(TempPointF) then begin - TempEvent.x := round(TempPointF.x); - TempEvent.y := round(TempPointF.y); + TempPoint.x := round(TempPointF.x); + TempPoint.y := round(TempPointF.y); + TempPoint := FMXBufferPanel1.ScreenToClient(TempPoint); + + TempEvent.x := TempPoint.x; + TempEvent.y := TempPoint.y; TempEvent.modifiers := getModifiers(Shift); FMXChromium1.SendMouseWheelEvent(@TempEvent, 0, WheelDelta); end; @@ -929,7 +934,7 @@ end; procedure TBrowserFrame.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Delphi_VCL/ConsoleBrowser/uWebBrowser.pas b/demos/Delphi_VCL/ConsoleBrowser/uWebBrowser.pas index 30c64a51..b157b2e4 100644 --- a/demos/Delphi_VCL/ConsoleBrowser/uWebBrowser.pas +++ b/demos/Delphi_VCL/ConsoleBrowser/uWebBrowser.pas @@ -50,7 +50,8 @@ uses Windows, Messages, SysUtils, Variants, Classes, SyncObjs, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, AppEvnts, {$ENDIF} - uCEFChromium, uCEFTypes, uCEFInterfaces, uCEFConstants, uCEFBufferPanel; + uCEFChromium, uCEFTypes, uCEFInterfaces, uCEFConstants, uCEFBufferPanel, + uCEFChromiumCore; type TWebBrowserFrm = class(TForm) @@ -785,7 +786,7 @@ end; procedure TWebBrowserFrm.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Delphi_VCL/FullScreenBrowser/FullScreenBrowser.dproj b/demos/Delphi_VCL/FullScreenBrowser/FullScreenBrowser.dproj index 9482c7b9..27d44919 100644 --- a/demos/Delphi_VCL/FullScreenBrowser/FullScreenBrowser.dproj +++ b/demos/Delphi_VCL/FullScreenBrowser/FullScreenBrowser.dproj @@ -1,7 +1,7 @@  {B2A6A29E-496B-414A-9E29-B50B35C5BAF0} - 18.5 + 18.8 VCL FullScreenBrowser.dpr True @@ -178,12 +178,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -196,96 +204,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -374,6 +528,9 @@ 0 + + 0 + 0 @@ -406,6 +563,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -417,6 +585,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -428,6 +629,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -439,6 +695,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -472,10 +838,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -568,6 +959,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -592,6 +987,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -629,6 +1030,7 @@ + True diff --git a/demos/Delphi_VCL/FullScreenBrowser/uMainForm.dfm b/demos/Delphi_VCL/FullScreenBrowser/uMainForm.dfm index 6cdeddbe..ae4f530f 100644 --- a/demos/Delphi_VCL/FullScreenBrowser/uMainForm.dfm +++ b/demos/Delphi_VCL/FullScreenBrowser/uMainForm.dfm @@ -45,9 +45,4 @@ object MainForm: TMainForm Left = 272 Top = 120 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 328 - Top = 120 - end end diff --git a/demos/Delphi_VCL/FullScreenBrowser/uMainForm.pas b/demos/Delphi_VCL/FullScreenBrowser/uMainForm.pas index b188bfdd..6142f3d0 100644 --- a/demos/Delphi_VCL/FullScreenBrowser/uMainForm.pas +++ b/demos/Delphi_VCL/FullScreenBrowser/uMainForm.pas @@ -49,14 +49,13 @@ uses Controls, Forms, Dialogs, {$ENDIF} uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFTypes, uCEFConstants, - Vcl.ExtCtrls, uCEFWinControl, uCEFSentinel; + Vcl.ExtCtrls, uCEFWinControl, uCEFSentinel, uCEFChromiumCore; type TMainForm = class(TForm) CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure Chromium1PreKeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg; out isKeyboardShortcut, Result: Boolean); @@ -81,7 +80,6 @@ type const browser: ICefBrowser); procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction); - procedure CEFSentinel1Close(Sender: TObject); private { Private declarations } protected @@ -118,8 +116,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; begin @@ -166,12 +163,6 @@ begin if (TempKeyMsg.CharCode = VK_ESCAPE) then aHandled := True; end; -procedure TMainForm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TMainForm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -179,7 +170,8 @@ end; procedure TMainForm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TMainForm.Chromium1BeforePopup(Sender: TObject; diff --git a/demos/Delphi_VCL/JavaScript/CustomTitleBar/CustomTitleBar.dproj b/demos/Delphi_VCL/JavaScript/CustomTitleBar/CustomTitleBar.dproj index 4d918269..94f11903 100644 --- a/demos/Delphi_VCL/JavaScript/CustomTitleBar/CustomTitleBar.dproj +++ b/demos/Delphi_VCL/JavaScript/CustomTitleBar/CustomTitleBar.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL CustomTitleBar.dpr True @@ -172,13 +172,13 @@ - JSRTTIExtension.exe true + 1 @@ -196,12 +196,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -214,12 +222,26 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + @@ -232,84 +254,216 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -398,6 +552,9 @@ 0 + + 0 + 0 @@ -430,6 +587,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -441,6 +609,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -452,6 +653,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -463,6 +719,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -496,10 +862,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -602,6 +993,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -626,6 +1021,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -664,6 +1065,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.dfm b/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.dfm index d1fcc8fb..b2763dc6 100644 --- a/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.dfm +++ b/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.dfm @@ -25,9 +25,6 @@ object CTBForm: TCTBForm Height = 628 Align = alClient TabOrder = 0 - ExplicitTop = 30 - ExplicitWidth = 978 - ExplicitHeight = 540 end object Chromium1: TChromium OnProcessMessageReceived = Chromium1ProcessMessageReceived @@ -48,11 +45,6 @@ object CTBForm: TCTBForm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 352 - end object Timer2: TTimer Enabled = False Interval = 1 diff --git a/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.pas b/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.pas index 7c665aac..818c4caa 100644 --- a/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.pas +++ b/demos/Delphi_VCL/JavaScript/CustomTitleBar/uCustomTitleBarExtension.pas @@ -53,7 +53,7 @@ uses {$ENDIF} uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants, - uCEFWinControl, uCEFSentinel; + uCEFWinControl, uCEFSentinel, uCEFChromiumCore; const MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $100; @@ -75,7 +75,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; Timer2: TTimer; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); @@ -105,7 +104,6 @@ type procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction: TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); procedure executeJS(frame: ICefFrame); procedure Timer2Timer(Sender: TObject); @@ -176,8 +174,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnWebKitInitialized; begin @@ -206,12 +203,6 @@ begin Chromium1.LoadURL('file:///app_view.html'); end; -procedure TCTBForm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TCTBForm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin @@ -368,7 +359,6 @@ begin if (message.Name = MOUSEOVER_MESSAGE_NAME) then begin - tp := Mouse.CursorPos; tp := CTBForm.ScreenToClient(tp); mouseDrag := False; @@ -400,19 +390,16 @@ begin begin CTBForm.close; end; - end; procedure TCTBForm.FormShow(Sender: TObject); begin - Chromium1.DefaultURL := 'file:///app_view.html'; // GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser // If it's not initialized yet, we use a simple timer to create the browser later. if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True; - end; procedure TCTBForm.WMMove(var aMessage: TWMMove); @@ -448,15 +435,14 @@ end; procedure TCTBForm.BrowserCreatedMsg(var aMessage: TMessage); begin - CEFWindowParent1.UpdateSize; - end; procedure TCTBForm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TCTBForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; diff --git a/demos/Delphi_VCL/JavaScript/JSDialog/JSDialogBrowser.dproj b/demos/Delphi_VCL/JavaScript/JSDialog/JSDialogBrowser.dproj index 3a92dd2a..32f5258b 100644 --- a/demos/Delphi_VCL/JavaScript/JSDialog/JSDialogBrowser.dproj +++ b/demos/Delphi_VCL/JavaScript/JSDialog/JSDialogBrowser.dproj @@ -1,7 +1,7 @@  {55E00327-9D98-4DA3-A4E1-844942A01C6B} - 18.5 + 18.8 VCL JSDialogBrowser.dpr True @@ -186,12 +186,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -204,96 +212,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -382,6 +536,9 @@ 0 + + 0 + 0 @@ -414,6 +571,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -425,6 +593,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -436,6 +637,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -447,6 +703,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -480,10 +846,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -576,6 +967,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -600,6 +995,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -637,6 +1038,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.dfm b/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.dfm index fed2877c..c837e2fc 100644 --- a/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.dfm +++ b/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.dfm @@ -72,9 +72,4 @@ object JSDialogBrowserFrm: TJSDialogBrowserFrm Left = 56 Top = 88 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 56 - Top = 152 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.pas b/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.pas index 4ae04bb2..01ba41dc 100644 --- a/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.pas +++ b/demos/Delphi_VCL/JavaScript/JSDialog/uJSDialogBrowser.pas @@ -62,7 +62,6 @@ type AddressEdt: TEdit; GoBtn: TButton; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure GoBtnClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure ChromiumWindow1AfterCreated(Sender: TObject); @@ -116,8 +115,7 @@ uses // ================= // 1. The FormCloseQuery event sets CanClose to False and calls TChromiumWindow.CloseBrowser, which triggers the TChromiumWindow.OnClose event. // 2. The TChromiumWindow.OnClose event calls TChromiumWindow.DestroyChildWindow which triggers the TChromiumWindow.OnBeforeClose event. -// 3. TChromiumWindow.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromiumWindow.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; begin @@ -257,13 +255,18 @@ end; procedure TJSDialogBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSDialogBrowserFrm.ChromiumWindow1Close(Sender: TObject); begin // DestroyChildWindow will destroy the child window created by CEF at the top of the Z order. - if not(ChromiumWindow1.DestroyChildWindow) then CEFSentinel1.Start; + if not(ChromiumWindow1.DestroyChildWindow) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; procedure TJSDialogBrowserFrm.Chromium_OnBeforePopup(Sender: TObject; diff --git a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/JSExecutingFunctions.dproj b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/JSExecutingFunctions.dproj index 19ce3656..87c6c8a1 100644 --- a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/JSExecutingFunctions.dproj +++ b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/JSExecutingFunctions.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL JSExecutingFunctions.dpr True @@ -188,12 +188,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -206,96 +214,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -384,6 +538,9 @@ 0 + + 0 + 0 @@ -416,6 +573,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -427,6 +595,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -438,6 +639,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -449,6 +705,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -482,10 +848,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -578,6 +969,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -602,6 +997,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -639,6 +1040,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.dfm b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.dfm index d5d809ba..826440ec 100644 --- a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.dfm +++ b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.dfm @@ -79,10 +79,4 @@ object JSExecutingFunctionsFrm: TJSExecutingFunctionsFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - MinInitDelayMs = 2000 - OnClose = CEFSentinel1Close - Left = 32 - Top = 360 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas index 73301f52..a83d4f07 100644 --- a/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas +++ b/demos/Delphi_VCL/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas @@ -66,7 +66,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -93,7 +92,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -137,8 +135,7 @@ implementation // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. uses uCEFProcessMessage, uMyV8Handler; @@ -185,12 +182,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSExecutingFunctionsFrm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSExecutingFunctionsFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -199,7 +190,8 @@ end; procedure TJSExecutingFunctionsFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSExecutingFunctionsFrm.Chromium1BeforeContextMenu( diff --git a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.dproj b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.dproj index aa6e77e6..7ff082be 100644 --- a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.dproj +++ b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL JSExtensionWithFunction.dpr True @@ -188,12 +188,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -206,96 +214,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -384,6 +538,9 @@ 0 + + 0 + 0 @@ -416,6 +573,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -427,6 +595,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -438,6 +639,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -449,6 +705,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -482,10 +848,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -578,6 +969,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -602,6 +997,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -639,6 +1040,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.dfm b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.dfm index f58c6095..d668e4cf 100644 --- a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.dfm +++ b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.dfm @@ -87,9 +87,4 @@ object JSExtensionWithFunctionFrm: TJSExtensionWithFunctionFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 352 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas index d2f52069..979eca72 100644 --- a/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas +++ b/demos/Delphi_VCL/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas @@ -61,7 +61,6 @@ type Chromium1: TChromium; Timer1: TTimer; StatusBar1: TStatusBar; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -83,7 +82,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -162,12 +160,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSExtensionWithFunctionFrm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSExtensionWithFunctionFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -176,7 +168,8 @@ end; procedure TJSExtensionWithFunctionFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSExtensionWithFunctionFrm.Chromium1BeforePopup(Sender: TObject; diff --git a/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.dproj b/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.dproj index 11ad80f9..05044151 100644 --- a/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.dproj +++ b/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL JSExtensionWithObjectParameter.dpr True @@ -164,13 +164,13 @@ - JSExtensionWithObjectParameter.exe true + 1 @@ -188,12 +188,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -206,96 +214,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -384,6 +538,9 @@ 0 + + 0 + 0 @@ -416,6 +573,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -427,6 +595,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -438,6 +639,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -449,6 +705,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -482,10 +848,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -578,6 +969,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -602,6 +997,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -639,6 +1040,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.dfm b/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.dfm index 0277d1b0..19e1706f 100644 --- a/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.dfm +++ b/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.dfm @@ -76,9 +76,4 @@ object JSExtensionWithObjectParameterFrm: TJSExtensionWithObjectParameterFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 352 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas b/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas index 28022cdf..03a5856e 100644 --- a/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas +++ b/demos/Delphi_VCL/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas @@ -50,7 +50,7 @@ uses Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, {$ENDIF} uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants, - uCEFWinControl, uCEFSentinel; + uCEFWinControl, uCEFSentinel, uCEFChromiumCore; type TJSExtensionWithObjectParameterFrm = class(TForm) @@ -60,7 +60,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -79,7 +78,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -122,8 +120,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. {$IFDEF DELPHI12_UP}procedure {$ELSE}class procedure TJSSimpleExtensionFrm.{$ENDIF}GlobalCEFApp_OnWebKitInitializedEvent; @@ -165,13 +162,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSExtensionWithObjectParameterFrm.CEFSentinel1Close( - Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSExtensionWithObjectParameterFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -180,7 +170,8 @@ end; procedure TJSExtensionWithObjectParameterFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSExtensionWithObjectParameterFrm.Chromium1BeforePopup( diff --git a/demos/Delphi_VCL/JavaScript/JSSimpleExtension/JSSimpleExtension.dproj b/demos/Delphi_VCL/JavaScript/JSSimpleExtension/JSSimpleExtension.dproj index fb207a44..368f502c 100644 --- a/demos/Delphi_VCL/JavaScript/JSSimpleExtension/JSSimpleExtension.dproj +++ b/demos/Delphi_VCL/JavaScript/JSSimpleExtension/JSSimpleExtension.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL JSSimpleExtension.dpr True @@ -223,12 +223,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -241,96 +249,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -419,6 +573,9 @@ 0 + + 0 + 0 @@ -451,6 +608,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -462,6 +630,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -473,6 +674,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -484,6 +740,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -517,10 +883,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -613,6 +1004,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -637,6 +1032,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -674,6 +1075,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.dfm b/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.dfm index 82d23110..3435c774 100644 --- a/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.dfm +++ b/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.dfm @@ -76,9 +76,4 @@ object JSSimpleExtensionFrm: TJSSimpleExtensionFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 344 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas b/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas index 4022a63b..87385f80 100644 --- a/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas +++ b/demos/Delphi_VCL/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas @@ -50,7 +50,7 @@ uses Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, {$ENDIF} uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants, - uCEFWinControl, uCEFSentinel; + uCEFWinControl, uCEFSentinel, uCEFChromiumCore; type TJSSimpleExtensionFrm = class(TForm) @@ -60,7 +60,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -79,7 +78,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -119,8 +117,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. {$IFDEF DELPHI12_UP}procedure {$ELSE}class procedure TJSSimpleExtensionFrm.{$ENDIF}GlobalCEFApp_OnWebKitInitializedEvent; @@ -152,12 +149,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSSimpleExtensionFrm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSSimpleExtensionFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -229,7 +220,8 @@ end; procedure TJSSimpleExtensionFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSSimpleExtensionFrm.Chromium1Close( diff --git a/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/JSSimpleWindowBinding.dproj b/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/JSSimpleWindowBinding.dproj index c4114205..1b2b0c89 100644 --- a/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/JSSimpleWindowBinding.dproj +++ b/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/JSSimpleWindowBinding.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL JSSimpleWindowBinding.dpr True @@ -187,12 +187,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -205,96 +213,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -383,6 +537,9 @@ 0 + + 0 + 0 @@ -415,6 +572,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -426,6 +594,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -437,6 +638,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -448,6 +704,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -481,10 +847,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -577,6 +968,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -601,6 +996,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -638,6 +1039,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.dfm b/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.dfm index 001fdecb..55816cca 100644 --- a/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.dfm +++ b/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.dfm @@ -76,9 +76,4 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 344 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas b/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas index 44d5e7a4..879c8610 100644 --- a/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas +++ b/demos/Delphi_VCL/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas @@ -50,7 +50,7 @@ uses Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, {$ENDIF} uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, - uCEFConstants, uCEFv8Value, uCEFWinControl, uCEFSentinel; + uCEFConstants, uCEFv8Value, uCEFWinControl, uCEFSentinel, uCEFChromiumCore; type TJSSimpleWindowBindingFrm = class(TForm) @@ -60,7 +60,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -79,7 +78,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -114,8 +112,7 @@ implementation // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); var @@ -140,12 +137,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSSimpleWindowBindingFrm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSSimpleWindowBindingFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -217,7 +208,8 @@ end; procedure TJSSimpleWindowBindingFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSSimpleWindowBindingFrm.Chromium1Close( diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.dfm b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.dfm index fcea4705..8a48eb21 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.dfm +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.dfm @@ -76,9 +76,4 @@ object JSWindowBindingWithArrayBufferFrm: TJSWindowBindingWithArrayBufferFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 344 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas index af5ebbfd..7f7125a2 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas @@ -50,7 +50,7 @@ uses Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls, {$ENDIF} uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants, - uCEFWinControl, uCEFSentinel; + uCEFWinControl, uCEFSentinel, uCEFChromiumCore; type TJSWindowBindingWithArrayBufferFrm = class(TForm) @@ -60,7 +60,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -79,7 +78,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -117,8 +115,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure FreeCustomArrayBufer(buffer : Pointer); begin @@ -165,13 +162,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSWindowBindingWithArrayBufferFrm.CEFSentinel1Close( - Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSWindowBindingWithArrayBufferFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -243,7 +233,8 @@ end; procedure TJSWindowBindingWithArrayBufferFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSWindowBindingWithArrayBufferFrm.Chromium1Close( diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.dproj b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.dproj index fe1f0b1c..83407688 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.dproj +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL JSWindowBindingWithFunction.dpr True @@ -188,12 +188,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -206,96 +214,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -384,6 +538,9 @@ 0 + + 0 + 0 @@ -416,6 +573,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -427,6 +595,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -438,6 +639,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -449,6 +705,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -482,10 +848,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -578,6 +969,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -602,6 +997,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -639,6 +1040,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.dfm b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.dfm index 985eec52..1b4a4075 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.dfm +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.dfm @@ -76,9 +76,4 @@ object JSWindowBindingWithFunctionFrm: TJSWindowBindingWithFunctionFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 352 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas index de363ee7..6d8ab81f 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas @@ -60,7 +60,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -79,7 +78,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -117,8 +115,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); var @@ -145,13 +142,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSWindowBindingWithFunctionFrm.CEFSentinel1Close( - Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSWindowBindingWithFunctionFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -223,7 +213,8 @@ end; procedure TJSWindowBindingWithFunctionFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSWindowBindingWithFunctionFrm.Chromium1Close( diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.dproj b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.dproj index 34786d6e..fb2c594d 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.dproj +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.dproj @@ -1,7 +1,7 @@  {7AA32B92-A408-42CB-A571-383721053FFA} - 18.5 + 18.8 VCL JSWindowBindingWithObject.dpr True @@ -188,12 +188,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -206,96 +214,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -384,6 +538,9 @@ 0 + + 0 + 0 @@ -416,6 +573,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -427,6 +595,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -438,6 +639,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -449,6 +705,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -482,10 +848,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -578,6 +969,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -602,6 +997,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -639,6 +1040,7 @@ + True diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.dfm b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.dfm index 0742a1f5..597ca244 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.dfm +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.dfm @@ -76,9 +76,4 @@ object JSWindowBindingWithObjectFrm: TJSWindowBindingWithObjectFrm Left = 32 Top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 352 - end end diff --git a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas index 365f2aea..09ed29e4 100644 --- a/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas +++ b/demos/Delphi_VCL/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas @@ -60,7 +60,6 @@ type CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; - CEFSentinel1: TCEFSentinel; procedure FormShow(Sender: TObject); procedure GoBtnClick(Sender: TObject); procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); @@ -79,7 +78,6 @@ type var aAction : TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True in TChromium.OnBeforeClose @@ -117,8 +115,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); var @@ -146,12 +143,6 @@ begin Chromium1.LoadURL(Edit1.Text); end; -procedure TJSWindowBindingWithObjectFrm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TJSWindowBindingWithObjectFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin PostMessage(Handle, CEF_AFTERCREATED, 0, 0); @@ -223,7 +214,8 @@ end; procedure TJSWindowBindingWithObjectFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSWindowBindingWithObjectFrm.Chromium1Close( diff --git a/demos/Delphi_VCL/KioskOSRBrowser/uKioskOSRBrowser.pas b/demos/Delphi_VCL/KioskOSRBrowser/uKioskOSRBrowser.pas index 26aad65c..c4d8f13c 100644 --- a/demos/Delphi_VCL/KioskOSRBrowser/uKioskOSRBrowser.pas +++ b/demos/Delphi_VCL/KioskOSRBrowser/uKioskOSRBrowser.pas @@ -974,7 +974,7 @@ end; procedure TForm1.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Delphi_VCL/MDIExternalPumpBrowser/MDIExternalPumpBrowser.dproj b/demos/Delphi_VCL/MDIExternalPumpBrowser/MDIExternalPumpBrowser.dproj index e8ebe1ba..53e03bc4 100644 --- a/demos/Delphi_VCL/MDIExternalPumpBrowser/MDIExternalPumpBrowser.dproj +++ b/demos/Delphi_VCL/MDIExternalPumpBrowser/MDIExternalPumpBrowser.dproj @@ -4,7 +4,7 @@ MDIExternalPumpBrowser.dpr Debug DCC32 - 18.5 + 18.8 VCL True Win32 @@ -214,12 +214,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -232,96 +240,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -410,6 +564,9 @@ 0 + + 0 + 0 @@ -442,6 +599,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -453,6 +621,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -464,6 +665,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -475,6 +731,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -508,10 +874,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -604,6 +995,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -628,6 +1023,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -665,6 +1066,7 @@ + 12 diff --git a/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.dfm b/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.dfm index e7c4edb8..b24e73ad 100644 --- a/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.dfm +++ b/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.dfm @@ -80,9 +80,4 @@ object MainForm: TMainForm TabOrder = 0 end end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 32 - Top = 56 - end end diff --git a/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.pas b/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.pas index ed7f46dd..81971da8 100644 --- a/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.pas +++ b/demos/Delphi_VCL/MDIExternalPumpBrowser/uMainForm.pas @@ -65,12 +65,10 @@ type NewBtn: TSpeedButton; ExitBtn: TSpeedButton; NewContextChk: TCheckBox; - CEFSentinel1: TCEFSentinel; procedure FormCreate(Sender: TObject); procedure NewBtnClick(Sender: TObject); procedure ExitBtnClick(Sender: TObject); procedure FormShow(Sender: TObject); - procedure CEFSentinel1Close(Sender: TObject); private // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True when all the child forms are closed @@ -201,16 +199,11 @@ begin if FClosing and (MDIChildCount = 0) then begin ButtonPnl.Enabled := False; - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; end; -procedure TMainForm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TMainForm.CEFInitializedMsg(var aMessage : TMessage); begin Caption := 'MDI External Pump Browser'; diff --git a/demos/Delphi_VCL/OSRExternalPumpBrowser/OSRExternalPumpBrowser.dproj b/demos/Delphi_VCL/OSRExternalPumpBrowser/OSRExternalPumpBrowser.dproj index 7b1417cd..0a1bda3b 100644 --- a/demos/Delphi_VCL/OSRExternalPumpBrowser/OSRExternalPumpBrowser.dproj +++ b/demos/Delphi_VCL/OSRExternalPumpBrowser/OSRExternalPumpBrowser.dproj @@ -1,7 +1,7 @@  {7DC52040-59FF-4430-BF65-3A852AB5A6C0} - 18.5 + 18.8 VCL OSRExternalPumpBrowser.dpr True @@ -186,12 +186,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -204,96 +212,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -382,6 +536,9 @@ 0 + + 0 + 0 @@ -414,6 +571,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -425,6 +593,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -436,6 +637,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -447,6 +703,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -480,10 +846,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -576,6 +967,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -600,6 +995,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -637,6 +1038,7 @@ + True diff --git a/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.dfm b/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.dfm index d12f3f5c..139392ba 100644 --- a/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.dfm +++ b/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.dfm @@ -157,9 +157,4 @@ object OSRExternalPumpBrowserFrm: TOSRExternalPumpBrowserFrm Left = 24 Top = 206 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 24 - Top = 342 - end end diff --git a/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas b/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas index 20023a9e..f050dc9c 100644 --- a/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas +++ b/demos/Delphi_VCL/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas @@ -51,7 +51,7 @@ uses Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, AppEvnts, {$ENDIF} uCEFChromium, uCEFTypes, uCEFInterfaces, uCEFConstants, uCEFBufferPanel, uCEFWorkScheduler, - uCEFSentinel; + uCEFSentinel, uCEFChromiumCore; type TOSRExternalPumpBrowserFrm = class(TForm) @@ -65,7 +65,6 @@ type SaveDialog1: TSaveDialog; Timer1: TTimer; Panel1: TBufferPanel; - CEFSentinel1: TCEFSentinel; procedure AppEventsMessage(var Msg: tagMSG; var Handled: Boolean); @@ -109,7 +108,6 @@ type procedure Timer1Timer(Sender: TObject); procedure ComboBox1Enter(Sender: TObject); - procedure CEFSentinel1Close(Sender: TObject); protected FPopUpBitmap : TBitmap; @@ -155,8 +153,7 @@ var // 2- chrmosr.CloseBrowser(True) will trigger chrmosr.OnClose and we have to // set "Result" to false and CEF will destroy the internal browser immediately. // 3- chrmosr.OnBeforeClose is triggered because the internal browser was destroyed. -// Now we call TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4- TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// FCanClose is set to True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; procedure GlobalCEFApp_OnScheduleMessagePumpWork(const aDelayMS : int64); @@ -329,11 +326,6 @@ begin end; procedure TOSRExternalPumpBrowserFrm.chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser); -begin - CEFSentinel1.Start; -end; - -procedure TOSRExternalPumpBrowserFrm.CEFSentinel1Close(Sender: TObject); begin FCanClose := True; PostMessage(Handle, WM_CLOSE, 0, 0); @@ -821,7 +813,7 @@ end; procedure TOSRExternalPumpBrowserFrm.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Delphi_VCL/PopupBrowser/PopupBrowser.dproj b/demos/Delphi_VCL/PopupBrowser/PopupBrowser.dproj index 736a4188..ed1eab10 100644 --- a/demos/Delphi_VCL/PopupBrowser/PopupBrowser.dproj +++ b/demos/Delphi_VCL/PopupBrowser/PopupBrowser.dproj @@ -1,7 +1,7 @@  {55E00327-9D98-4DA3-A4E1-844942A01C6B} - 18.5 + 18.8 VCL PopupBrowser.dpr True @@ -190,12 +190,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -208,96 +216,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -386,6 +540,9 @@ 0 + + 0 + 0 @@ -418,6 +575,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -429,6 +597,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -440,6 +641,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -451,6 +707,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -484,10 +850,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -580,6 +971,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -604,6 +999,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -641,6 +1042,7 @@ + True diff --git a/demos/Delphi_VCL/PopupBrowser/uChildForm.pas b/demos/Delphi_VCL/PopupBrowser/uChildForm.pas index 228e5cd1..02c6b768 100644 --- a/demos/Delphi_VCL/PopupBrowser/uChildForm.pas +++ b/demos/Delphi_VCL/PopupBrowser/uChildForm.pas @@ -834,7 +834,7 @@ end; procedure TChildForm.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Delphi_VCL/PopupBrowser/uMainForm.dfm b/demos/Delphi_VCL/PopupBrowser/uMainForm.dfm index cbdcbdda..9385b60c 100644 --- a/demos/Delphi_VCL/PopupBrowser/uMainForm.dfm +++ b/demos/Delphi_VCL/PopupBrowser/uMainForm.dfm @@ -82,9 +82,4 @@ object MainForm: TMainForm Left = 56 Top = 216 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 56 - Top = 288 - end end diff --git a/demos/Delphi_VCL/PopupBrowser/uMainForm.pas b/demos/Delphi_VCL/PopupBrowser/uMainForm.pas index 99ecf578..777dbc51 100644 --- a/demos/Delphi_VCL/PopupBrowser/uMainForm.pas +++ b/demos/Delphi_VCL/PopupBrowser/uMainForm.pas @@ -65,7 +65,6 @@ type Chromium1: TChromium; CEFWindowParent1: TCEFWindowParent; AppEvents: TApplicationEvents; - CEFSentinel1: TCEFSentinel; procedure GoBtnClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); @@ -80,7 +79,6 @@ type procedure Chromium1BeforePopup(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; var client: ICefClient; var settings: TCefBrowserSettings; var extra_info: ICefDictionaryValue; var noJavascriptAccess: Boolean; var Result: Boolean); procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction: TCefCloseBrowserAction); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); - procedure CEFSentinel1Close(Sender: TObject); protected FChildForm : TChildForm; @@ -144,8 +142,7 @@ uses // 1. FormCloseQuery sets CanClose to FALSE and it closes all child forms. // 2. When all the child forms are closed then FormCloseQuery is triggered again, sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 3. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 4. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 5. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 4. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; begin @@ -253,7 +250,8 @@ end; procedure TMainForm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; function TMainForm.CreateClientHandler(var windowInfo : TCefWindowInfo; @@ -357,12 +355,6 @@ begin end; end; -procedure TMainForm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage); begin if FClosingChildren and (PopupChildCount = 0) then Close; diff --git a/demos/Delphi_VCL/PopupBrowser2/PopupBrowser2.dproj b/demos/Delphi_VCL/PopupBrowser2/PopupBrowser2.dproj index 8b5c315e..10845b3e 100644 --- a/demos/Delphi_VCL/PopupBrowser2/PopupBrowser2.dproj +++ b/demos/Delphi_VCL/PopupBrowser2/PopupBrowser2.dproj @@ -1,7 +1,7 @@  {55E00327-9D98-4DA3-A4E1-844942A01C6B} - 18.5 + 18.8 VCL PopupBrowser2.dpr True @@ -190,12 +190,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -208,96 +216,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -386,6 +540,9 @@ 0 + + 0 + 0 @@ -418,6 +575,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -429,6 +597,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -440,6 +641,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -451,6 +707,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -484,10 +850,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -580,6 +971,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -604,6 +999,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -641,6 +1042,7 @@ + True diff --git a/demos/Delphi_VCL/PopupBrowser2/uMainForm.dfm b/demos/Delphi_VCL/PopupBrowser2/uMainForm.dfm index f7a0525c..2f239092 100644 --- a/demos/Delphi_VCL/PopupBrowser2/uMainForm.dfm +++ b/demos/Delphi_VCL/PopupBrowser2/uMainForm.dfm @@ -77,9 +77,4 @@ object MainForm: TMainForm Left = 56 Top = 152 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 48 - Top = 208 - end end diff --git a/demos/Delphi_VCL/PopupBrowser2/uMainForm.pas b/demos/Delphi_VCL/PopupBrowser2/uMainForm.pas index c8e56514..a8a4a62a 100644 --- a/demos/Delphi_VCL/PopupBrowser2/uMainForm.pas +++ b/demos/Delphi_VCL/PopupBrowser2/uMainForm.pas @@ -50,7 +50,7 @@ uses Controls, Forms, Dialogs, StdCtrls, ExtCtrls, SyncObjs, {$ENDIF} uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes, uChildForm, - Vcl.AppEvnts, uCEFWinControl, uCEFSentinel; + Vcl.AppEvnts, uCEFWinControl, uCEFSentinel, uCEFChromiumCore; const CEF_CREATENEXTCHILD = WM_APP + $A50; @@ -64,7 +64,6 @@ type Timer1: TTimer; Chromium1: TChromium; CEFWindowParent1: TCEFWindowParent; - CEFSentinel1: TCEFSentinel; procedure GoBtnClick(Sender: TObject); procedure Timer1Timer(Sender: TObject); @@ -78,7 +77,6 @@ type procedure Chromium1BeforePopup(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; var client: ICefClient; var settings: TCefBrowserSettings; var extra_info: ICefDictionaryValue; var noJavascriptAccess: Boolean; var Result: Boolean); procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction: TCefCloseBrowserAction); - procedure CEFSentinel1Close(Sender: TObject); protected FChildForm : TChildForm; @@ -142,8 +140,7 @@ uses // 1. FormCloseQuery sets CanClose to FALSE and it closes all child forms. // 2. When all the child forms are closed then FormCloseQuery is triggered again, sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 3. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 4. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 5. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 4. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; begin @@ -211,7 +208,8 @@ end; procedure TMainForm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TMainForm.Chromium1BeforePopup(Sender : TObject; @@ -335,12 +333,6 @@ begin end; end; -procedure TMainForm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage); begin if FClosingChildren and (PopupChildCount = 0) then Close; diff --git a/demos/Delphi_VCL/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.dproj b/demos/Delphi_VCL/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.dproj index aa760552..88996194 100644 --- a/demos/Delphi_VCL/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.dproj +++ b/demos/Delphi_VCL/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.dproj @@ -1,7 +1,7 @@  {55E00327-9D98-4DA3-A4E1-844942A01C6B} - 18.5 + 18.8 VCL SimpleExternalPumpBrowser.dpr True @@ -186,12 +186,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -204,96 +212,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -382,6 +536,9 @@ 0 + + 0 + 0 @@ -414,6 +571,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -425,6 +593,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -436,6 +637,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -447,6 +703,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -480,10 +846,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -576,6 +967,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -600,6 +995,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -637,6 +1038,7 @@ + True diff --git a/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.dfm b/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.dfm index 8198c360..26f10886 100644 --- a/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.dfm +++ b/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.dfm @@ -94,9 +94,4 @@ object SimpleExternalPumpBrowserFrm: TSimpleExternalPumpBrowserFrm Left = 56 Top = 88 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 56 - Top = 160 - end end diff --git a/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas b/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas index 2472d5a8..d81c3061 100644 --- a/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas +++ b/demos/Delphi_VCL/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas @@ -60,12 +60,10 @@ type Timer1: TTimer; URLCbx: TComboBox; ChromiumWindow1: TChromiumWindow; - CEFSentinel1: TCEFSentinel; procedure GoBtnClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Timer1Timer(Sender: TObject); - procedure CEFSentinel1Close(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); @@ -104,8 +102,7 @@ uses // It was necessary to destroy the browser with the following destruction sequence : // 1. The FormCloseQuery event sets CanClose to False and calls TChromiumWindow.CloseBrowser, which triggers the TChromiumWindow.OnClose event. // 2. The TChromiumWindow.OnClose event calls TChromiumWindow.DestroyChildWindow which triggers the TChromiumWindow.OnBeforeClose event. -// 3. TChromiumWindow.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromiumWindow.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnScheduleMessagePumpWork(const aDelayMS : int64); begin @@ -176,21 +173,20 @@ begin GoBtn.Click; end; -procedure TSimpleExternalPumpBrowserFrm.CEFSentinel1Close(Sender: TObject); +procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject); begin FCanClose := True; PostMessage(Handle, WM_CLOSE, 0, 0); end; -procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject); -begin - CEFSentinel1.Start; -end; - procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1Close(Sender: TObject); begin // DestroyChildWindow will destroy the child window created by CEF at the top of the Z order. - if not(ChromiumWindow1.DestroyChildWindow) then CEFSentinel1.Start; + if not(ChromiumWindow1.DestroyChildWindow) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; procedure TSimpleExternalPumpBrowserFrm.GoBtnClick(Sender: TObject); diff --git a/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas b/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas index 817aa466..2473d1ed 100644 --- a/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas +++ b/demos/Delphi_VCL/SimpleOSRBrowser/uSimpleOSRBrowser.pas @@ -1126,7 +1126,7 @@ end; procedure TForm1.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Delphi_VCL/SimpleServer/SimpleServer.dproj b/demos/Delphi_VCL/SimpleServer/SimpleServer.dproj index 7ac00320..7bc80b40 100644 --- a/demos/Delphi_VCL/SimpleServer/SimpleServer.dproj +++ b/demos/Delphi_VCL/SimpleServer/SimpleServer.dproj @@ -1,7 +1,7 @@  {5901DE83-097F-456D-9507-D75337BE827A} - 18.5 + 18.8 VCL SimpleServer.dpr True @@ -182,12 +182,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -200,96 +208,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -378,6 +532,9 @@ 0 + + 0 + 0 @@ -410,6 +567,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -421,6 +589,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -432,6 +633,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -443,6 +699,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -476,10 +842,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -572,6 +963,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -596,6 +991,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -633,6 +1034,7 @@ + True diff --git a/demos/Delphi_VCL/ToolBoxBrowser/ToolBoxBrowser.dproj b/demos/Delphi_VCL/ToolBoxBrowser/ToolBoxBrowser.dproj index f53d6489..7315d244 100644 --- a/demos/Delphi_VCL/ToolBoxBrowser/ToolBoxBrowser.dproj +++ b/demos/Delphi_VCL/ToolBoxBrowser/ToolBoxBrowser.dproj @@ -1,7 +1,7 @@  {2FA9E1B5-1D6D-45C8-B021-D260B67AF861} - 18.5 + 18.8 VCL ToolBoxBrowser.dpr True @@ -185,12 +185,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -203,96 +211,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -381,6 +535,9 @@ 0 + + 0 + 0 @@ -413,6 +570,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -424,6 +592,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -435,6 +636,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -446,6 +702,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -479,10 +845,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -575,6 +966,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -599,6 +994,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -636,6 +1037,7 @@ + True diff --git a/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.dfm b/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.dfm index fc1929fa..7855e381 100644 --- a/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.dfm +++ b/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.dfm @@ -45,8 +45,4 @@ object MainForm: TMainForm OnClick = Button1Click end end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - Left = 224 - end end diff --git a/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.pas b/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.pas index e98bbaf0..39fee15e 100644 --- a/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.pas +++ b/demos/Delphi_VCL/ToolBoxBrowser/uMainForm.pas @@ -62,11 +62,9 @@ type ButtonPnl: TPanel; Edit1: TEdit; Button1: TButton; - CEFSentinel1: TCEFSentinel; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormShow(Sender: TObject); - procedure CEFSentinel1Close(Sender: TObject); private // Variables to control when can we destroy the form safely FCanClose : boolean; // Set to True when all the child forms are closed @@ -103,8 +101,7 @@ uses // Destruction steps // ================= // 1. Destroy all child forms -// 2. Wait until all the child forms are closed before calling TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when all renderer processes are closed -// 3. TCEFSentinel.OnClose closes the main form. +// 2. Wait until all the child forms are closed before closing the main form. procedure GlobalCEFApp_OnContextInitialized; begin @@ -210,7 +207,11 @@ end; procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage); begin // If there are no more child forms we can destroy the main form - if FClosing and (ChildFormCount = 0) then CEFSentinel1.Start; + if FClosing and (ChildFormCount = 0) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; function TMainForm.CloseQuery: Boolean; @@ -241,12 +242,6 @@ begin cursor := crDefault; end; -procedure TMainForm.CEFSentinel1Close(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - procedure TMainForm.FormShow(Sender: TObject); begin if (GlobalCEFApp <> nil) and GlobalCEFApp.GlobalContextInitialized then diff --git a/demos/Lazarus/DOMVisitor/DOMVisitor.lps b/demos/Lazarus/DOMVisitor/DOMVisitor.lps index 3b2aa06d..91e18065 100644 --- a/demos/Lazarus/DOMVisitor/DOMVisitor.lps +++ b/demos/Lazarus/DOMVisitor/DOMVisitor.lps @@ -22,8 +22,8 @@ - - + + @@ -64,122 +64,122 @@ - + - + - + - + - + - + - + - + - + - - + - + - + + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - - + + - + - + diff --git a/demos/Lazarus/DOMVisitor/uDOMVisitor.lfm b/demos/Lazarus/DOMVisitor/uDOMVisitor.lfm index 1a77d978..85ff0650 100644 --- a/demos/Lazarus/DOMVisitor/uDOMVisitor.lfm +++ b/demos/Lazarus/DOMVisitor/uDOMVisitor.lfm @@ -14,7 +14,7 @@ object DOMVisitorFrm: TDOMVisitorFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object CEFWindowParent1: TCEFWindowParent Left = 0 Height = 539 @@ -104,9 +104,4 @@ object DOMVisitorFrm: TDOMVisitorFrm left = 16 top = 96 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 16 - top = 160 - end end diff --git a/demos/Lazarus/DOMVisitor/uDOMVisitor.pas b/demos/Lazarus/DOMVisitor/uDOMVisitor.pas index 94d84271..3bc6d0af 100644 --- a/demos/Lazarus/DOMVisitor/uDOMVisitor.pas +++ b/demos/Lazarus/DOMVisitor/uDOMVisitor.pas @@ -66,7 +66,6 @@ type { TDOMVisitorFrm } TDOMVisitorFrm = class(TForm) - CEFSentinel1: TCEFSentinel; CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; AddressBarPnl: TPanel; @@ -159,8 +158,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure SimpleDOMIteration(const aDocument: ICefDomDocument); var @@ -328,7 +326,8 @@ end; procedure TDOMVisitorFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TDOMVisitorFrm.Chromium1BeforeContextMenu(Sender: TObject; @@ -433,8 +432,7 @@ end; procedure TDOMVisitorFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TDOMVisitorFrm.BrowserCreatedMsg(var aMessage : TMessage); diff --git a/demos/Lazarus/EditorBrowser/EditorBrowser.lps b/demos/Lazarus/EditorBrowser/EditorBrowser.lps index 9fee6355..35621ce2 100644 --- a/demos/Lazarus/EditorBrowser/EditorBrowser.lps +++ b/demos/Lazarus/EditorBrowser/EditorBrowser.lps @@ -20,8 +20,8 @@ - - + + @@ -35,7 +35,7 @@ - + @@ -72,6 +72,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/EditorBrowser/uEditorBrowser.lfm b/demos/Lazarus/EditorBrowser/uEditorBrowser.lfm index 5810ffef..b5ae990b 100644 --- a/demos/Lazarus/EditorBrowser/uEditorBrowser.lfm +++ b/demos/Lazarus/EditorBrowser/uEditorBrowser.lfm @@ -14,7 +14,7 @@ object Form1: TForm1 OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object CEFWindowParent1: TCEFWindowParent Left = 0 Height = 599 @@ -987,9 +987,4 @@ object Form1: TForm1 left = 128 top = 200 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 56 - top = 272 - end end diff --git a/demos/Lazarus/EditorBrowser/uEditorBrowser.pas b/demos/Lazarus/EditorBrowser/uEditorBrowser.pas index b114eca2..d45cd8cd 100644 --- a/demos/Lazarus/EditorBrowser/uEditorBrowser.pas +++ b/demos/Lazarus/EditorBrowser/uEditorBrowser.pas @@ -55,7 +55,6 @@ type { TForm1 } TForm1 = class(TForm) - CEFSentinel1: TCEFSentinel; Timer1: TTimer; Chromium1: TChromium; CEFWindowParent1: TCEFWindowParent; @@ -171,8 +170,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; begin @@ -237,7 +235,8 @@ end; procedure TForm1.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TForm1.Chromium1Close(Sender: TObject; @@ -443,8 +442,7 @@ end; procedure TForm1.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TForm1.OpenBtnClick(Sender: TObject); diff --git a/demos/Lazarus/ExternalPumpBrowser/ExternalPumpBrowser.lps b/demos/Lazarus/ExternalPumpBrowser/ExternalPumpBrowser.lps index b40ba9b6..f1a4ffc6 100644 --- a/demos/Lazarus/ExternalPumpBrowser/ExternalPumpBrowser.lps +++ b/demos/Lazarus/ExternalPumpBrowser/ExternalPumpBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -46,7 +46,7 @@ - + @@ -105,6 +105,22 @@ + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.lfm b/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.lfm index b7514dd6..1975ae67 100644 --- a/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.lfm +++ b/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.lfm @@ -14,7 +14,7 @@ object ExternalPumpBrowserFrm: TExternalPumpBrowserFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object AddressPnl: TPanel Left = 0 Height = 21 @@ -90,9 +90,4 @@ object ExternalPumpBrowserFrm: TExternalPumpBrowserFrm left = 56 top = 152 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 56 - top = 216 - end end diff --git a/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.pas b/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.pas index c80303ae..e5171000 100644 --- a/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.pas +++ b/demos/Lazarus/ExternalPumpBrowser/uExternalPumpBrowser.pas @@ -58,7 +58,6 @@ type TExternalPumpBrowserFrm = class(TForm) AddressPnl: TPanel; - CEFSentinel1: TCEFSentinel; GoBtn: TButton; Timer1: TTimer; CEFWindowParent1: TCEFWindowParent; @@ -175,7 +174,8 @@ end; procedure TExternalPumpBrowserFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TExternalPumpBrowserFrm.Chromium1BeforePopup(Sender: TObject; @@ -218,8 +218,7 @@ end; procedure TExternalPumpBrowserFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TExternalPumpBrowserFrm.Timer1Timer(Sender: TObject); diff --git a/demos/Lazarus/FullScreenBrowser/FullScreenBrowser.lps b/demos/Lazarus/FullScreenBrowser/FullScreenBrowser.lps index c848ef69..aa808093 100644 --- a/demos/Lazarus/FullScreenBrowser/FullScreenBrowser.lps +++ b/demos/Lazarus/FullScreenBrowser/FullScreenBrowser.lps @@ -22,15 +22,15 @@ - - + + - + @@ -52,12 +52,20 @@ - + - + + + + + + + + + diff --git a/demos/Lazarus/FullScreenBrowser/uMainForm.lfm b/demos/Lazarus/FullScreenBrowser/uMainForm.lfm index 553cb38f..d4cf506f 100644 --- a/demos/Lazarus/FullScreenBrowser/uMainForm.lfm +++ b/demos/Lazarus/FullScreenBrowser/uMainForm.lfm @@ -16,7 +16,7 @@ object MainForm: TMainForm OnCloseQuery = FormCloseQuery OnCreate = FormCreate OnShow = FormShow - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' WindowState = wsMaximized object CEFWindowParent1: TCEFWindowParent Left = 0 @@ -43,9 +43,4 @@ object MainForm: TMainForm left = 272 top = 120 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 344 - top = 120 - end end diff --git a/demos/Lazarus/FullScreenBrowser/uMainForm.pas b/demos/Lazarus/FullScreenBrowser/uMainForm.pas index be35c597..90edbe22 100644 --- a/demos/Lazarus/FullScreenBrowser/uMainForm.pas +++ b/demos/Lazarus/FullScreenBrowser/uMainForm.pas @@ -58,7 +58,6 @@ type { TMainForm } TMainForm = class(TForm) - CEFSentinel1: TCEFSentinel; CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; Timer1: TTimer; @@ -178,7 +177,8 @@ end; procedure TMainForm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TMainForm.Chromium1BeforePopup(Sender: TObject; @@ -251,8 +251,7 @@ end; procedure TMainForm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); diff --git a/demos/Lazarus/JavaScript/JSDialog/JSDialogBrowser.lps b/demos/Lazarus/JavaScript/JSDialog/JSDialogBrowser.lps index 4bf60c36..88083158 100644 --- a/demos/Lazarus/JavaScript/JSDialog/JSDialogBrowser.lps +++ b/demos/Lazarus/JavaScript/JSDialog/JSDialogBrowser.lps @@ -22,15 +22,15 @@ - - + + - + @@ -74,6 +74,14 @@ + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.lfm b/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.lfm index 4a281f73..7b9fabad 100644 --- a/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.lfm +++ b/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.lfm @@ -15,7 +15,7 @@ object JSDialogBrowserFrm: TJSDialogBrowserFrm OnDestroy = FormDestroy OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object ChromiumWindow1: TChromiumWindow Left = 0 Height = 603 @@ -65,9 +65,4 @@ object JSDialogBrowserFrm: TJSDialogBrowserFrm left = 56 top = 88 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 128 - top = 88 - end end diff --git a/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.pas b/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.pas index 0d21fb1d..19bccdc3 100644 --- a/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.pas +++ b/demos/Lazarus/JavaScript/JSDialog/uJSDialogBrowser.pas @@ -60,7 +60,6 @@ type { TJSDialogBrowserFrm } TJSDialogBrowserFrm = class(TForm) - CEFSentinel1: TCEFSentinel; ChromiumWindow1: TChromiumWindow; AddressPnl: TPanel; AddressEdt: TEdit; @@ -259,13 +258,18 @@ end; procedure TJSDialogBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSDialogBrowserFrm.ChromiumWindow1Close(Sender: TObject); begin // DestroyChildWindow will destroy the child window created by CEF at the top of the Z order. - if not(ChromiumWindow1.DestroyChildWindow) then CEFSentinel1.Start; + if not(ChromiumWindow1.DestroyChildWindow) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; procedure TJSDialogBrowserFrm.Chromium_OnBeforePopup(Sender: TObject; diff --git a/demos/Lazarus/JavaScript/JSEval/JSEval.lps b/demos/Lazarus/JavaScript/JSEval/JSEval.lps index 6b8feb69..0add15ec 100644 --- a/demos/Lazarus/JavaScript/JSEval/JSEval.lps +++ b/demos/Lazarus/JavaScript/JSEval/JSEval.lps @@ -23,10 +23,10 @@ - + - + @@ -115,127 +115,123 @@ - + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - + - + - + - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + - + - + - - - - diff --git a/demos/Lazarus/JavaScript/JSEval/uJSEval.lfm b/demos/Lazarus/JavaScript/JSEval/uJSEval.lfm index bf0fd2a9..0fb18242 100644 --- a/demos/Lazarus/JavaScript/JSEval/uJSEval.lfm +++ b/demos/Lazarus/JavaScript/JSEval/uJSEval.lfm @@ -13,7 +13,7 @@ object JSEvalFrm: TJSEvalFrm OnCloseQuery = FormCloseQuery OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object CEFWindowParent1: TCEFWindowParent Left = 0 Height = 550 @@ -73,9 +73,4 @@ object JSEvalFrm: TJSEvalFrm left = 16 top = 96 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 16 - top = 160 - end end diff --git a/demos/Lazarus/JavaScript/JSEval/uJSEval.pas b/demos/Lazarus/JavaScript/JSEval/uJSEval.pas index d7d0fc07..37d8f6c8 100644 --- a/demos/Lazarus/JavaScript/JSEval/uJSEval.pas +++ b/demos/Lazarus/JavaScript/JSEval/uJSEval.pas @@ -67,7 +67,6 @@ type { TJSEvalFrm } TJSEvalFrm = class(TForm) - CEFSentinel1: TCEFSentinel; CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; AddressBarPnl: TPanel; @@ -179,8 +178,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure TJSEvalFrm.Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser); begin @@ -189,14 +187,14 @@ end; procedure TJSEvalFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSEvalFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSEvalFrm.Chromium1BeforeContextMenu(Sender : TObject; diff --git a/demos/Lazarus/JavaScript/JSExecutingFunctions/JSExecutingFunctions.lps b/demos/Lazarus/JavaScript/JSExecutingFunctions/JSExecutingFunctions.lps index a5596eda..bf5afc6a 100644 --- a/demos/Lazarus/JavaScript/JSExecutingFunctions/JSExecutingFunctions.lps +++ b/demos/Lazarus/JavaScript/JSExecutingFunctions/JSExecutingFunctions.lps @@ -22,8 +22,8 @@ - - + + @@ -53,7 +53,7 @@ - + @@ -97,6 +97,22 @@ + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.lfm b/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.lfm index a2989da0..1cf3cbf2 100644 --- a/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.lfm +++ b/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.lfm @@ -15,7 +15,7 @@ object JSExecutingFunctionsFrm: TJSExecutingFunctionsFrm OnDestroy = FormDestroy OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -72,9 +72,4 @@ object JSExecutingFunctionsFrm: TJSExecutingFunctionsFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 352 - end end diff --git a/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas b/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas index bde05139..58753aea 100644 --- a/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas +++ b/demos/Lazarus/JavaScript/JSExecutingFunctions/uJSExecutingFunctions.pas @@ -64,7 +64,6 @@ type { TJSExecutingFunctionsFrm } TJSExecutingFunctionsFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -197,7 +196,8 @@ end; procedure TJSExecutingFunctionsFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSExecutingFunctionsFrm.Chromium1BeforeContextMenu( @@ -280,8 +280,7 @@ end; procedure TJSExecutingFunctionsFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSExecutingFunctionsFrm.WMMove(var aMessage : TWMMove); diff --git a/demos/Lazarus/JavaScript/JSExtension/JSExtension.lps b/demos/Lazarus/JavaScript/JSExtension/JSExtension.lps index 8b004115..e37c46cf 100644 --- a/demos/Lazarus/JavaScript/JSExtension/JSExtension.lps +++ b/demos/Lazarus/JavaScript/JSExtension/JSExtension.lps @@ -22,8 +22,8 @@ - - + + @@ -52,124 +52,124 @@ - - + + - + - - + + - + - - + + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/demos/Lazarus/JavaScript/JSExtension/uJSExtension.lfm b/demos/Lazarus/JavaScript/JSExtension/uJSExtension.lfm index 9991bc43..890cbabf 100644 --- a/demos/Lazarus/JavaScript/JSExtension/uJSExtension.lfm +++ b/demos/Lazarus/JavaScript/JSExtension/uJSExtension.lfm @@ -14,7 +14,7 @@ object JSExtensionFrm: TJSExtensionFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -81,9 +81,4 @@ object JSExtensionFrm: TJSExtensionFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 365 - end end diff --git a/demos/Lazarus/JavaScript/JSExtension/uJSExtension.pas b/demos/Lazarus/JavaScript/JSExtension/uJSExtension.pas index 9232c470..2d1ed4f2 100644 --- a/demos/Lazarus/JavaScript/JSExtension/uJSExtension.pas +++ b/demos/Lazarus/JavaScript/JSExtension/uJSExtension.pas @@ -69,7 +69,6 @@ type { TJSExtensionFrm } TJSExtensionFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -340,7 +339,8 @@ end; procedure TJSExtensionFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSExtensionFrm.Chromium1BeforeContextMenu(Sender: TObject; @@ -482,8 +482,7 @@ end; procedure TJSExtensionFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSExtensionFrm.WMMove(var aMessage : TWMMove); diff --git a/demos/Lazarus/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.lps b/demos/Lazarus/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.lps index ddbaa4ec..c766d655 100644 --- a/demos/Lazarus/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.lps +++ b/demos/Lazarus/JavaScript/JSExtensionWithFunction/JSExtensionWithFunction.lps @@ -22,8 +22,8 @@ - - + + @@ -56,7 +56,7 @@ - + @@ -112,6 +112,22 @@ + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.lfm b/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.lfm index af65ea5f..6913270e 100644 --- a/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.lfm +++ b/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.lfm @@ -14,7 +14,7 @@ object JSExtensionWithFunctionFrm: TJSExtensionWithFunctionFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -80,9 +80,4 @@ object JSExtensionWithFunctionFrm: TJSExtensionWithFunctionFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 360 - end end diff --git a/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas b/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas index 30d7defe..72b9c02b 100644 --- a/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas +++ b/demos/Lazarus/JavaScript/JSExtensionWithFunction/uJSExtensionWithFunction.pas @@ -59,7 +59,6 @@ type { TJSExtensionWithFunctionFrm } TJSExtensionWithFunctionFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -126,8 +125,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the procedure GlobalCEFApp_OnWebKitInitializedEvent; var @@ -171,7 +169,8 @@ end; procedure TJSExtensionWithFunctionFrm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSExtensionWithFunctionFrm.Chromium1BeforePopup(Sender: TObject; @@ -235,8 +234,7 @@ end; procedure TJSExtensionWithFunctionFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSExtensionWithFunctionFrm.WMMove(var aMessage : TWMMove); diff --git a/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.lps b/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.lps index 95a0b62d..725680cb 100644 --- a/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.lps +++ b/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/JSExtensionWithObjectParameter.lps @@ -22,8 +22,8 @@ - - + + @@ -37,7 +37,7 @@ - + @@ -61,6 +61,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.lfm b/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.lfm index 320867fd..f6df077f 100644 --- a/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.lfm +++ b/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.lfm @@ -14,7 +14,7 @@ object JSExtensionWithObjectParameterFrm: TJSExtensionWithObjectParameterFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -69,9 +69,4 @@ object JSExtensionWithObjectParameterFrm: TJSExtensionWithObjectParameterFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 360 - end end diff --git a/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas b/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas index 60d5a00f..24a73769 100644 --- a/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas +++ b/demos/Lazarus/JavaScript/JSExtensionWithObjectParameter/uJSExtensionWithObjectParameter.pas @@ -59,7 +59,6 @@ type { TJSExtensionWithObjectParameterFrm } TJSExtensionWithObjectParameterFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -125,8 +124,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnWebKitInitializedEvent; var @@ -174,7 +172,8 @@ end; procedure TJSExtensionWithObjectParameterFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSExtensionWithObjectParameterFrm.Chromium1BeforePopup( @@ -225,8 +224,7 @@ end; procedure TJSExtensionWithObjectParameterFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSExtensionWithObjectParameterFrm.WMMove(var aMessage : TWMMove); diff --git a/demos/Lazarus/JavaScript/JSSimpleExtension/JSSimpleExtension.lps b/demos/Lazarus/JavaScript/JSSimpleExtension/JSSimpleExtension.lps index 132dc271..7064ab21 100644 --- a/demos/Lazarus/JavaScript/JSSimpleExtension/JSSimpleExtension.lps +++ b/demos/Lazarus/JavaScript/JSSimpleExtension/JSSimpleExtension.lps @@ -22,15 +22,15 @@ - - + + - + @@ -58,6 +58,22 @@ + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.lfm b/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.lfm index ed690f51..f44a01a3 100644 --- a/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.lfm +++ b/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.lfm @@ -14,7 +14,7 @@ object JSSimpleExtensionFrm: TJSSimpleExtensionFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -69,9 +69,4 @@ object JSSimpleExtensionFrm: TJSSimpleExtensionFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 352 - end end diff --git a/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas b/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas index a50836fa..5754fe27 100644 --- a/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas +++ b/demos/Lazarus/JavaScript/JSSimpleExtension/uJSSimpleExtension.pas @@ -59,7 +59,6 @@ type { TJSSimpleExtensionFrm } TJSSimpleExtensionFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -122,8 +121,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnWebKitInitializedEvent; var @@ -181,8 +179,7 @@ end; procedure TJSSimpleExtensionFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSSimpleExtensionFrm.WMMove(var aMessage : TWMMove); @@ -231,7 +228,8 @@ end; procedure TJSSimpleExtensionFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSSimpleExtensionFrm.Chromium1Close( diff --git a/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.lfm b/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.lfm index fed97336..32485b52 100644 --- a/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.lfm +++ b/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.lfm @@ -14,7 +14,7 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -69,9 +69,4 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 360 - end end diff --git a/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas b/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas index d7e54b3b..bb896825 100644 --- a/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas +++ b/demos/Lazarus/JavaScript/JSSimpleWindowBinding/uJSSimpleWindowBinding.pas @@ -59,7 +59,6 @@ type { TJSSimpleWindowBindingFrm } TJSSimpleWindowBindingFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -119,8 +118,7 @@ implementation // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); var @@ -173,8 +171,7 @@ end; procedure TJSSimpleWindowBindingFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSSimpleWindowBindingFrm.WMMove(var aMessage : TWMMove); @@ -223,7 +220,8 @@ end; procedure TJSSimpleWindowBindingFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSSimpleWindowBindingFrm.Chromium1Close( diff --git a/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/JSSimpleWindowBinding.lps b/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/JSSimpleWindowBinding.lps index 2692113e..3e8e4b82 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/JSSimpleWindowBinding.lps +++ b/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/JSSimpleWindowBinding.lps @@ -22,15 +22,15 @@ - - + + - + @@ -46,6 +46,18 @@ + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.lfm b/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.lfm index 99abb246..833febed 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.lfm +++ b/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.lfm @@ -14,7 +14,7 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -69,9 +69,4 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 352 - end end diff --git a/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.pas b/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.pas index 8977485b..8997e7d7 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.pas +++ b/demos/Lazarus/JavaScript/JSWindowBindingSubProcess/uJSSimpleWindowBinding.pas @@ -59,7 +59,6 @@ type { TJSSimpleWindowBindingFrm } TJSSimpleWindowBindingFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -118,8 +117,7 @@ implementation // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure TJSSimpleWindowBindingFrm.GoBtnClick(Sender: TObject); begin @@ -154,8 +152,7 @@ end; procedure TJSSimpleWindowBindingFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSSimpleWindowBindingFrm.WMMove(var aMessage : TWMMove); @@ -204,7 +201,8 @@ end; procedure TJSSimpleWindowBindingFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSSimpleWindowBindingFrm.Chromium1Close( diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/JSWindowBindingWithArrayBuffer.lps b/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/JSWindowBindingWithArrayBuffer.lps index c5e8b6b2..43dcd774 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/JSWindowBindingWithArrayBuffer.lps +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/JSWindowBindingWithArrayBuffer.lps @@ -22,8 +22,8 @@ - - + + @@ -31,14 +31,13 @@ - + - - + @@ -59,6 +58,22 @@ + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.lfm b/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.lfm index 62a7826d..5b987022 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.lfm +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.lfm @@ -14,7 +14,7 @@ object JSWindowBindingWithArrayBufferFrm: TJSWindowBindingWithArrayBufferFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 20 @@ -69,9 +69,4 @@ object JSWindowBindingWithArrayBufferFrm: TJSWindowBindingWithArrayBufferFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 363 - end end diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas b/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas index dd9f38cb..dd10c7ef 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithArrayBuffer/uJSWindowBindingWithArrayBuffer.pas @@ -59,7 +59,6 @@ type { TJSWindowBindingWithArrayBufferFrm } TJSWindowBindingWithArrayBufferFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -122,8 +121,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure FreeCustomArrayBufer(buffer : Pointer); begin @@ -197,8 +195,7 @@ end; procedure TJSWindowBindingWithArrayBufferFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSWindowBindingWithArrayBufferFrm.WMMove(var aMessage : TWMMove); @@ -247,7 +244,8 @@ end; procedure TJSWindowBindingWithArrayBufferFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSWindowBindingWithArrayBufferFrm.Chromium1Close( diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.lps b/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.lps index ebc7a673..6066e27d 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.lps +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/JSWindowBindingWithFunction.lps @@ -22,8 +22,8 @@ - - + + @@ -37,7 +37,7 @@ - + @@ -69,6 +69,18 @@ + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.lfm b/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.lfm index 602abeed..568253ce 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.lfm +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.lfm @@ -14,7 +14,7 @@ object JSWindowBindingWithFunctionFrm: TJSWindowBindingWithFunctionFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -69,9 +69,4 @@ object JSWindowBindingWithFunctionFrm: TJSWindowBindingWithFunctionFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 352 - end end diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas b/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas index 9045ee39..81377817 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithFunction/uJSWindowBindingWithFunction.pas @@ -59,7 +59,6 @@ type { TJSWindowBindingWithFunctionFrm } TJSWindowBindingWithFunctionFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -122,8 +121,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); var @@ -177,8 +175,7 @@ end; procedure TJSWindowBindingWithFunctionFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSWindowBindingWithFunctionFrm.WMMove(var aMessage : TWMMove); @@ -227,7 +224,8 @@ end; procedure TJSWindowBindingWithFunctionFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSWindowBindingWithFunctionFrm.Chromium1Close( diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps index 65189f3c..592a7b77 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/JSWindowBindingWithObject.lps @@ -20,9 +20,10 @@ + - - + + @@ -31,7 +32,6 @@ - @@ -40,7 +40,7 @@ - + @@ -68,6 +68,18 @@ + + + + + + + + + + + + diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.lfm b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.lfm index 02cc0f9c..0769ee80 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.lfm +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.lfm @@ -1,7 +1,7 @@ object JSWindowBindingWithObjectFrm: TJSWindowBindingWithObjectFrm - Left = 106 + Left = 434 Height = 589 - Top = 133 + Top = 137 Width = 978 Caption = 'Initializing browser. Please wait...' ClientHeight = 589 @@ -14,7 +14,7 @@ object JSWindowBindingWithObjectFrm: TJSWindowBindingWithObjectFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -69,9 +69,4 @@ object JSWindowBindingWithObjectFrm: TJSWindowBindingWithObjectFrm left = 32 top = 288 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 32 - top = 360 - end end diff --git a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas index e23e2e30..4d6e3a70 100644 --- a/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas +++ b/demos/Lazarus/JavaScript/JSWindowBindingWithObject/uJSWindowBindingWithObject.pas @@ -59,7 +59,6 @@ type { TJSWindowBindingWithObjectFrm } TJSWindowBindingWithObjectFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; Edit1: TEdit; GoBtn: TButton; @@ -122,8 +121,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context); var @@ -180,8 +178,7 @@ end; procedure TJSWindowBindingWithObjectFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TJSWindowBindingWithObjectFrm.WMMove(var aMessage : TWMMove); @@ -230,7 +227,8 @@ end; procedure TJSWindowBindingWithObjectFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TJSWindowBindingWithObjectFrm.Chromium1Close( diff --git a/demos/Lazarus/OSRExternalPumpBrowser/OSRExternalPumpBrowser.lps b/demos/Lazarus/OSRExternalPumpBrowser/OSRExternalPumpBrowser.lps index afaa5fe9..016b1689 100644 --- a/demos/Lazarus/OSRExternalPumpBrowser/OSRExternalPumpBrowser.lps +++ b/demos/Lazarus/OSRExternalPumpBrowser/OSRExternalPumpBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -62,123 +62,123 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - - + + - + - + - + - + - + - + diff --git a/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.lfm b/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.lfm index efc9fcfc..09f4599a 100644 --- a/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.lfm +++ b/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.lfm @@ -16,7 +16,7 @@ object OSRExternalPumpBrowserFrm: TOSRExternalPumpBrowserFrm OnHide = FormHide OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object NavControlPnl: TPanel Left = 0 Height = 21 @@ -144,9 +144,4 @@ object OSRExternalPumpBrowserFrm: TOSRExternalPumpBrowserFrm left = 24 top = 206 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 24 - top = 136 - end end diff --git a/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas b/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas index 24a7f63e..ca8d4ba2 100644 --- a/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas +++ b/demos/Lazarus/OSRExternalPumpBrowser/uOSRExternalPumpBrowser.pas @@ -54,7 +54,6 @@ type { TOSRExternalPumpBrowserFrm } TOSRExternalPumpBrowserFrm = class(TForm) - CEFSentinel1: TCEFSentinel; NavControlPnl: TPanel; chrmosr: TChromium; ComboBox1: TComboBox; @@ -166,8 +165,7 @@ var // 2- chrmosr.CloseBrowser(True) will trigger chrmosr.OnClose and we have to // set "Result" to false and CEF will destroy the internal browser immediately. // 3- chrmosr.OnBeforeClose is triggered because the internal browser was destroyed. -// Now we call TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4- TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// FCanClose is set to True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; procedure GlobalCEFApp_OnScheduleMessagePumpWork(const aDelayMS : int64); @@ -278,7 +276,8 @@ end; procedure TOSRExternalPumpBrowserFrm.chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TOSRExternalPumpBrowserFrm.Panel1UTF8KeyPress(Sender: TObject; var UTF8Key: TUTF8Char); @@ -326,7 +325,7 @@ procedure TOSRExternalPumpBrowserFrm.chrmosrCursorChange(Sender : TObject; cursorType : TCefCursorType; const customCursorInfo : PCefCursorInfo); begin - Panel1.Cursor := GefCursorToWindowsCursor(cursorType); + Panel1.Cursor := CefCursorToWindowsCursor(cursorType); end; procedure TOSRExternalPumpBrowserFrm.chrmosrGetScreenInfo(Sender : TObject; @@ -896,7 +895,7 @@ end; procedure TOSRExternalPumpBrowserFrm.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Lazarus/PopupBrowser/PopupBrowser.lps b/demos/Lazarus/PopupBrowser/PopupBrowser.lps index e8549e89..41218194 100644 --- a/demos/Lazarus/PopupBrowser/PopupBrowser.lps +++ b/demos/Lazarus/PopupBrowser/PopupBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -56,7 +56,7 @@ - + @@ -129,6 +129,14 @@ + + + + + + + + diff --git a/demos/Lazarus/PopupBrowser/uChildForm.pas b/demos/Lazarus/PopupBrowser/uChildForm.pas index f2fd724d..b0196b86 100644 --- a/demos/Lazarus/PopupBrowser/uChildForm.pas +++ b/demos/Lazarus/PopupBrowser/uChildForm.pas @@ -838,7 +838,7 @@ end; procedure TChildForm.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Lazarus/PopupBrowser/uMainForm.lfm b/demos/Lazarus/PopupBrowser/uMainForm.lfm index 9a1cf29c..aa9b0eeb 100644 --- a/demos/Lazarus/PopupBrowser/uMainForm.lfm +++ b/demos/Lazarus/PopupBrowser/uMainForm.lfm @@ -15,7 +15,7 @@ object MainForm: TMainForm OnDestroy = FormDestroy OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object AddressPnl: TPanel Left = 0 Height = 21 @@ -74,9 +74,4 @@ object MainForm: TMainForm left = 56 top = 40 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 56 - top = 221 - end end diff --git a/demos/Lazarus/PopupBrowser/uMainForm.pas b/demos/Lazarus/PopupBrowser/uMainForm.pas index 665adcdb..93b48b72 100644 --- a/demos/Lazarus/PopupBrowser/uMainForm.pas +++ b/demos/Lazarus/PopupBrowser/uMainForm.pas @@ -59,7 +59,6 @@ type AddressPnl: TPanel; AddressEdt: TEdit; ApplicationProperties1: TApplicationProperties; - CEFSentinel1: TCEFSentinel; GoBtn: TButton; Timer1: TTimer; Chromium1: TChromium; @@ -141,8 +140,7 @@ uses // 1. FormCloseQuery sets CanClose to FALSE and it closes all child forms. // 2. When all the child forms are closed then FormCloseQuery is triggered again, sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 3. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 4. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 5. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 4. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; @@ -332,13 +330,13 @@ end; procedure TMainForm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TMainForm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TMainForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction: TCefCloseBrowserAction); diff --git a/demos/Lazarus/PopupBrowser2/PopupBrowser2.lps b/demos/Lazarus/PopupBrowser2/PopupBrowser2.lps index be4cf9fa..612ac7e5 100644 --- a/demos/Lazarus/PopupBrowser2/PopupBrowser2.lps +++ b/demos/Lazarus/PopupBrowser2/PopupBrowser2.lps @@ -20,12 +20,13 @@ + - - + + - + @@ -37,7 +38,6 @@ - @@ -83,7 +83,7 @@ - + @@ -164,6 +164,14 @@ + + + + + + + + diff --git a/demos/Lazarus/PopupBrowser2/uMainForm.lfm b/demos/Lazarus/PopupBrowser2/uMainForm.lfm index 7d5b4c77..eab3cc2b 100644 --- a/demos/Lazarus/PopupBrowser2/uMainForm.lfm +++ b/demos/Lazarus/PopupBrowser2/uMainForm.lfm @@ -15,7 +15,7 @@ object MainForm: TMainForm OnDestroy = FormDestroy OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object AddressPnl: TPanel Left = 0 Height = 21 @@ -74,9 +74,4 @@ object MainForm: TMainForm left = 56 top = 216 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 56 - top = 288 - end end diff --git a/demos/Lazarus/PopupBrowser2/uMainForm.pas b/demos/Lazarus/PopupBrowser2/uMainForm.pas index 121b91a1..ba637a39 100644 --- a/demos/Lazarus/PopupBrowser2/uMainForm.pas +++ b/demos/Lazarus/PopupBrowser2/uMainForm.pas @@ -59,7 +59,6 @@ type AddressPnl: TPanel; AddressEdt: TEdit; ApplicationProperties1: TApplicationProperties; - CEFSentinel1: TCEFSentinel; GoBtn: TButton; Timer1: TTimer; Chromium1: TChromium; @@ -141,8 +140,7 @@ uses // 1. FormCloseQuery sets CanClose to FALSE and it closes all child forms. // 2. When all the child forms are closed then FormCloseQuery is triggered again, sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 3. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 4. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 5. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 4. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; begin @@ -331,13 +329,13 @@ end; procedure TMainForm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TMainForm.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TMainForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; diff --git a/demos/Lazarus/PostInspectorBrowser/PostInspectorBrowser.lps b/demos/Lazarus/PostInspectorBrowser/PostInspectorBrowser.lps index 8ab5ac07..98b47f71 100644 --- a/demos/Lazarus/PostInspectorBrowser/PostInspectorBrowser.lps +++ b/demos/Lazarus/PostInspectorBrowser/PostInspectorBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -74,7 +74,7 @@ - + @@ -86,6 +86,18 @@ + + + + + + + + + + + + diff --git a/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.lfm b/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.lfm index 48f6e315..6de79c00 100644 --- a/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.lfm +++ b/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.lfm @@ -15,7 +15,7 @@ object Form1: TForm1 OnDestroy = FormDestroy OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object Splitter1: TSplitter Cursor = crVSplit Left = 0 @@ -94,9 +94,4 @@ object Form1: TForm1 left = 56 top = 152 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 56 - top = 216 - end end diff --git a/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.pas b/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.pas index 68d2b76a..9a38fb92 100644 --- a/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.pas +++ b/demos/Lazarus/PostInspectorBrowser/uPostInspectorBrowser.pas @@ -61,7 +61,6 @@ type TForm1 = class(TForm) AddressPnl: TPanel; - CEFSentinel1: TCEFSentinel; GoBtn: TButton; Timer1: TTimer; Chromium1: TChromium; @@ -145,8 +144,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; begin @@ -395,7 +393,8 @@ end; procedure TForm1.Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TForm1.Chromium1BeforePopup(Sender: TObject; @@ -438,8 +437,7 @@ end; procedure TForm1.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TForm1.Timer1Timer(Sender: TObject); diff --git a/demos/Lazarus/SchemeRegistrationBrowser/SchemeRegistrationBrowser.lps b/demos/Lazarus/SchemeRegistrationBrowser/SchemeRegistrationBrowser.lps index b69c3bd4..2fd100bc 100644 --- a/demos/Lazarus/SchemeRegistrationBrowser/SchemeRegistrationBrowser.lps +++ b/demos/Lazarus/SchemeRegistrationBrowser/SchemeRegistrationBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -54,7 +54,7 @@ - + @@ -155,6 +155,22 @@ + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.lfm b/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.lfm index f3d6a345..b0eaed44 100644 --- a/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.lfm +++ b/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.lfm @@ -14,7 +14,7 @@ object SchemeRegistrationBrowserFrm: TSchemeRegistrationBrowserFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object AddressBarPnl: TPanel Left = 0 Height = 21 @@ -79,9 +79,4 @@ object SchemeRegistrationBrowserFrm: TSchemeRegistrationBrowserFrm left = 16 top = 96 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 16 - top = 160 - end end diff --git a/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.pas b/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.pas index 8e6f504d..1d3be00e 100644 --- a/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.pas +++ b/demos/Lazarus/SchemeRegistrationBrowser/uSchemeRegistrationBrowser.pas @@ -65,7 +65,6 @@ type TSchemeRegistrationBrowserFrm = class(TForm) AddressBarPnl: TPanel; - CEFSentinel1: TCEFSentinel; GoBtn: TButton; CEFWindowParent1: TCEFWindowParent; Chromium1: TChromium; @@ -131,8 +130,7 @@ uses // ================= // 1. FormCloseQuery sets CanClose to FALSE calls TChromium.CloseBrowser which triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROY message to destroy CEFWindowParent1 in the main thread, which triggers the TChromium.OnBeforeClose event. -// 3. TChromium.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromium.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnRegCustomSchemes(const registrar: TCefSchemeRegistrarRef); begin @@ -152,14 +150,14 @@ end; procedure TSchemeRegistrationBrowserFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TSchemeRegistrationBrowserFrm.Chromium1BeforeClose( Sender: TObject; const browser: ICefBrowser); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TSchemeRegistrationBrowserFrm.Chromium1BeforeContextMenu( diff --git a/demos/Lazarus/SimpleBrowser/SimpleBrowser.lps b/demos/Lazarus/SimpleBrowser/SimpleBrowser.lps index 5dde9ff8..451133ea 100644 --- a/demos/Lazarus/SimpleBrowser/SimpleBrowser.lps +++ b/demos/Lazarus/SimpleBrowser/SimpleBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -38,7 +38,7 @@ - + @@ -63,6 +63,14 @@ + + + + + + + + diff --git a/demos/Lazarus/SimpleBrowser/uSimpleBrowser.lfm b/demos/Lazarus/SimpleBrowser/uSimpleBrowser.lfm index 54d4a46b..275d762f 100644 --- a/demos/Lazarus/SimpleBrowser/uSimpleBrowser.lfm +++ b/demos/Lazarus/SimpleBrowser/uSimpleBrowser.lfm @@ -14,7 +14,7 @@ object Form1: TForm1 OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object ChromiumWindow1: TChromiumWindow Left = 0 Height = 603 @@ -65,9 +65,4 @@ object Form1: TForm1 left = 56 top = 88 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 56 - top = 154 - end end diff --git a/demos/Lazarus/SimpleBrowser/uSimpleBrowser.pas b/demos/Lazarus/SimpleBrowser/uSimpleBrowser.pas index 70a0e64d..330ad994 100644 --- a/demos/Lazarus/SimpleBrowser/uSimpleBrowser.pas +++ b/demos/Lazarus/SimpleBrowser/uSimpleBrowser.pas @@ -57,7 +57,6 @@ type { TForm1 } TForm1 = class(TForm) - CEFSentinel1: TCEFSentinel; ChromiumWindow1: TChromiumWindow; AddressPnl: TPanel; AddressEdt: TEdit; @@ -171,13 +170,18 @@ end; procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TForm1.ChromiumWindow1Close(Sender: TObject); begin // DestroyChildWindow will destroy the child window created by CEF at the top of the Z order. - if not(ChromiumWindow1.DestroyChildWindow) then CEFSentinel1.Start; + if not(ChromiumWindow1.DestroyChildWindow) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; procedure TForm1.Chromium_OnBeforePopup(Sender: TObject; diff --git a/demos/Lazarus/SimpleBrowser2/SimpleBrowser2.lps b/demos/Lazarus/SimpleBrowser2/SimpleBrowser2.lps index aef308dc..77bbd154 100644 --- a/demos/Lazarus/SimpleBrowser2/SimpleBrowser2.lps +++ b/demos/Lazarus/SimpleBrowser2/SimpleBrowser2.lps @@ -35,7 +35,7 @@ - + @@ -437,7 +437,7 @@ - + @@ -483,13 +483,9 @@ - - - - - + diff --git a/demos/Lazarus/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.lps b/demos/Lazarus/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.lps index 8f6a1321..25172f9d 100644 --- a/demos/Lazarus/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.lps +++ b/demos/Lazarus/SimpleExternalPumpBrowser/SimpleExternalPumpBrowser.lps @@ -22,15 +22,15 @@ - - + + - + @@ -66,6 +66,18 @@ + + + + + + + + + + + + diff --git a/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.lfm b/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.lfm index 2bb01891..a2641dfd 100644 --- a/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.lfm +++ b/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.lfm @@ -14,7 +14,7 @@ object SimpleExternalPumpBrowserFrm: TSimpleExternalPumpBrowserFrm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object AddressPnl: TPanel Left = 0 Height = 21 @@ -85,9 +85,4 @@ object SimpleExternalPumpBrowserFrm: TSimpleExternalPumpBrowserFrm left = 56 top = 88 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 56 - top = 168 - end end diff --git a/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas b/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas index edc18f2b..59f28c72 100644 --- a/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas +++ b/demos/Lazarus/SimpleExternalPumpBrowser/uSimpleExternalPumpBrowser.pas @@ -58,7 +58,6 @@ type TSimpleExternalPumpBrowserFrm = class(TForm) AddressPnl: TPanel; - CEFSentinel1: TCEFSentinel; GoBtn: TButton; Timer1: TTimer; URLCbx: TComboBox; @@ -106,8 +105,7 @@ uses // It was necessary to destroy the browser with the following destruction sequence : // 1. The FormCloseQuery event sets CanClose to False and calls TChromiumWindow.CloseBrowser, which triggers the TChromiumWindow.OnClose event. // 2. The TChromiumWindow.OnClose event calls TChromiumWindow.DestroyChildWindow which triggers the TChromiumWindow.OnBeforeClose event. -// 3. TChromiumWindow.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromiumWindow.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure GlobalCEFApp_OnScheduleMessagePumpWork(const aDelayMS : int64); begin @@ -180,13 +178,18 @@ end; procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1BeforeClose(Sender: TObject); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TSimpleExternalPumpBrowserFrm.ChromiumWindow1Close(Sender: TObject); begin // DestroyChildWindow will destroy the child window created by CEF at the top of the Z order. - if not(ChromiumWindow1.DestroyChildWindow) then CEFSentinel1.Start; + if not(ChromiumWindow1.DestroyChildWindow) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; procedure TSimpleExternalPumpBrowserFrm.GoBtnClick(Sender: TObject); @@ -196,8 +199,7 @@ end; procedure TSimpleExternalPumpBrowserFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TSimpleExternalPumpBrowserFrm.Timer1Timer(Sender: TObject); diff --git a/demos/Lazarus/SimpleOSRBrowser/SimpleOSRBrowser.lps b/demos/Lazarus/SimpleOSRBrowser/SimpleOSRBrowser.lps index 40f1da37..27f51b4f 100644 --- a/demos/Lazarus/SimpleOSRBrowser/SimpleOSRBrowser.lps +++ b/demos/Lazarus/SimpleOSRBrowser/SimpleOSRBrowser.lps @@ -39,10 +39,10 @@ - + - + diff --git a/demos/Lazarus/SimpleOSRBrowser/usimplelazosrbrowser.pas b/demos/Lazarus/SimpleOSRBrowser/usimplelazosrbrowser.pas index 116edeed..48b5cd2f 100644 --- a/demos/Lazarus/SimpleOSRBrowser/usimplelazosrbrowser.pas +++ b/demos/Lazarus/SimpleOSRBrowser/usimplelazosrbrowser.pas @@ -168,8 +168,7 @@ uses // 2- chrmosr.CloseBrowser(True) will trigger chrmosr.OnClose and we have to // set "Result" to false and CEF will destroy the internal browser immediately. // 3- chrmosr.OnBeforeClose is triggered because the internal browser was destroyed. -// Now we call TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4- TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// FCanClose is set to True and sends WM_CLOSE to the form. procedure CreateGlobalCEFApp; @@ -869,7 +868,7 @@ end; procedure TForm1.InitializeLastClick; begin - FLastClickCount := 0; + FLastClickCount := 1; FLastClickTime := 0; FLastClickPoint.x := 0; FLastClickPoint.y := 0; diff --git a/demos/Lazarus/SimpleServer/SimpleServer.lps b/demos/Lazarus/SimpleServer/SimpleServer.lps index df1b8aff..c5d8a119 100644 --- a/demos/Lazarus/SimpleServer/SimpleServer.lps +++ b/demos/Lazarus/SimpleServer/SimpleServer.lps @@ -8,9 +8,9 @@ - + @@ -19,71 +19,41 @@ - - - - + + + + + + - - - + - + - - + - - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/demos/Lazarus/SubProcess/SimpleBrowser.lps b/demos/Lazarus/SubProcess/SimpleBrowser.lps index 788a2725..867a77c5 100644 --- a/demos/Lazarus/SubProcess/SimpleBrowser.lps +++ b/demos/Lazarus/SubProcess/SimpleBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -40,7 +40,7 @@ - + @@ -64,6 +64,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/demos/Lazarus/SubProcess/uSimpleBrowser.lfm b/demos/Lazarus/SubProcess/uSimpleBrowser.lfm index 4f5fbe88..b1f48676 100644 --- a/demos/Lazarus/SubProcess/uSimpleBrowser.lfm +++ b/demos/Lazarus/SubProcess/uSimpleBrowser.lfm @@ -1,7 +1,7 @@ object Form1: TForm1 - Left = 49 + Left = 206 Height = 624 - Top = 86 + Top = 79 Width = 1038 Caption = 'Simple Browser' ClientHeight = 624 @@ -13,7 +13,7 @@ object Form1: TForm1 OnCloseQuery = FormCloseQuery OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object ChromiumWindow1: TChromiumWindow Left = 0 Height = 603 @@ -63,9 +63,4 @@ object Form1: TForm1 left = 80 top = 88 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 80 - top = 168 - end end diff --git a/demos/Lazarus/SubProcess/uSimpleBrowser.pas b/demos/Lazarus/SubProcess/uSimpleBrowser.pas index 3ceb018e..eb04968d 100644 --- a/demos/Lazarus/SubProcess/uSimpleBrowser.pas +++ b/demos/Lazarus/SubProcess/uSimpleBrowser.pas @@ -57,7 +57,6 @@ type { TForm1 } TForm1 = class(TForm) - CEFSentinel1: TCEFSentinel; ChromiumWindow1: TChromiumWindow; AddressPnl: TPanel; AddressEdt: TEdit; @@ -115,8 +114,7 @@ uses // ================= // 1. The FormCloseQuery event sets CanClose to False and calls TChromiumWindow.CloseBrowser, which triggers the TChromiumWindow.OnClose event. // 2. The TChromiumWindow.OnClose event calls TChromiumWindow.DestroyChildWindow which triggers the TChromiumWindow.OnBeforeClose event. -// 3. TChromiumWindow.OnBeforeClose calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sets FCanClose := True and sends WM_CLOSE to the form. +// 3. TChromiumWindow.OnBeforeClose sets FCanClose := True and sends WM_CLOSE to the form. procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin @@ -153,12 +151,17 @@ end; procedure TForm1.ChromiumWindow1Close(Sender: TObject); begin // DestroyChildWindow will destroy the child window created by CEF at the top of the Z order. - if not(ChromiumWindow1.DestroyChildWindow) then CEFSentinel1.Start; + if not(ChromiumWindow1.DestroyChildWindow) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; procedure TForm1.ChromiumWindow1BeforeClose(Sender: TObject); begin - CEFSentinel1.Start; + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); end; procedure TForm1.Chromium_OnBeforePopup(Sender: TObject; @@ -191,8 +194,7 @@ end; procedure TForm1.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TForm1.Timer1Timer(Sender: TObject); diff --git a/demos/Lazarus/TabbedBrowser/TabBrowser.lps b/demos/Lazarus/TabbedBrowser/TabBrowser.lps index fc8ead76..3314435d 100644 --- a/demos/Lazarus/TabbedBrowser/TabBrowser.lps +++ b/demos/Lazarus/TabbedBrowser/TabBrowser.lps @@ -22,8 +22,8 @@ - - + + @@ -33,7 +33,7 @@ - + @@ -73,6 +73,18 @@ + + + + + + + + + + + + diff --git a/demos/Lazarus/TabbedBrowser/uMainForm.lfm b/demos/Lazarus/TabbedBrowser/uMainForm.lfm index 87b9c13b..fd9283c4 100644 --- a/demos/Lazarus/TabbedBrowser/uMainForm.lfm +++ b/demos/Lazarus/TabbedBrowser/uMainForm.lfm @@ -14,7 +14,7 @@ object MainForm: TMainForm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object ButtonPnl: TPanel Left = 0 Height = 25 @@ -193,9 +193,4 @@ object MainForm: TMainForm TabOrder = 1 OnChange = PageControl1Change end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 160 - top = 121 - end end diff --git a/demos/Lazarus/TabbedBrowser/uMainForm.pas b/demos/Lazarus/TabbedBrowser/uMainForm.pas index 576e9eaa..7d870c6f 100644 --- a/demos/Lazarus/TabbedBrowser/uMainForm.pas +++ b/demos/Lazarus/TabbedBrowser/uMainForm.pas @@ -63,7 +63,6 @@ type { TMainForm } TMainForm = class(TForm) - CEFSentinel1: TCEFSentinel; PageControl1: TPageControl; ButtonPnl: TPanel; NavButtonPnl: TPanel; @@ -151,8 +150,7 @@ implementation // 1. FormCloseQuery hides the form and calls CloseAllBrowsers which calls TChromium.CloseBrowser in all tabs and triggers the TChromium.OnClose event. // 2. TChromium.OnClose sends a CEFBROWSER_DESTROYWNDPARENT message to destroy TCEFWindowParent in the main thread which triggers a TChromium.OnBeforeClose event. // 3. TChromium.OnBeforeClose sends a CEFBROWSER_CHECKTAGGEDTABS message to set the TAG property to 1 in the TabSheet containing the TChromium. -// When all tabsheets have a TAG = 1 it calls TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when the renderer processes are closed. -// 4. TCEFSentinel.OnClose sends WM_CLOSE to the form. +// When all tabsheets have a TAG = 1 it sends WM_CLOSE to the form. procedure GlobalCEFApp_OnContextInitialized; begin @@ -197,8 +195,7 @@ end; procedure TMainForm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TMainForm.RemoveTabBtnClick(Sender: TObject); @@ -363,7 +360,11 @@ begin begin PageControl1.Pages[aMessage.lParam].Tag := 1; - if AllTabSheetsAreTagged then CEFSentinel1.Start; + if AllTabSheetsAreTagged then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; end; diff --git a/demos/Lazarus/TabbedBrowser2/TabbedBrowser2.lps b/demos/Lazarus/TabbedBrowser2/TabbedBrowser2.lps index 6c5f1668..074d4b10 100644 --- a/demos/Lazarus/TabbedBrowser2/TabbedBrowser2.lps +++ b/demos/Lazarus/TabbedBrowser2/TabbedBrowser2.lps @@ -34,8 +34,9 @@ + - + @@ -45,9 +46,8 @@ - - + diff --git a/demos/Lazarus/ToolBoxBrowser/ToolBoxBrowser.lps b/demos/Lazarus/ToolBoxBrowser/ToolBoxBrowser.lps index 255d326f..2466db11 100644 --- a/demos/Lazarus/ToolBoxBrowser/ToolBoxBrowser.lps +++ b/demos/Lazarus/ToolBoxBrowser/ToolBoxBrowser.lps @@ -22,12 +22,12 @@ - - + + - - + + @@ -62,7 +62,7 @@ - + @@ -94,6 +94,14 @@ + + + + + + + + diff --git a/demos/Lazarus/ToolBoxBrowser/uMainForm.lfm b/demos/Lazarus/ToolBoxBrowser/uMainForm.lfm index 35c3c87d..c6e5a420 100644 --- a/demos/Lazarus/ToolBoxBrowser/uMainForm.lfm +++ b/demos/Lazarus/ToolBoxBrowser/uMainForm.lfm @@ -15,7 +15,7 @@ object MainForm: TMainForm OnCreate = FormCreate OnShow = FormShow Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object ButtonPnl: TPanel Left = 0 Height = 37 @@ -45,8 +45,4 @@ object MainForm: TMainForm TabOrder = 1 end end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 232 - end end diff --git a/demos/Lazarus/ToolBoxBrowser/uMainForm.pas b/demos/Lazarus/ToolBoxBrowser/uMainForm.pas index 4cf7f93d..28be110f 100644 --- a/demos/Lazarus/ToolBoxBrowser/uMainForm.pas +++ b/demos/Lazarus/ToolBoxBrowser/uMainForm.pas @@ -64,7 +64,6 @@ type TMainForm = class(TForm) ButtonPnl: TPanel; - CEFSentinel1: TCEFSentinel; Edit1: TEdit; Button1: TButton; procedure CEFSentinel1Close(Sender: TObject); @@ -107,8 +106,7 @@ uses // Destruction steps // ================= // 1. Destroy all child forms -// 2. Wait until all the child forms are closed before calling TCEFSentinel.Start, which will trigger TCEFSentinel.OnClose when all renderer processes are closed -// 3. TCEFSentinel.OnClose closes the main form. +// 2. Wait until all the child forms are closed before closing the main form. procedure GlobalCEFApp_OnContextInitialized; begin @@ -140,8 +138,7 @@ end; procedure TMainForm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TMainForm.CloseAllChildForms; @@ -220,7 +217,11 @@ end; procedure TMainForm.ChildDestroyedMsg(var aMessage : TMessage); begin // If there are no more child forms we start the sentinel - if FClosing and (ChildFormCount = 0) then CEFSentinel1.Start; + if FClosing and (ChildFormCount = 0) then + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end; end; function TMainForm.CloseQuery: Boolean; diff --git a/demos/Lazarus/URLRequest/URLRequest.lps b/demos/Lazarus/URLRequest/URLRequest.lps index fee8bbe9..c223cfad 100644 --- a/demos/Lazarus/URLRequest/URLRequest.lps +++ b/demos/Lazarus/URLRequest/URLRequest.lps @@ -22,8 +22,8 @@ - - + + @@ -58,7 +58,7 @@ - + @@ -108,16 +108,20 @@ - + - + - + + + + + diff --git a/demos/Lazarus/URLRequest/uURLRequest.lfm b/demos/Lazarus/URLRequest/uURLRequest.lfm index 0988ab9d..881919d9 100644 --- a/demos/Lazarus/URLRequest/uURLRequest.lfm +++ b/demos/Lazarus/URLRequest/uURLRequest.lfm @@ -16,7 +16,7 @@ object URLRequestFrm: TURLRequestFrm OnCreate = FormCreate OnDestroy = FormDestroy Position = poScreenCenter - LCLVersion = '2.0.4.0' + LCLVersion = '2.0.6.0' object StatusBar1: TStatusBar Left = 0 Height = 23 @@ -203,9 +203,4 @@ object URLRequestFrm: TURLRequestFrm left = 304 top = 104 end - object CEFSentinel1: TCEFSentinel - OnClose = CEFSentinel1Close - left = 152 - top = 112 - end end diff --git a/demos/Lazarus/URLRequest/uURLRequest.pas b/demos/Lazarus/URLRequest/uURLRequest.pas index 6423e5f5..c5824865 100644 --- a/demos/Lazarus/URLRequest/uURLRequest.pas +++ b/demos/Lazarus/URLRequest/uURLRequest.pas @@ -61,7 +61,6 @@ type { TURLRequestFrm } TURLRequestFrm = class(TForm) - CEFSentinel1: TCEFSentinel; StatusBar1: TStatusBar; SaveDialog1: TSaveDialog; CEFUrlRequestClientComponent1: TCEFUrlRequestClientComponent; @@ -205,8 +204,7 @@ end; procedure TURLRequestFrm.CEFSentinel1Close(Sender: TObject); begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); + end; procedure TURLRequestFrm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); @@ -358,7 +356,10 @@ begin // Use request.response here to get a ICefResponse interface with all the response headers, status, error code, etc. if FClosing then - CEFSentinel1.Start + begin + FCanClose := True; + PostMessage(Handle, WM_CLOSE, 0, 0); + end else if (request <> nil) and (request.RequestStatus = UR_SUCCESS) then PostMessage(Handle, URLREQUEST_SUCCESS, 0, 0) diff --git a/packages/cef4delphi_lazarus.lpk b/packages/cef4delphi_lazarus.lpk index 7764be79..9898aee0 100644 --- a/packages/cef4delphi_lazarus.lpk +++ b/packages/cef4delphi_lazarus.lpk @@ -21,7 +21,7 @@ - + diff --git a/source/uCEFApplicationCore.pas b/source/uCEFApplicationCore.pas index 918235b4..17b74874 100644 --- a/source/uCEFApplicationCore.pas +++ b/source/uCEFApplicationCore.pas @@ -60,15 +60,15 @@ uses uCEFTypes, uCEFInterfaces, uCEFBaseRefCounted, uCEFSchemeRegistrar; const - CEF_SUPPORTED_VERSION_MAJOR = 79; - CEF_SUPPORTED_VERSION_MINOR = 1; - CEF_SUPPORTED_VERSION_RELEASE = 38; + CEF_SUPPORTED_VERSION_MAJOR = 80; + CEF_SUPPORTED_VERSION_MINOR = 0; + CEF_SUPPORTED_VERSION_RELEASE = 4; CEF_SUPPORTED_VERSION_BUILD = 0; - CEF_CHROMEELF_VERSION_MAJOR = 79; + CEF_CHROMEELF_VERSION_MAJOR = 80; CEF_CHROMEELF_VERSION_MINOR = 0; - CEF_CHROMEELF_VERSION_RELEASE = 3945; - CEF_CHROMEELF_VERSION_BUILD = 130; + CEF_CHROMEELF_VERSION_RELEASE = 3987; + CEF_CHROMEELF_VERSION_BUILD = 122; {$IFDEF MSWINDOWS} LIBCEF_DLL = 'libcef.dll'; @@ -165,6 +165,7 @@ type FAllowFileAccessFromFiles : boolean; FAllowRunningInsecureContent : boolean; FSupportedSchemes : TStringList; + FDisableNewBrowserInfoTimeout : boolean; FPluginPolicy : TCefPluginPolicySwitch; FDefaultEncoding : string; @@ -432,6 +433,7 @@ type property TouchEvents : TCefState read FTouchEvents write FTouchEvents; // --touch-events property DisableReadingFromCanvas : boolean read FDisableReadingFromCanvas write FDisableReadingFromCanvas; // --disable-reading-from-canvas property HyperlinkAuditing : boolean read FHyperlinkAuditing write FHyperlinkAuditing; // --no-pings + property DisableNewBrowserInfoTimeout : boolean read FDisableNewBrowserInfoTimeout write FDisableNewBrowserInfoTimeout; // --disable-new-browser-info-timeout // Properties used during the CEF initialization property WindowsSandboxInfo : Pointer read FWindowsSandboxInfo write FWindowsSandboxInfo; @@ -661,6 +663,7 @@ begin FEnableBlinkFeatures := ''; FDisableBlinkFeatures := ''; FSupportedSchemes := nil; + FDisableNewBrowserInfoTimeout := False; FDisableJavascriptCloseWindows := False; FDisableJavascriptAccessClipboard := False; @@ -1686,7 +1689,11 @@ begin if FAllowRunningInsecureContent then commandLine.AppendSwitch('--allow-running-insecure-content'); - if FEnablePrintPreview then commandLine.AppendSwitch('--enable-print-preview'); + if FEnablePrintPreview then + commandLine.AppendSwitch('--enable-print-preview'); + + if FDisableNewBrowserInfoTimeout then + commandLine.AppendSwitch('--disable-new-browser-info-timeout'); case FPluginPolicy of PLUGIN_POLICY_SWITCH_DETECT : commandLine.AppendSwitchWithValue('--plugin-policy', 'detect'); diff --git a/source/uCEFConstants.pas b/source/uCEFConstants.pas index e390dc5d..f89c0a97 100644 --- a/source/uCEFConstants.pas +++ b/source/uCEFConstants.pas @@ -336,6 +336,7 @@ const TT_SOURCE_MASK = $000000FF; TT_BLOCKED_FLAG = $00800000; TT_FORWARD_BACK_FLAG = $01000000; + TT_DIRECT_LOAD_FLAG = $02000000; TT_CHAIN_START_FLAG = $10000000; TT_CHAIN_END_FLAG = $20000000; TT_CLIENT_REDIRECT_FLAG = $40000000; diff --git a/source/uCEFMiscFunctions.pas b/source/uCEFMiscFunctions.pas index ae28b9bd..8fa2371f 100644 --- a/source/uCEFMiscFunctions.pas +++ b/source/uCEFMiscFunctions.pas @@ -1095,7 +1095,6 @@ begin TempExists := GetAbsoluteDirPath(aResourcesDirPath, TempDir); TempList := TStringList.Create; - TempList.Add(TempDir + 'natives_blob.bin'); TempList.Add(TempDir + 'snapshot_blob.bin'); TempList.Add(TempDir + 'v8_context_snapshot.bin'); TempList.Add(TempDir + 'cef.pak'); diff --git a/update_CEF4Delphi.json b/update_CEF4Delphi.json index 7215424f..3f7f7d24 100644 --- a/update_CEF4Delphi.json +++ b/update_CEF4Delphi.json @@ -2,9 +2,9 @@ "UpdateLazPackages" : [ { "ForceNotify" : true, - "InternalVersion" : 101, + "InternalVersion" : 102, "Name" : "cef4delphi_lazarus.lpk", - "Version" : "79.1.38.0" + "Version" : "80.0.4.0" } ], "UpdatePackageData" : {