1
0
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:
Salvador Díaz Fau
2019-03-22 13:12:44 +01:00
parent 15ac7120e4
commit 4682fe3a19
5 changed files with 37 additions and 13 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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;

View File

@ -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