You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-07-02 22:26:53 +02:00
Update to CEF 83.4.0
This commit is contained in:
README.md
demos
Delphi_VCL
Lazarus
JavaScript
MiniBrowser
packages
CEF4Delphi.dpkCEF4Delphi_D7.dpkCEF4Delphi_FMX.dpkCEF4Delphi_FMX.dprojcef4delphi_lazarus.lpkcef4delphi_lazarus.pas
source
uCEFApplicationCore.pasuCEFBrowser.pasuCEFChromiumCore.pasuCEFChromiumEvents.pasuCEFDevToolsMessageObserver.pasuCEFInterfaces.pasuCEFLibFunctions.pasuCEFMiscFunctions.pasuCEFRequestHandler.pasuCEFTypes.pas
update_CEF4Delphi.json@ -22,8 +22,8 @@
|
||||
<ResourceBaseClass Value="Form"/>
|
||||
<IsVisibleTab Value="True"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<TopLine Value="462"/>
|
||||
<CursorPos Y="485"/>
|
||||
<TopLine Value="120"/>
|
||||
<CursorPos X="83" Y="140"/>
|
||||
<UsageCount Value="20"/>
|
||||
<Loaded Value="True"/>
|
||||
<LoadedDesigner Value="True"/>
|
||||
@ -52,124 +52,124 @@
|
||||
</Units>
|
||||
<JumpHistory Count="30" HistoryIndex="29">
|
||||
<Position1>
|
||||
<Filename Value="uTestExtensionHandler.pas"/>
|
||||
<Caret Line="94" Column="56" TopLine="41"/>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="136" Column="39" TopLine="127"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="312" Column="54" TopLine="301"/>
|
||||
<Caret Line="144" Column="114" TopLine="127"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="JSExtension.lpr"/>
|
||||
<Caret Line="60" Column="17" TopLine="42"/>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="150" Column="74" TopLine="127"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="126" TopLine="111"/>
|
||||
<Caret Line="199" Column="41" TopLine="173"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="136" Column="39" TopLine="127"/>
|
||||
<Caret Line="201" Column="92" TopLine="173"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="144" Column="114" TopLine="127"/>
|
||||
<Caret Line="205" Column="77" TopLine="173"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="150" Column="74" TopLine="127"/>
|
||||
<Caret Line="207" Column="18" TopLine="173"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="199" Column="41" TopLine="173"/>
|
||||
<Caret Line="31" Column="76"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="201" Column="92" TopLine="173"/>
|
||||
<Caret Line="149" Column="96" TopLine="108"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="205" Column="77" TopLine="173"/>
|
||||
<Caret Line="150" Column="73" TopLine="127"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="207" Column="18" TopLine="173"/>
|
||||
<Caret Line="199" Column="40" TopLine="173"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="31" Column="76"/>
|
||||
<Caret Line="201" Column="91" TopLine="173"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="149" Column="96" TopLine="108"/>
|
||||
<Caret Line="205" Column="75" TopLine="173"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="150" Column="73" TopLine="127"/>
|
||||
<Caret Line="61" Column="30" TopLine="47"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="199" Column="40" TopLine="173"/>
|
||||
<Caret Line="322" TopLine="303"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="201" Column="91" TopLine="173"/>
|
||||
<Caret Line="324" TopLine="305"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="205" Column="75" TopLine="173"/>
|
||||
<Caret Line="486" Column="3" TopLine="483"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="61" Column="30" TopLine="47"/>
|
||||
<Caret Line="108" Column="15" TopLine="82"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="322" TopLine="303"/>
|
||||
<Caret Line="343" TopLine="339"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="324" TopLine="305"/>
|
||||
<Caret Line="486" Column="40" TopLine="483"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="486" Column="3" TopLine="483"/>
|
||||
<Caret Line="108" Column="31" TopLine="81"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="108" Column="15" TopLine="82"/>
|
||||
<Caret Line="343" Column="22" TopLine="339"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="343" TopLine="339"/>
|
||||
<Caret Line="286" Column="56" TopLine="274"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="486" Column="40" TopLine="483"/>
|
||||
<Caret Line="285" Column="56" TopLine="273"/>
|
||||
</Position24>
|
||||
<Position25>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="108" Column="31" TopLine="81"/>
|
||||
<Caret Line="295" Column="9" TopLine="273"/>
|
||||
</Position25>
|
||||
<Position26>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="343" Column="22" TopLine="339"/>
|
||||
<Caret Line="343" Column="41" TopLine="324"/>
|
||||
</Position26>
|
||||
<Position27>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="286" Column="56" TopLine="274"/>
|
||||
<Caret Line="62" Column="35" TopLine="46"/>
|
||||
</Position27>
|
||||
<Position28>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="285" Column="56" TopLine="273"/>
|
||||
<Caret Line="359" Column="65" TopLine="340"/>
|
||||
</Position28>
|
||||
<Position29>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="295" Column="9" TopLine="273"/>
|
||||
<Caret Line="419" Column="88" TopLine="403"/>
|
||||
</Position29>
|
||||
<Position30>
|
||||
<Filename Value="uJSExtension.pas"/>
|
||||
<Caret Line="343" Column="41" TopLine="324"/>
|
||||
<Caret Line="125" Column="42" TopLine="88"/>
|
||||
</Position30>
|
||||
</JumpHistory>
|
||||
<RunParams>
|
||||
|
@ -14,7 +14,7 @@ object JSExtensionFrm: TJSExtensionFrm
|
||||
OnCreate = FormCreate
|
||||
OnShow = FormShow
|
||||
Position = poScreenCenter
|
||||
LCLVersion = '2.0.6.0'
|
||||
LCLVersion = '2.0.8.0'
|
||||
object NavControlPnl: TPanel
|
||||
Left = 0
|
||||
Height = 21
|
||||
|
@ -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