mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-04-27 07:02:21 +02:00
TChromium.OnClose parameter changed
- Fixed initialization issue in FMXExternalPumpBrowser
This commit is contained in:
parent
bfc69072bf
commit
0ae96d07d5
demos
ConsoleBrowser
CookieVisitor
DOMVisitor
ExternalPumpBrowser
FMXExternalPumpBrowser
FMXToolBoxBrowser
FullScreenBrowser
JavaScript
JSEval
JSExecutingFunctions
JSExtension
JSExtensionWithFunction
JSExtensionWithObjectParameter
JSSimpleExtension
JSSimpleWindowBinding
JSWindowBindingSubProcess
JSWindowBindingWithFunction
JSWindowBindingWithObject
KioskOSRBrowser
MDIBrowser
MDIExternalPumpBrowser
MiniBrowser
OSRExternalPumpBrowser
PopupBrowser
PopupBrowser2
PostInspectorBrowser
ResponseFilterBrowser
SchemeRegistrationBrowser
SimpleBrowser2
SimpleFMXBrowser
SimpleLazOSRBrowser
SimpleLazarusBrowser
SimpleOSRBrowser
TabbedBrowser
ToolBoxBrowser
ToolBoxLazBrowser
packages
source
uCEFChromium.pasuCEFChromiumEvents.pasuCEFChromiumWindow.pasuCEFTypes.pasuFMXChromium.pasuFMXWorkScheduler.pas
update_CEF4Delphi.json@ -45,7 +45,6 @@ object WebBrowserFrm: TWebBrowserFrm
|
||||
OnBeforePopup = chrmosrBeforePopup
|
||||
OnAfterCreated = chrmosrAfterCreated
|
||||
OnBeforeClose = chrmosrBeforeClose
|
||||
OnClose = chrmosrClose
|
||||
OnGetViewRect = chrmosrGetViewRect
|
||||
OnGetScreenPoint = chrmosrGetScreenPoint
|
||||
OnGetScreenInfo = chrmosrGetScreenInfo
|
||||
|
@ -89,7 +89,6 @@ type
|
||||
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrTooltip(Sender: TObject; const browser: ICefBrowser; var text: ustring; out Result: Boolean);
|
||||
procedure chrmosrBeforePopup(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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
|
||||
procedure SnapshotBtnClick(Sender: TObject);
|
||||
@ -301,13 +300,6 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TWebBrowserFrm.chrmosrClose( Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
out Result : Boolean);
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TWebBrowserFrm.chrmosrCursorChange( Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
cursor : HICON;
|
||||
|
@ -92,7 +92,7 @@ type
|
||||
var noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
|
||||
@ -254,10 +254,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TCookieVisitorFrm.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TCookieVisitorFrm.Chromium1ContextMenuCommand(Sender: TObject;
|
||||
|
@ -102,7 +102,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
private
|
||||
@ -342,10 +342,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TDOMVisitorFrm.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TDOMVisitorFrm.Chromium1ContextMenuCommand(Sender: TObject;
|
||||
|
@ -49,7 +49,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFTypes, uCEFConstants, uCEFInterfaces, uCEFWorkScheduler;
|
||||
uCEFChromium, uCEFWindowParent, uCEFTypes, uCEFConstants, uCEFInterfaces, uCEFWorkScheduler,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TExternalPumpBrowserFrm = class(TForm)
|
||||
@ -68,7 +69,7 @@ type
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
|
||||
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure Chromium1BeforePopup(Sender: TObject;
|
||||
const browser: ICefBrowser; const frame: ICefFrame; const targetUrl,
|
||||
@ -177,10 +178,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TExternalPumpBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TExternalPumpBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TExternalPumpBrowserFrm.BrowserCreatedMsg(var aMessage : TMessage);
|
||||
|
@ -198,6 +198,12 @@ begin
|
||||
if not(Application.Terminated) and
|
||||
(GlobalFMXWorkScheduler <> nil) then
|
||||
GlobalFMXWorkScheduler.ScheduleWork(TempMsg.lParam);
|
||||
|
||||
CEF_AFTERCREATED :
|
||||
if not(Application.Terminated) and
|
||||
(Application.MainForm <> nil) and
|
||||
(Application.MainForm is TFMXExternalPumpBrowserFrm) then
|
||||
TFMXExternalPumpBrowserFrm(Application.MainForm).DoBrowserCreated;
|
||||
end;
|
||||
{$ENDIF}
|
||||
|
||||
|
@ -107,8 +107,8 @@ object FMXExternalPumpBrowserFrm: TFMXExternalPumpBrowserFrm
|
||||
object chrmosr: TFMXChromium
|
||||
OnTooltip = chrmosrTooltip
|
||||
OnBeforePopup = chrmosrBeforePopup
|
||||
OnAfterCreated = chrmosrAfterCreated
|
||||
OnBeforeClose = chrmosrBeforeClose
|
||||
OnClose = chrmosrClose
|
||||
OnGetViewRect = chrmosrGetViewRect
|
||||
OnGetScreenPoint = chrmosrGetScreenPoint
|
||||
OnGetScreenInfo = chrmosrGetScreenInfo
|
||||
|
@ -94,10 +94,10 @@ type
|
||||
procedure chrmosrGetScreenInfo(Sender: TObject; const browser: ICefBrowser; var screenInfo: TCefScreenInfo; out Result: Boolean);
|
||||
procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean);
|
||||
procedure chrmosrPopupSize(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect);
|
||||
procedure chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrTooltip(Sender: TObject; const browser: ICefBrowser; var text: ustring; out Result: Boolean);
|
||||
procedure chrmosrBeforePopup(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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
|
||||
procedure Timer1Timer(Sender: TObject);
|
||||
procedure AddressEdtEnter(Sender: TObject);
|
||||
@ -237,7 +237,7 @@ end;
|
||||
|
||||
procedure TFMXExternalPumpBrowserFrm.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
fResizeCS.Free;
|
||||
FResizeCS.Free;
|
||||
if (FPopUpBitmap <> nil) then FreeAndNil(FPopUpBitmap);
|
||||
end;
|
||||
|
||||
@ -258,12 +258,8 @@ begin
|
||||
begin
|
||||
// opaque white background color
|
||||
chrmosr.Options.BackgroundColor := CefColorSetARGB($FF, $FF, $FF, $FF);
|
||||
chrmosr.DefaultUrl := AddressEdt.Text;
|
||||
|
||||
if chrmosr.CreateBrowser then
|
||||
DoBrowserCreated
|
||||
else
|
||||
Timer1.Enabled := True;
|
||||
if not(chrmosr.CreateBrowser) then Timer1.Enabled := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -484,11 +480,8 @@ procedure TFMXExternalPumpBrowserFrm.Timer1Timer(Sender: TObject);
|
||||
begin
|
||||
Timer1.Enabled := False;
|
||||
|
||||
if chrmosr.CreateBrowser then
|
||||
DoBrowserCreated
|
||||
else
|
||||
if not(chrmosr.Initialized) then
|
||||
Timer1.Enabled := True;
|
||||
if not(chrmosr.CreateBrowser) and not(chrmosr.Initialized) then
|
||||
Timer1.Enabled := True;
|
||||
end;
|
||||
|
||||
procedure TFMXExternalPumpBrowserFrm.AddressEdtEnter(Sender: TObject);
|
||||
@ -496,6 +489,14 @@ begin
|
||||
chrmosr.SendFocusEvent(False);
|
||||
end;
|
||||
|
||||
procedure TFMXExternalPumpBrowserFrm.chrmosrAfterCreated(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
begin
|
||||
// Now the browser is fully initialized we can send a message to the
|
||||
// main form to load the initial web page.
|
||||
SendCompMessage(CEF_AFTERCREATED);
|
||||
end;
|
||||
|
||||
procedure TFMXExternalPumpBrowserFrm.chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
begin
|
||||
FCanClose := True;
|
||||
@ -520,11 +521,6 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TFMXExternalPumpBrowserFrm.chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TFMXExternalPumpBrowserFrm.chrmosrCursorChange(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
cursor : HICON;
|
||||
@ -864,6 +860,7 @@ begin
|
||||
Caption := 'FMX External Pump Browser';
|
||||
AddressPnl.Enabled := True;
|
||||
Panel1.SetFocus;
|
||||
LoadURL;
|
||||
end;
|
||||
|
||||
function TFMXExternalPumpBrowserFrm.getModifiers(Shift: TShiftState): TCefEventFlags;
|
||||
|
@ -5,7 +5,7 @@
|
||||
<FrameworkType>FMX</FrameworkType>
|
||||
<MainSource>FMXToolBoxBrowser.dpr</MainSource>
|
||||
<Base>True</Base>
|
||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||
<Config Condition="'$(Config)'==''">Release</Config>
|
||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||
<TargetedPlatforms>3</TargetedPlatforms>
|
||||
<AppType>Application</AppType>
|
||||
|
@ -60,7 +60,7 @@ type
|
||||
|
||||
procedure FMXChromium1BeforePopup(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 noJavascriptAccess, Result: Boolean);
|
||||
procedure FMXChromium1BeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure FMXChromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure FMXChromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
|
||||
protected
|
||||
// Variables to control when can we destroy the form safely
|
||||
@ -157,10 +157,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TChildForm.FMXChromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TChildForm.FMXChromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostCustomMessage(CEF_DESTROY, 0, BrowserID);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TChildForm.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
|
@ -49,7 +49,7 @@ uses
|
||||
Controls, Forms, Dialogs,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFTypes, uCEFConstants,
|
||||
Vcl.ExtCtrls;
|
||||
Vcl.ExtCtrls, uCEFWinControl;
|
||||
|
||||
type
|
||||
TMainForm = class(TForm)
|
||||
@ -78,7 +78,7 @@ type
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
private
|
||||
{ Private declarations }
|
||||
protected
|
||||
@ -170,10 +170,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TMainForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TMainForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TMainForm.BrowserCreatedMsg(var aMessage : TMessage);
|
||||
|
@ -98,7 +98,7 @@ type
|
||||
var noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
|
||||
@ -216,10 +216,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSEvalFrm.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSEvalFrm.Chromium1ContextMenuCommand(Sender : TObject;
|
||||
|
@ -50,7 +50,7 @@ uses
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes,
|
||||
uCEFConstants, uCEFv8Value;
|
||||
uCEFConstants, uCEFv8Value, uCEFWinControl;
|
||||
|
||||
const
|
||||
JSDEMO_CONTEXTMENU_EXECFUNCTION = MENU_ID_USER_FIRST + 1;
|
||||
@ -87,7 +87,7 @@ type
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -211,10 +211,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TJSExecutingFunctionsFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TJSExecutingFunctionsFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSExecutingFunctionsFrm.Chromium1ContextMenuCommand(
|
||||
|
@ -49,7 +49,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
|
||||
uCEFWinControl;
|
||||
|
||||
const
|
||||
MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $100;
|
||||
@ -93,7 +94,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -261,10 +262,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSExtensionFrm.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSExtensionFrm.Chromium1ContextMenuCommand(Sender: TObject;
|
||||
|
@ -49,7 +49,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TJSExtensionWithFunctionFrm = class(TForm)
|
||||
@ -77,7 +78,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -178,10 +179,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSExtensionWithFunctionFrm.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSExtensionWithFunctionFrm.Chromium1ProcessMessageReceived(
|
||||
|
@ -49,7 +49,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TJSExtensionWithObjectParameterFrm = class(TForm)
|
||||
@ -73,7 +74,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -181,10 +182,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSExtensionWithObjectParameterFrm.Chromium1Close(
|
||||
Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSExtensionWithObjectParameterFrm.FormCloseQuery(
|
||||
|
@ -49,7 +49,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TJSSimpleExtensionFrm = class(TForm)
|
||||
@ -73,7 +74,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -218,10 +219,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSSimpleExtensionFrm.Chromium1Close(
|
||||
Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSSimpleExtensionFrm.FormCloseQuery(
|
||||
|
@ -50,7 +50,7 @@ uses
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes,
|
||||
uCEFConstants, uCEFv8Value;
|
||||
uCEFConstants, uCEFv8Value, uCEFWinControl;
|
||||
|
||||
type
|
||||
TJSSimpleWindowBindingFrm = class(TForm)
|
||||
@ -74,7 +74,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -211,10 +211,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSSimpleWindowBindingFrm.Chromium1Close(
|
||||
Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSSimpleWindowBindingFrm.FormCloseQuery(
|
||||
|
@ -74,7 +74,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -192,10 +192,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSSimpleWindowBindingFrm.Chromium1Close(
|
||||
Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSSimpleWindowBindingFrm.FormCloseQuery(
|
||||
|
@ -49,7 +49,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TJSWindowBindingWithFunctionFrm = class(TForm)
|
||||
@ -73,7 +74,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -215,10 +216,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSWindowBindingWithFunctionFrm.Chromium1Close(
|
||||
Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSWindowBindingWithFunctionFrm.FormCloseQuery(
|
||||
|
@ -49,7 +49,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TJSWindowBindingWithObjectFrm = class(TForm)
|
||||
@ -73,7 +74,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -216,10 +217,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TJSWindowBindingWithObjectFrm.Chromium1Close(
|
||||
Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TJSWindowBindingWithObjectFrm.FormCloseQuery(
|
||||
|
@ -57,7 +57,6 @@ object Form1: TForm1
|
||||
OnTooltip = chrmosrTooltip
|
||||
OnBeforePopup = chrmosrBeforePopup
|
||||
OnBeforeClose = chrmosrBeforeClose
|
||||
OnClose = chrmosrClose
|
||||
OnGetViewRect = chrmosrGetViewRect
|
||||
OnGetScreenPoint = chrmosrGetScreenPoint
|
||||
OnGetScreenInfo = chrmosrGetScreenInfo
|
||||
|
@ -101,7 +101,6 @@ type
|
||||
procedure chrmosrPopupSize(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect);
|
||||
procedure chrmosrTooltip(Sender: TObject; const browser: ICefBrowser; var text: ustring; out Result: Boolean);
|
||||
procedure chrmosrBeforePopup(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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrBeforeContextMenu(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel);
|
||||
procedure chrmosrContextMenuCommand(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; commandId: Integer; eventFlags: Cardinal; out Result: Boolean);
|
||||
@ -356,11 +355,6 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrCursorChange( Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
cursor : HICON;
|
||||
|
@ -68,7 +68,7 @@ type
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
@ -143,10 +143,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEFBROWSER_DESTROY, 0, 0);
|
||||
Result := False;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1LoadingStateChange(Sender: TObject; const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean);
|
||||
|
@ -50,7 +50,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Menus,
|
||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Types, ComCtrls, ClipBrd,
|
||||
{$ENDIF}
|
||||
uMainForm, uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes;
|
||||
uMainForm, uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TChildForm = class(TForm)
|
||||
@ -67,7 +68,7 @@ type
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
@ -142,10 +143,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEFBROWSER_DESTROY, 0, 0);
|
||||
Result := False;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1LoadingStateChange(Sender: TObject; const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean);
|
||||
|
@ -65,9 +65,6 @@ begin
|
||||
GlobalCEFApp.LogFile := 'debug.log';
|
||||
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
|
||||
|
||||
GlobalCEFApp.EnableMediaStream := False;
|
||||
GlobalCEFApp.EnableSpeechInput := False;
|
||||
|
||||
if GlobalCEFApp.StartMainProcess then
|
||||
begin
|
||||
Application.Initialize;
|
||||
|
@ -141,6 +141,9 @@ object MiniBrowserFrm: TMiniBrowserFrm
|
||||
'http://www.adobe.com/software/flash/about/'
|
||||
'http://isflashinstalled.com/'
|
||||
'http://html5test.com/'
|
||||
|
||||
'https://webrtc.github.io/samples/src/content/devices/input-outpu' +
|
||||
't/'
|
||||
'https://test.webrtc.org/'
|
||||
'https://www.w3schools.com/'
|
||||
'http://webglsamples.org/'
|
||||
|
@ -195,7 +195,7 @@ type
|
||||
out Result: TCefReturnValue);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
procedure Chromium1RenderCompMsg(var aMessage : TMessage; var aHandled: Boolean);
|
||||
@ -437,15 +437,13 @@ begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TMiniBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TMiniBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
if (browser <> nil) and (Chromium1.BrowserId = browser.Identifier) then
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
end
|
||||
else
|
||||
Result := False;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMiniBrowserFrm.Chromium1ContextMenuCommand(Sender: TObject;
|
||||
|
@ -129,7 +129,6 @@ object OSRExternalPumpBrowserFrm: TOSRExternalPumpBrowserFrm
|
||||
OnBeforePopup = chrmosrBeforePopup
|
||||
OnAfterCreated = chrmosrAfterCreated
|
||||
OnBeforeClose = chrmosrBeforeClose
|
||||
OnClose = chrmosrClose
|
||||
OnGetViewRect = chrmosrGetViewRect
|
||||
OnGetScreenPoint = chrmosrGetScreenPoint
|
||||
OnGetScreenInfo = chrmosrGetScreenInfo
|
||||
|
@ -97,7 +97,6 @@ type
|
||||
procedure chrmosrPopupShow(Sender: TObject; const browser: ICefBrowser; show: Boolean);
|
||||
procedure chrmosrPopupSize(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect);
|
||||
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrTooltip(Sender: TObject; const browser: ICefBrowser; var text: ustring; out Result: Boolean);
|
||||
procedure chrmosrBeforePopup(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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
@ -343,11 +342,6 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TOSRExternalPumpBrowserFrm.chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TOSRExternalPumpBrowserFrm.chrmosrCursorChange(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
cursor : HICON;
|
||||
|
@ -45,7 +45,6 @@ object ChildForm: TChildForm
|
||||
OnTitleChange = Chromium1TitleChange
|
||||
OnTooltip = Chromium1Tooltip
|
||||
OnBeforeClose = Chromium1BeforeClose
|
||||
OnClose = Chromium1Close
|
||||
OnGetViewRect = Chromium1GetViewRect
|
||||
OnGetScreenPoint = Chromium1GetScreenPoint
|
||||
OnGetScreenInfo = Chromium1GetScreenInfo
|
||||
|
@ -87,7 +87,6 @@ type
|
||||
procedure Chromium1Tooltip(Sender: TObject; const browser: ICefBrowser; var text: ustring; out Result: Boolean);
|
||||
procedure Chromium1BeforePopup(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean; var popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo; var client: ICefClient; var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean; out Result: Boolean);
|
||||
procedure Chromium1TitleChange(Sender: TObject; const browser: ICefBrowser; const title: ustring);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
|
||||
protected
|
||||
@ -355,11 +354,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1CursorChange(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
cursor : HICON;
|
||||
|
@ -51,7 +51,7 @@ uses
|
||||
Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFTypes, uCEFInterfaces, uCEFConstants, uBufferPanel,
|
||||
uCEFWindowParent;
|
||||
uCEFWindowParent, uCEFWinControl;
|
||||
|
||||
type
|
||||
TChildForm = class(TForm)
|
||||
@ -65,7 +65,7 @@ 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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure Chromium1TitleChange(Sender: TObject; const browser: ICefBrowser; const title: ustring);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
|
||||
protected
|
||||
@ -179,10 +179,10 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1TitleChange(Sender: TObject; const browser: ICefBrowser; const title: ustring);
|
||||
|
@ -78,7 +78,6 @@ object Form1: TForm1
|
||||
Height = 439
|
||||
Align = alClient
|
||||
TabOrder = 1
|
||||
ExplicitHeight = 395
|
||||
end
|
||||
object Memo1: TMemo
|
||||
Left = 0
|
||||
|
@ -79,7 +79,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
@ -371,10 +371,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TForm1.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TForm1.BrowserCreatedMsg(var aMessage : TMessage);
|
||||
|
@ -74,7 +74,6 @@ object ResponseFilterBrowserFrm: TResponseFilterBrowserFrm
|
||||
Caption = 'Go'
|
||||
TabOrder = 0
|
||||
OnClick = GoBtnClick
|
||||
ExplicitTop = -1
|
||||
end
|
||||
object RscNameEdt: TEdit
|
||||
Left = 176
|
||||
|
@ -77,7 +77,7 @@ type
|
||||
procedure Chromium1GetResourceResponseFilter(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; out Result: ICefResponseFilter);
|
||||
procedure Chromium1ResourceLoadComplete(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; status: TCefUrlRequestStatus; receivedContentLength: Int64);
|
||||
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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure Chromium1LoadStart(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; transitionType: Cardinal);
|
||||
procedure Chromium1BeforeResourceLoad(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback; out Result: TCefReturnValue);
|
||||
@ -462,10 +462,10 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TResponseFilterBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TResponseFilterBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TResponseFilterBrowserFrm.Chromium1GetResourceResponseFilter( Sender : TObject;
|
||||
|
@ -87,7 +87,7 @@ type
|
||||
var noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
private
|
||||
@ -169,10 +169,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TSchemeRegistrationBrowserFrm.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TSchemeRegistrationBrowserFrm.Chromium1ContextMenuCommand(
|
||||
|
@ -74,7 +74,7 @@ type
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
protected
|
||||
@ -181,10 +181,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TForm1.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TForm1.BrowserCreatedMsg(var aMessage : TMessage);
|
||||
|
@ -5,7 +5,7 @@
|
||||
<FrameworkType>FMX</FrameworkType>
|
||||
<MainSource>SimpleFMXBrowser.dpr</MainSource>
|
||||
<Base>True</Base>
|
||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||
<Config Condition="'$(Config)'==''">Release</Config>
|
||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||
<TargetedPlatforms>3</TargetedPlatforms>
|
||||
<AppType>Application</AppType>
|
||||
|
@ -63,7 +63,7 @@ type
|
||||
procedure Timer1Timer(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure FMXChromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
procedure FMXChromium1BeforeClose(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
procedure FMXChromium1BeforePopup(Sender: TObject;
|
||||
@ -164,10 +164,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TSimpleFMXBrowserFrm.FMXChromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TSimpleFMXBrowserFrm.FMXChromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostCustomMessage(CEF_DESTROY);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
function TSimpleFMXBrowserFrm.PostCustomMessage(aMessage, wParam : cardinal; lParam : integer) : boolean;
|
||||
|
@ -22,11 +22,11 @@
|
||||
<HasResources Value="True"/>
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<TopLine Value="83"/>
|
||||
<CursorPos X="43" Y="92"/>
|
||||
<TopLine Value="94"/>
|
||||
<CursorPos Y="100"/>
|
||||
<UsageCount Value="42"/>
|
||||
<Bookmarks Count="1">
|
||||
<Item0 X="40" Y="252" ID="4"/>
|
||||
<Item0 X="40" Y="251" ID="4"/>
|
||||
</Bookmarks>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
@ -206,11 +206,19 @@
|
||||
<UsageCount Value="10"/>
|
||||
</Unit24>
|
||||
</Units>
|
||||
<JumpHistory Count="1">
|
||||
<JumpHistory Count="3" HistoryIndex="2">
|
||||
<Position1>
|
||||
<Filename Value="usimplelazosrbrowser.pas"/>
|
||||
<Caret Line="204" Column="63" TopLine="19"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="usimplelazosrbrowser.pas"/>
|
||||
<Caret Line="100" Column="24" TopLine="89"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="usimplelazosrbrowser.pas"/>
|
||||
<Caret Line="279" Column="33" TopLine="273"/>
|
||||
</Position3>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
<FormatVersion Value="2"/>
|
||||
|
@ -16,7 +16,7 @@ object Form1: TForm1
|
||||
OnHide = FormHide
|
||||
OnShow = FormShow
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '2.0.0.3'
|
||||
LCLVersion = '2.0.0.4'
|
||||
object NavControlPnl: TPanel
|
||||
Left = 0
|
||||
Height = 21
|
||||
@ -114,7 +114,6 @@ object Form1: TForm1
|
||||
OnBeforePopup = chrmosrBeforePopup
|
||||
OnAfterCreated = chrmosrAfterCreated
|
||||
OnBeforeClose = chrmosrBeforeClose
|
||||
OnClose = chrmosrClose
|
||||
OnGetViewRect = chrmosrGetViewRect
|
||||
OnGetScreenPoint = chrmosrGetScreenPoint
|
||||
OnGetScreenInfo = chrmosrGetScreenInfo
|
||||
|
@ -97,7 +97,6 @@ type
|
||||
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrTooltip(Sender: TObject; const browser: ICefBrowser; var aText: ustring; out Result: Boolean);
|
||||
procedure chrmosrBeforePopup(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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrIMECompositionRangeChanged(Sender: TObject; const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect);
|
||||
|
||||
@ -279,11 +278,6 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrCursorChange(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
aCursor : HICON;
|
||||
|
@ -8,10 +8,10 @@
|
||||
<Unit0>
|
||||
<Filename Value="SimpleLazarusBrowser.lpr"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="5"/>
|
||||
<TopLine Value="16"/>
|
||||
<CursorPos X="43" Y="5"/>
|
||||
<UsageCount Value="43"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="usimplelazarusbrowser.pas"/>
|
||||
@ -21,10 +21,11 @@
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<UnitName Value="uSimpleLazarusBrowser"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="-1"/>
|
||||
<TopLine Value="26"/>
|
||||
<CursorPos Y="40"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<TopLine Value="159"/>
|
||||
<CursorPos X="27" Y="164"/>
|
||||
<UsageCount Value="43"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit1>
|
||||
<Unit2>
|
||||
<Filename Value="..\..\source\uCEFChromium.pas"/>
|
||||
@ -402,10 +403,12 @@
|
||||
<UsageCount Value="10"/>
|
||||
</Unit51>
|
||||
</Units>
|
||||
<General>
|
||||
<ActiveWindowIndexAtStart Value="-1"/>
|
||||
</General>
|
||||
<JumpHistory HistoryIndex="-1"/>
|
||||
<JumpHistory Count="1">
|
||||
<Position1>
|
||||
<Filename Value="usimplelazarusbrowser.pas"/>
|
||||
<Caret Line="67" Column="29" TopLine="57"/>
|
||||
</Position1>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
<FormatVersion Value="2"/>
|
||||
<Modes Count="0" ActiveMode="default"/>
|
||||
|
@ -64,8 +64,8 @@ type
|
||||
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
|
||||
var client: ICefClient; var settings: TCefBrowserSettings;
|
||||
var noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; out
|
||||
Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormShow(Sender: TObject);
|
||||
@ -157,10 +157,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TForm1.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TForm1.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TForm1.FormShow(Sender: TObject);
|
||||
|
@ -53,7 +53,6 @@ object Form1: TForm1
|
||||
'https://www.briskbard.com'
|
||||
'https://frames-per-second.appspot.com/'
|
||||
'file:///transparency.html')
|
||||
ExplicitWidth = 909
|
||||
end
|
||||
object Panel2: TPanel
|
||||
Left = 912
|
||||
@ -101,7 +100,6 @@ object Form1: TForm1
|
||||
TabOrder = 1
|
||||
OnClick = SnapshotBtnClick
|
||||
OnEnter = SnapshotBtnEnter
|
||||
ExplicitLeft = 38
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -135,7 +133,6 @@ object Form1: TForm1
|
||||
OnBeforePopup = chrmosrBeforePopup
|
||||
OnAfterCreated = chrmosrAfterCreated
|
||||
OnBeforeClose = chrmosrBeforeClose
|
||||
OnClose = chrmosrClose
|
||||
OnGetViewRect = chrmosrGetViewRect
|
||||
OnGetScreenPoint = chrmosrGetScreenPoint
|
||||
OnGetScreenInfo = chrmosrGetScreenInfo
|
||||
|
@ -104,7 +104,6 @@ type
|
||||
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrTooltip(Sender: TObject; const browser: ICefBrowser; var text: ustring; out Result: Boolean);
|
||||
procedure chrmosrBeforePopup(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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure chrmosrBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure chrmosrIMECompositionRangeChanged(Sender: TObject; const browser: ICefBrowser; const selected_range: PCefRange; character_boundsCount: NativeUInt; const character_bounds: PCefRect);
|
||||
|
||||
@ -348,11 +347,6 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
begin
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TForm1.chrmosrCursorChange(Sender : TObject;
|
||||
const browser : ICefBrowser;
|
||||
cursor : HICON;
|
||||
|
@ -92,7 +92,7 @@ type
|
||||
procedure Chromium_OnAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure Chromium_OnAddressChange(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const url: ustring);
|
||||
procedure Chromium_OnTitleChange(Sender: TObject; const browser: ICefBrowser; const title: ustring);
|
||||
procedure Chromium_OnClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure Chromium_OnClose(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium_OnBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure Chromium_OnBeforePopup(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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
|
||||
@ -413,14 +413,12 @@ begin
|
||||
PageControl1.Pages[TempPageIndex].Caption := title;
|
||||
end;
|
||||
|
||||
procedure TMainForm.Chromium_OnClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TMainForm.Chromium_OnClose(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
var
|
||||
TempPageIndex : integer;
|
||||
begin
|
||||
if GetPageIndex(Sender, TempPageIndex) then
|
||||
PostMessage(Handle, CEFBROWSER_DESTROYWNDPARENT, 0, TempPageIndex);
|
||||
|
||||
Result := False;
|
||||
end;
|
||||
|
||||
procedure TMainForm.Chromium_OnBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
|
@ -50,7 +50,8 @@ uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||
Controls, Forms, Dialogs, ExtCtrls,
|
||||
{$ENDIF}
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes, uMainForm;
|
||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFConstants, uCEFTypes, uMainForm,
|
||||
uCEFWinControl;
|
||||
|
||||
type
|
||||
TChildForm = class(TForm)
|
||||
@ -64,7 +65,7 @@ type
|
||||
procedure Chromium1AfterCreated(Sender: TObject;
|
||||
const browser: ICefBrowser);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
||||
out Result: Boolean);
|
||||
var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1PreKeyEvent(Sender: TObject;
|
||||
const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg;
|
||||
out isKeyboardShortcut, Result: Boolean);
|
||||
@ -139,10 +140,10 @@ begin
|
||||
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEFBROWSER_DESTROY, 0, 0);
|
||||
Result := False;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1KeyEvent(Sender: TObject;
|
||||
|
@ -34,8 +34,8 @@
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<TopLine Value="58"/>
|
||||
<CursorPos X="13" Y="97"/>
|
||||
<TopLine Value="152"/>
|
||||
<CursorPos X="31" Y="163"/>
|
||||
<UsageCount Value="21"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
@ -62,7 +62,7 @@
|
||||
<UsageCount Value="10"/>
|
||||
</Unit5>
|
||||
</Units>
|
||||
<JumpHistory Count="28" HistoryIndex="27">
|
||||
<JumpHistory Count="29" HistoryIndex="28">
|
||||
<Position1>
|
||||
<Filename Value="uchildform.pas"/>
|
||||
<Caret Line="61" Column="3" TopLine="54"/>
|
||||
@ -175,6 +175,10 @@
|
||||
<Filename Value="uchildform.pas"/>
|
||||
<Caret Line="214" Column="46" TopLine="187"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="uchildform.pas"/>
|
||||
<Caret Line="67" Column="79" TopLine="59"/>
|
||||
</Position29>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
<FormatVersion Value="2"/>
|
||||
|
@ -64,7 +64,7 @@ type
|
||||
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
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 noJavascriptAccess: Boolean; var Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
procedure Chromium1KeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out Result: Boolean);
|
||||
procedure Chromium1PreKeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: TCefEventHandle; out isKeyboardShortcut: Boolean; out Result: Boolean);
|
||||
|
||||
@ -151,10 +151,10 @@ begin
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1Close(Sender: TObject;
|
||||
const browser: ICefBrowser; out Result: Boolean);
|
||||
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
PostMessage(Handle, CEFBROWSER_DESTROY, 0, 0);
|
||||
Result := False;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
|
||||
procedure TChildForm.Chromium1KeyEvent(Sender: TObject;
|
||||
|
@ -70,6 +70,9 @@
|
||||
<DCC_S>false</DCC_S>
|
||||
<DCC_F>false</DCC_F>
|
||||
<DCC_K>false</DCC_K>
|
||||
<DCC_UnitSearchPath>..\source;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
|
||||
<VerInfo_Locale>3082</VerInfo_Locale>
|
||||
<VerInfo_Keys>CompanyName=;FileVersion=1.0.0.0;InternalName=CEF4Delphi;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=CEF4Delphi;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName)</VerInfo_Keys>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Base_Win32)'!=''">
|
||||
<DCC_UsePackage>rtl;vcl;fmx;$(DCC_UsePackage)</DCC_UsePackage>
|
||||
@ -258,6 +261,8 @@
|
||||
<DCCReference Include="..\source\uCEFLinkedWindowParent.pas"/>
|
||||
<DCCReference Include="..\source\uCEFUrlRequestClientEvents.pas"/>
|
||||
<DCCReference Include="..\source\uCEFUrlRequestClientComponent.pas"/>
|
||||
<DCCReference Include="..\source\uCEFOSRIMEHandler.pas"/>
|
||||
<DCCReference Include="..\source\uCEFAudioHandler.pas"/>
|
||||
<BuildConfiguration Include="Base">
|
||||
<Key>Base</Key>
|
||||
</BuildConfiguration>
|
||||
@ -283,9 +288,10 @@
|
||||
<Source Name="MainSource">CEF4Delphi.dpk</Source>
|
||||
</Source>
|
||||
<Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dclIPIndyImpl250.bpl">IP Abstraction Indy Implementation Design Time</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k250.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dclofficexp250.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dclIPIndyImpl260.bpl">IP Abstraction Indy Implementation Design Time</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\DataExplorerDBXPluginEnt260.bpl">DBExpress Enterprise Data Explorer Integration</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k260.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
<Excluded_Packages Name="$(BDSBIN)\dclofficexp260.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
|
||||
</Excluded_Packages>
|
||||
</Delphi.Personality>
|
||||
<Deployment Version="3">
|
||||
|
Binary file not shown.
@ -5,7 +5,7 @@
|
||||
<ProjectVersion>18.5</ProjectVersion>
|
||||
<FrameworkType>VCL</FrameworkType>
|
||||
<Base>True</Base>
|
||||
<Config Condition="'$(Config)'==''">Release</Config>
|
||||
<Config Condition="'$(Config)'==''">Debug</Config>
|
||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||
<TargetedPlatforms>3</TargetedPlatforms>
|
||||
<AppType>Package</AppType>
|
||||
|
Binary file not shown.
@ -3258,12 +3258,34 @@ end;
|
||||
{$ENDIF}
|
||||
|
||||
function TChromium.doOnClose(const browser: ICefBrowser): Boolean;
|
||||
var
|
||||
TempAction : TCefCloseBrowserAction;
|
||||
begin
|
||||
Result := False;
|
||||
Result := False;
|
||||
TempAction := cbaClose;
|
||||
|
||||
if (browser <> nil) and (FBrowserId = browser.Identifier) then FClosing := True;
|
||||
// TempAction values
|
||||
// -----------------
|
||||
// cbaCancel : stop closing the browser
|
||||
// cbaClose : continue closing the browser
|
||||
// cbaDelay : stop closing the browser momentarily. Used when the application
|
||||
// needs to execute some custom processes before closing the
|
||||
// browser. This is usually needed to destroy a TCEFWindowParent
|
||||
// in the main thread before closing the browser.
|
||||
if Assigned(FOnClose) then FOnClose(Self, browser, TempAction);
|
||||
|
||||
if Assigned(FOnClose) then FOnClose(Self, browser, Result);
|
||||
case TempAction of
|
||||
cbaCancel : Result := True;
|
||||
|
||||
cbaDelay :
|
||||
begin
|
||||
Result := True;
|
||||
if (browser <> nil) and (FBrowserId = browser.Identifier) then FClosing := True;
|
||||
end;
|
||||
|
||||
else
|
||||
if (browser <> nil) and (FBrowserId = browser.Identifier) then FClosing := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TChromium.doOnBeforeClose(const browser: ICefBrowser);
|
||||
|
@ -106,7 +106,7 @@ type
|
||||
TOnBeforePopup = procedure(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 noJavascriptAccess: Boolean; var Result: Boolean) of object;
|
||||
TOnAfterCreated = procedure(Sender: TObject; const browser: ICefBrowser) of object;
|
||||
TOnBeforeClose = procedure(Sender: TObject; const browser: ICefBrowser) of object;
|
||||
TOnClose = procedure(Sender: TObject; const browser: ICefBrowser; out Result: Boolean) of object;
|
||||
TOnClose = procedure(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction) of object;
|
||||
|
||||
// ICefRequestHandler
|
||||
TOnBeforeBrowse = procedure(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; user_gesture, isRedirect: Boolean; out Result: Boolean) of object;
|
||||
|
@ -81,7 +81,7 @@ type
|
||||
procedure OnBeforeCloseMsg(var aMessage : TMessage); message CEF_DOONBEFORECLOSE;
|
||||
procedure OnAfterCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
||||
{$ENDIF}
|
||||
procedure WebBrowser_OnClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure WebBrowser_OnClose(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
procedure WebBrowser_OnBeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||
procedure WebBrowser_OnAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||
|
||||
@ -189,14 +189,14 @@ begin
|
||||
Result := (FChromium <> nil) and FChromium.Initialized;
|
||||
end;
|
||||
|
||||
procedure TChromiumWindow.WebBrowser_OnClose(Sender: TObject; const browser: ICefBrowser; out Result: Boolean);
|
||||
procedure TChromiumWindow.WebBrowser_OnClose(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||
begin
|
||||
Result := False;
|
||||
aAction := cbaClose;
|
||||
{$IFDEF MSWINDOWS}
|
||||
if assigned(FOnClose) then
|
||||
begin
|
||||
PostMessage(Handle, CEF_DOONCLOSE, 0, 0);
|
||||
Result := True;
|
||||
aAction := cbaDelay;
|
||||
end;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
@ -350,6 +350,16 @@ type
|
||||
Build : uint16;
|
||||
end;
|
||||
|
||||
// Used in TChromium.Onclose
|
||||
// -------------------------
|
||||
// cbaCancel : stop closing the browser
|
||||
// cbaClose : continue closing the browser
|
||||
// cbaDelay : stop closing the browser momentarily. Used when the application
|
||||
// needs to execute some custom processes before closing the
|
||||
// browser. This is usually needed to destroy a TCEFWindowParent
|
||||
// in the main thread before closing the browser.
|
||||
TCefCloseBrowserAction = (cbaClose, cbaDelay, cbaCancel);
|
||||
|
||||
TCefProcessType = (ptBrowser, ptRenderer, ptZygote, ptGPU, ptOther);
|
||||
|
||||
TCefAplicationStatus = (asLoading,
|
||||
|
@ -2829,12 +2829,34 @@ begin
|
||||
end;
|
||||
|
||||
function TFMXChromium.doOnClose(const browser: ICefBrowser): Boolean;
|
||||
var
|
||||
TempAction : TCefCloseBrowserAction;
|
||||
begin
|
||||
Result := False;
|
||||
Result := False;
|
||||
TempAction := cbaClose;
|
||||
|
||||
if (browser <> nil) and (FBrowserId = browser.Identifier) then FClosing := True;
|
||||
// TempAction values
|
||||
// -----------------
|
||||
// cbaCancel : stop closing the browser
|
||||
// cbaClose : continue closing the browser
|
||||
// cbaDelay : stop closing the browser momentarily. Used when the application
|
||||
// needs to execute some custom processes before closing the
|
||||
// browser. This is usually needed to destroy a TCEFWindowParent
|
||||
// in the main thread before closing the browser.
|
||||
if Assigned(FOnClose) then FOnClose(Self, browser, TempAction);
|
||||
|
||||
if Assigned(FOnClose) then FOnClose(Self, browser, Result);
|
||||
case TempAction of
|
||||
cbaCancel : Result := True;
|
||||
|
||||
cbaDelay :
|
||||
begin
|
||||
Result := True;
|
||||
if (browser <> nil) and (FBrowserId = browser.Identifier) then FClosing := True;
|
||||
end;
|
||||
|
||||
else
|
||||
if (browser <> nil) and (FBrowserId = browser.Identifier) then FClosing := True;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TFMXChromium.doOnBeforeClose(const browser: ICefBrowser);
|
||||
|
@ -218,14 +218,10 @@ begin
|
||||
if not(FStopped) then
|
||||
begin
|
||||
{$IFDEF MSWINDOWS}
|
||||
{$IFDEF DELPHI17_UP}
|
||||
TempHandle := ApplicationHWND;
|
||||
{$ELSE}
|
||||
if (Application <> nil) and (Application.MainForm <> nil) then
|
||||
TempHandle := FmxHandleToHWND(Application.MainForm.Handle)
|
||||
else
|
||||
TempHandle := 0;
|
||||
{$ENDIF}
|
||||
|
||||
if (TempHandle <> 0) then
|
||||
WinApi.Windows.PostMessage(TempHandle, CEF_PUMPHAVEWORK, 0, LPARAM(delay_ms));
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"UpdateLazPackages" : [
|
||||
{
|
||||
"ForceNotify" : false,
|
||||
"InternalVersion" : 1,
|
||||
"ForceNotify" : true,
|
||||
"InternalVersion" : 2,
|
||||
"Name" : "cef4delphi_lazarus.lpk",
|
||||
"Version" : "73.1.12.0"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user