You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-06-22 22:17:48 +02:00
Update to CEF 73.1.12
- Added context menu option in JSDemo to get the vertical scroll position. - Now TChromium uses the same keyboard events for the browser and the DevTools. - Fixed a MiniBrowser issue with the F12 keyboard shortcut. Now you can press F12 to hide and show the DevTools correctly.
This commit is contained in:
@ -50,15 +50,18 @@ uses
|
|||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Menus,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Menus,
|
||||||
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Types, ComCtrls, ClipBrd, EncdDecd,
|
Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Types, ComCtrls, ClipBrd, EncdDecd,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants;
|
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFApplication, uCEFTypes, uCEFConstants,
|
||||||
|
uCEFWinControl;
|
||||||
|
|
||||||
const
|
const
|
||||||
MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $101;
|
MINIBROWSER_SHOWTEXTVIEWER = WM_APP + $101;
|
||||||
MINIBROWSER_EVALJSCODE = WM_APP + $102;
|
MINIBROWSER_EVALJSCODE = WM_APP + $102;
|
||||||
MINIBROWSER_JSBINPARAM = WM_APP + $103;
|
MINIBROWSER_JSBINPARAM = WM_APP + $103;
|
||||||
|
MINIBROWSER_GETSCROLLPOS = WM_APP + $104;
|
||||||
|
|
||||||
MINIBROWSER_CONTEXTMENU_EVALJSCODE = MENU_ID_USER_FIRST + 1;
|
MINIBROWSER_CONTEXTMENU_EVALJSCODE = MENU_ID_USER_FIRST + 1;
|
||||||
MINIBROWSER_CONTEXTMENU_JSBINPARAM = MENU_ID_USER_FIRST + 2;
|
MINIBROWSER_CONTEXTMENU_JSBINPARAM = MENU_ID_USER_FIRST + 2;
|
||||||
|
MINIBROWSER_CONTEXTMENU_GETSCROLLPOS = MENU_ID_USER_FIRST + 3;
|
||||||
|
|
||||||
EVAL_JS = 'JSContextEvalDemo';
|
EVAL_JS = 'JSContextEvalDemo';
|
||||||
BINARY_PARAM_JS = 'JSBinaryParameter';
|
BINARY_PARAM_JS = 'JSBinaryParameter';
|
||||||
@ -112,6 +115,7 @@ type
|
|||||||
procedure BrowserDestroyMsg(var aMessage : TMessage); message CEF_DESTROY;
|
procedure BrowserDestroyMsg(var aMessage : TMessage); message CEF_DESTROY;
|
||||||
procedure ShowTextViewerMsg(var aMessage : TMessage); message MINIBROWSER_SHOWTEXTVIEWER;
|
procedure ShowTextViewerMsg(var aMessage : TMessage); message MINIBROWSER_SHOWTEXTVIEWER;
|
||||||
procedure EvalJSCodeMsg(var aMessage : TMessage); message MINIBROWSER_EVALJSCODE;
|
procedure EvalJSCodeMsg(var aMessage : TMessage); message MINIBROWSER_EVALJSCODE;
|
||||||
|
procedure GetScrollPosMsg(var aMessage : TMessage); message MINIBROWSER_GETSCROLLPOS;
|
||||||
procedure EvalJSBinParamMsg(var aMessage : TMessage); message MINIBROWSER_JSBINPARAM;
|
procedure EvalJSBinParamMsg(var aMessage : TMessage); message MINIBROWSER_JSBINPARAM;
|
||||||
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
||||||
procedure WMMoving(var aMessage : TMessage); message WM_MOVING;
|
procedure WMMoving(var aMessage : TMessage); message WM_MOVING;
|
||||||
@ -195,6 +199,7 @@ procedure TJSEvalFrm.Chromium1BeforeContextMenu(Sender : TObject;
|
|||||||
const model : ICefMenuModel);
|
const model : ICefMenuModel);
|
||||||
begin
|
begin
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_EVALJSCODE, 'Evaluate JavaScript code...');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_EVALJSCODE, 'Evaluate JavaScript code...');
|
||||||
|
model.AddItem(MINIBROWSER_CONTEXTMENU_GETSCROLLPOS, 'Get vertical scroll position...');
|
||||||
model.AddItem(MINIBROWSER_CONTEXTMENU_JSBINPARAM, 'Send JPEG image...');
|
model.AddItem(MINIBROWSER_CONTEXTMENU_JSBINPARAM, 'Send JPEG image...');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -230,6 +235,7 @@ begin
|
|||||||
case commandId of
|
case commandId of
|
||||||
MINIBROWSER_CONTEXTMENU_EVALJSCODE : PostMessage(Handle, MINIBROWSER_EVALJSCODE, 0, 0);
|
MINIBROWSER_CONTEXTMENU_EVALJSCODE : PostMessage(Handle, MINIBROWSER_EVALJSCODE, 0, 0);
|
||||||
MINIBROWSER_CONTEXTMENU_JSBINPARAM : PostMessage(Handle, MINIBROWSER_JSBINPARAM, 0, 0);
|
MINIBROWSER_CONTEXTMENU_JSBINPARAM : PostMessage(Handle, MINIBROWSER_JSBINPARAM, 0, 0);
|
||||||
|
MINIBROWSER_CONTEXTMENU_GETSCROLLPOS : PostMessage(Handle, MINIBROWSER_GETSCROLLPOS, 0, 0);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -326,6 +332,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TJSEvalFrm.GetScrollPosMsg(var aMessage : TMessage);
|
||||||
|
var
|
||||||
|
TempMsg : ICefProcessMessage;
|
||||||
|
begin
|
||||||
|
TempMsg := TCefProcessMessageRef.New(EVAL_JS);
|
||||||
|
|
||||||
|
if TempMsg.ArgumentList.SetString(0, 'window.pageYOffset') then
|
||||||
|
Chromium1.SendProcessMessage(PID_RENDERER, TempMsg);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TJSEvalFrm.EvalJSBinParamMsg(var aMessage : TMessage);
|
procedure TJSEvalFrm.EvalJSBinParamMsg(var aMessage : TMessage);
|
||||||
var
|
var
|
||||||
TempMsg : ICefProcessMessage;
|
TempMsg : ICefProcessMessage;
|
||||||
|
@ -65,6 +65,9 @@ begin
|
|||||||
GlobalCEFApp.LogFile := 'debug.log';
|
GlobalCEFApp.LogFile := 'debug.log';
|
||||||
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
|
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
|
||||||
|
|
||||||
|
GlobalCEFApp.EnableMediaStream := False;
|
||||||
|
GlobalCEFApp.EnableSpeechInput := False;
|
||||||
|
|
||||||
if GlobalCEFApp.StartMainProcess then
|
if GlobalCEFApp.StartMainProcess then
|
||||||
begin
|
begin
|
||||||
Application.Initialize;
|
Application.Initialize;
|
||||||
|
@ -573,8 +573,6 @@ var
|
|||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
|
|
||||||
if not(Chromium1.IsSameBrowser(browser)) then exit;
|
|
||||||
|
|
||||||
if (event <> nil) and (osEvent <> nil) then
|
if (event <> nil) and (osEvent <> nil) then
|
||||||
case osEvent.Message of
|
case osEvent.Message of
|
||||||
WM_KEYUP :
|
WM_KEYUP :
|
||||||
@ -728,8 +726,7 @@ procedure TMiniBrowserFrm.Chromium1PreKeyEvent(Sender: TObject;
|
|||||||
begin
|
begin
|
||||||
Result := False;
|
Result := False;
|
||||||
|
|
||||||
if Chromium1.IsSameBrowser(browser) and
|
if (event <> nil) and
|
||||||
(event <> nil) and
|
|
||||||
(event.kind in [KEYEVENT_KEYDOWN, KEYEVENT_KEYUP]) and
|
(event.kind in [KEYEVENT_KEYDOWN, KEYEVENT_KEYUP]) and
|
||||||
(event.windows_key_code = VK_F12) then
|
(event.windows_key_code = VK_F12) then
|
||||||
isKeyboardShortcut := True;
|
isKeyboardShortcut := True;
|
||||||
@ -940,6 +937,7 @@ end;
|
|||||||
procedure TMiniBrowserFrm.HideDevToolsMsg(var aMessage : TMessage);
|
procedure TMiniBrowserFrm.HideDevToolsMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
HideDevTools;
|
HideDevTools;
|
||||||
|
Chromium1.SetFocus(True);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMiniBrowserFrm.Inczoom1Click(Sender: TObject);
|
procedure TMiniBrowserFrm.Inczoom1Click(Sender: TObject);
|
||||||
|
@ -62,7 +62,7 @@ uses
|
|||||||
const
|
const
|
||||||
CEF_SUPPORTED_VERSION_MAJOR = 73;
|
CEF_SUPPORTED_VERSION_MAJOR = 73;
|
||||||
CEF_SUPPORTED_VERSION_MINOR = 1;
|
CEF_SUPPORTED_VERSION_MINOR = 1;
|
||||||
CEF_SUPPORTED_VERSION_RELEASE = 11;
|
CEF_SUPPORTED_VERSION_RELEASE = 12;
|
||||||
CEF_SUPPORTED_VERSION_BUILD = 0;
|
CEF_SUPPORTED_VERSION_BUILD = 0;
|
||||||
|
|
||||||
CEF_CHROMEELF_VERSION_MAJOR = 73;
|
CEF_CHROMEELF_VERSION_MAJOR = 73;
|
||||||
|
@ -3122,7 +3122,14 @@ begin
|
|||||||
InitializeSettings(FDevBrowserSettings);
|
InitializeSettings(FDevBrowserSettings);
|
||||||
InitializeDevToolsWindowInfo(aDevTools);
|
InitializeDevToolsWindowInfo(aDevTools);
|
||||||
|
|
||||||
TempClient := TCefClientOwn.Create;
|
TempClient := TCustomClientHandler.Create(Self, False, False,
|
||||||
|
False, False,
|
||||||
|
MustCreateKeyboardHandler,
|
||||||
|
False, False,
|
||||||
|
False, False,
|
||||||
|
False, False,
|
||||||
|
False, False,
|
||||||
|
False);
|
||||||
|
|
||||||
if (inspectElementAt.x <> low(integer)) and
|
if (inspectElementAt.x <> low(integer)) and
|
||||||
(inspectElementAt.y <> low(integer)) then
|
(inspectElementAt.y <> low(integer)) then
|
||||||
|
Reference in New Issue
Block a user