You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-12-03 21:44:45 +02:00
Update to CEF 83.4.0
This commit is contained in:
@@ -59,7 +59,8 @@ const
|
||||
|
||||
MINIBROWSER_CONTEXTMENU_SETJSEVENT = MENU_ID_USER_FIRST + 1;
|
||||
MINIBROWSER_CONTEXTMENU_JSVISITDOM = MENU_ID_USER_FIRST + 2;
|
||||
MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS = MENU_ID_USER_FIRST + 3;
|
||||
MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS = MENU_ID_USER_FIRST + 3;
|
||||
MINIBROWSER_CONTEXTMENU_OFFLINE = MENU_ID_USER_FIRST + 4;
|
||||
|
||||
MOUSEOVER_MESSAGE_NAME = 'mouseover';
|
||||
CUSTOMNAME_MESSAGE_NAME = 'customname';
|
||||
@@ -110,6 +111,8 @@ type
|
||||
// Variables to control when can we destroy the form safely
|
||||
FCanClose : boolean; // Set to True in TChromium.OnBeforeClose
|
||||
FClosing : boolean; // Set to True in the CloseQuery event.
|
||||
|
||||
FOffline : boolean;
|
||||
|
||||
procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
||||
procedure BrowserDestroyMsg(var aMessage : TMessage); message CEF_DESTROY;
|
||||
@@ -118,6 +121,8 @@ type
|
||||
procedure WMMoving(var aMessage : TMessage); message WM_MOVING;
|
||||
procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP;
|
||||
procedure WMExitMenuLoop(var aMessage: TMessage); message WM_EXITMENULOOP;
|
||||
|
||||
function SwitchOfflineMode : integer;
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
@@ -132,7 +137,7 @@ implementation
|
||||
{$R *.lfm}
|
||||
|
||||
uses
|
||||
uSimpleTextViewer, uCEFMiscFunctions, uTestExtensionHandler;
|
||||
uSimpleTextViewer, uCEFMiscFunctions, uTestExtensionHandler, uCEFDictionaryValue;
|
||||
|
||||
// BASIC CONCEPTS
|
||||
// ==============
|
||||
@@ -351,7 +356,9 @@ begin
|
||||
model.AddSeparator;
|
||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SETJSEVENT, 'Set mouseover event');
|
||||
model.AddItem(MINIBROWSER_CONTEXTMENU_JSVISITDOM, 'Visit DOM in JavaScript');
|
||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
||||
model.AddItem(MINIBROWSER_CONTEXTMENU_SHOWDEVTOOLS, 'Show DevTools');
|
||||
model.AddCheckItem(MINIBROWSER_CONTEXTMENU_OFFLINE, 'Offline');
|
||||
model.SetChecked(MINIBROWSER_CONTEXTMENU_OFFLINE, FOffline);
|
||||
end;
|
||||
|
||||
procedure TJSExtensionFrm.Chromium1BeforePopup(Sender: TObject;
|
||||
@@ -417,7 +424,30 @@ begin
|
||||
TempPoint.x := params.XCoord;
|
||||
TempPoint.y := params.YCoord;
|
||||
Chromium1.ShowDevTools(TempPoint, nil);
|
||||
end;
|
||||
end;
|
||||
|
||||
MINIBROWSER_CONTEXTMENU_OFFLINE :
|
||||
SwitchOfflineMode;
|
||||
end;
|
||||
end;
|
||||
|
||||
// This is a simple example to set the "offline" mode in the DevTools using the TChromium methods directly.
|
||||
function TJSExtensionFrm.SwitchOfflineMode : integer;
|
||||
var
|
||||
TempParams : ICefDictionaryValue;
|
||||
begin
|
||||
try
|
||||
FOffline := not(FOffline);
|
||||
|
||||
TempParams := TCefDictionaryValueRef.New;
|
||||
TempParams.SetBool('offline', FOffline);
|
||||
TempParams.SetDouble('latency', 0);
|
||||
TempParams.SetDouble('downloadThroughput', 0);
|
||||
TempParams.SetDouble('uploadThroughput', 0);
|
||||
|
||||
Result := Chromium1.ExecuteDevToolsMethod(0, 'Network.emulateNetworkConditions', TempParams);
|
||||
finally
|
||||
TempParams := nil;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user