1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-12 22:07:39 +02:00

Update to CEF 75.0.7

This commit is contained in:
Salvador Díaz Fau
2019-06-16 10:31:13 +02:00
parent 22f4a1d6d8
commit 52fca97884
186 changed files with 4104 additions and 1826 deletions

View File

@ -55,7 +55,8 @@ uses
{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.DisableFeatures := 'NetworkService';
if GlobalCEFApp.StartMainProcess then
begin

View File

@ -8,9 +8,8 @@
<Unit0>
<Filename Value="JSDialogBrowser.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="36"/>
<CursorPos X="3" Y="53"/>
<TopLine Value="40"/>
<CursorPos X="32" Y="58"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
@ -21,16 +20,17 @@
<ComponentName Value="JSDialogBrowserFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="69"/>
<CursorPos X="8" Y="103"/>
<TopLine Value="254"/>
<CursorPos X="39" Y="261"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit1>
</Units>
<JumpHistory Count="3" HistoryIndex="2">
<JumpHistory Count="4" HistoryIndex="3">
<Position1>
<Filename Value="JSDialogBrowser.lpr"/>
</Position1>
@ -42,6 +42,10 @@
<Filename Value="uJSDialogBrowser.pas"/>
<Caret Line="103" Column="8" TopLine="69"/>
</Position3>
<Position4>
<Filename Value="uJSDialogBrowser.pas"/>
<Caret Line="88" Column="386" TopLine="70"/>
</Position4>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -85,7 +85,7 @@ type
FClosing : boolean; // Set to True in the CloseQuery event.
procedure Chromium_OnJsdialog(Sender: TObject; const browser: ICefBrowser; const originUrl: ustring; dialogType: TCefJsDialogType; const messageText, defaultPromptText: ustring; const callback: ICefJsDialogCallback; out suppressMessage: Boolean; out Result: Boolean);
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);
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 extra_info: ICefDictionaryValue; var noJavascriptAccess: Boolean; var Result: Boolean);
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
procedure WMMoving(var aMessage : TMessage); message WM_MOVING;
@ -257,7 +257,9 @@ procedure TJSDialogBrowserFrm.Chromium_OnBeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs

View File

@ -4,12 +4,12 @@
<PathDelim Value="\"/>
<Version Value="11"/>
<BuildModes Active="Default"/>
<Units Count="8">
<Units Count="14">
<Unit0>
<Filename Value="JSEval.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="2"/>
<TopLine Value="44"/>
<EditorIndex Value="1"/>
<TopLine Value="41"/>
<CursorPos X="76" Y="60"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
@ -22,11 +22,11 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<TopLine Value="165"/>
<CursorPos X="52" Y="199"/>
<TopLine Value="513"/>
<CursorPos X="42" Y="533"/>
<UsageCount Value="21"/>
<Bookmarks Count="1">
<Item0 X="85" Y="473" ID="1"/>
<Item0 X="85" Y="477" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -73,133 +73,168 @@
</Unit6>
<Unit7>
<Filename Value="..\..\..\..\source\uCEFBinaryValue.pas"/>
<EditorIndex Value="1"/>
<EditorIndex Value="-1"/>
<TopLine Value="120"/>
<CursorPos Y="132"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
<Filename Value="..\..\..\..\source\uCEFCookieAccessFilter.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="199"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="..\..\..\..\source\uCEFResourceReadCallback.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="33"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="..\..\..\..\source\uCEFResourceRequestHandler.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="607"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="..\..\..\..\source\uCEFResourceSkipCallback.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="33"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="..\..\..\..\source\uCEFResourceHandler.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="331"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="..\..\..\..\source\uCEFRequestHandler.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="571"/>
<UsageCount Value="10"/>
</Unit13>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="uJSEval.pas"/>
<Caret Line="162" Column="79" TopLine="150"/>
<Caret Line="199" Column="51" TopLine="162"/>
</Position1>
<Position2>
<Filename Value="uJSEval.pas"/>
<Caret Line="48" Column="83" TopLine="35"/>
<Caret Line="228" Column="95" TopLine="196"/>
</Position2>
<Position3>
<Filename Value="uJSEval.pas"/>
<Caret Line="466" Column="48" TopLine="435"/>
<Caret Line="30" Column="122" TopLine="21"/>
</Position3>
<Position4>
<Filename Value="uJSEval.pas"/>
<Caret Line="465" Column="36" TopLine="435"/>
<Caret Line="55" Column="25" TopLine="21"/>
</Position4>
<Position5>
<Filename Value="uJSEval.pas"/>
<Caret Line="475" Column="75" TopLine="441"/>
<Caret Line="115" Column="25" TopLine="79"/>
</Position5>
<Position6>
<Filename Value="uJSEval.pas"/>
<Caret Line="468" Column="40" TopLine="450"/>
<Caret Line="15" Column="103"/>
</Position6>
<Position7>
<Filename Value="uJSEval.pas"/>
<Caret Line="62" Column="52" TopLine="43"/>
<Caret Line="64" Column="90" TopLine="26"/>
</Position7>
<Position8>
<Filename Value="uJSEval.pas"/>
<Caret Line="199" Column="51" TopLine="162"/>
<Caret Line="373" Column="76" TopLine="336"/>
</Position8>
<Position9>
<Filename Value="uJSEval.pas"/>
<Caret Line="228" Column="95" TopLine="196"/>
<Caret Line="470" Column="70" TopLine="433"/>
</Position9>
<Position10>
<Filename Value="uJSEval.pas"/>
<Caret Line="30" Column="122" TopLine="21"/>
<Caret Line="524" Column="40" TopLine="487"/>
</Position10>
<Position11>
<Filename Value="uJSEval.pas"/>
<Caret Line="55" Column="25" TopLine="21"/>
<Caret Line="555" Column="39" TopLine="518"/>
</Position11>
<Position12>
<Filename Value="uJSEval.pas"/>
<Caret Line="115" Column="25" TopLine="79"/>
<Caret Line="63" Column="18" TopLine="41"/>
</Position12>
<Position13>
<Filename Value="uJSEval.pas"/>
<Caret Line="15" Column="103"/>
<Caret Line="373" Column="76" TopLine="336"/>
</Position13>
<Position14>
<Filename Value="uJSEval.pas"/>
<Caret Line="64" Column="90" TopLine="26"/>
<Filename Value="JSEval.lpr"/>
<Caret Line="60" Column="76" TopLine="44"/>
</Position14>
<Position15>
<Filename Value="uJSEval.pas"/>
<Caret Line="373" Column="76" TopLine="336"/>
<Caret Line="125" Column="29" TopLine="114"/>
</Position15>
<Position16>
<Filename Value="uJSEval.pas"/>
<Caret Line="470" Column="70" TopLine="433"/>
<Caret Line="536" Column="38" TopLine="518"/>
</Position16>
<Position17>
<Filename Value="uJSEval.pas"/>
<Caret Line="524" Column="40" TopLine="487"/>
<Caret Line="511" Column="75" TopLine="499"/>
</Position17>
<Position18>
<Filename Value="uJSEval.pas"/>
<Caret Line="555" Column="39" TopLine="518"/>
<Caret Line="463" Column="50" TopLine="452"/>
</Position18>
<Position19>
<Filename Value="uJSEval.pas"/>
<Caret Line="63" Column="18" TopLine="41"/>
<Caret Line="372" TopLine="360"/>
</Position19>
<Position20>
<Filename Value="uJSEval.pas"/>
<Caret Line="373" Column="76" TopLine="336"/>
<Caret Line="54" Column="73" TopLine="24"/>
</Position20>
<Position21>
<Filename Value="JSEval.lpr"/>
<Caret Line="60" Column="76" TopLine="44"/>
<Filename Value="uJSEval.pas"/>
<Caret Line="51" Column="90" TopLine="24"/>
</Position21>
<Position22>
<Filename Value="uJSEval.pas"/>
<Caret Line="125" Column="29" TopLine="114"/>
<Caret Line="59" Column="37" TopLine="24"/>
</Position22>
<Position23>
<Filename Value="uJSEval.pas"/>
<Caret Line="536" Column="38" TopLine="518"/>
<Caret Line="181" Column="63" TopLine="162"/>
</Position23>
<Position24>
<Filename Value="uJSEval.pas"/>
<Caret Line="511" Column="75" TopLine="499"/>
<Filename Value="JSEval.lpr"/>
<Caret Line="60" Column="76" TopLine="41"/>
</Position24>
<Position25>
<Filename Value="uJSEval.pas"/>
<Caret Line="463" Column="50" TopLine="452"/>
<Caret Line="125" Column="11" TopLine="121"/>
</Position25>
<Position26>
<Filename Value="uJSEval.pas"/>
<Caret Line="372" TopLine="360"/>
<Caret Line="542" Column="86" TopLine="533"/>
</Position26>
<Position27>
<Filename Value="uJSEval.pas"/>
<Caret Line="54" Column="73" TopLine="24"/>
<Caret Line="94" Column="43" TopLine="77"/>
</Position27>
<Position28>
<Filename Value="uJSEval.pas"/>
<Caret Line="51" Column="90" TopLine="24"/>
<Caret Line="210" Column="39" TopLine="203"/>
</Position28>
<Position29>
<Filename Value="uJSEval.pas"/>
<Caret Line="59" Column="37" TopLine="24"/>
<Caret Line="86" Column="71" TopLine="76"/>
</Position29>
<Position30>
<Filename Value="uJSEval.pas"/>
<Caret Line="181" Column="63" TopLine="162"/>
<Caret Line="510" Column="62" TopLine="492"/>
</Position30>
</JumpHistory>
<RunParams>

View File

@ -75,7 +75,7 @@ type
procedure FormShow(Sender: TObject);
procedure Chromium1ProcessMessageReceived(Sender: TObject;
const browser: ICefBrowser; sourceProcess: TCefProcessId;
const browser: ICefBrowser; const frame: ICefFrame; sourceProcess: TCefProcessId;
const message: ICefProcessMessage; out Result: Boolean);
procedure Chromium1BeforeContextMenu(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame;
@ -91,6 +91,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
@ -205,7 +206,9 @@ procedure TJSEvalFrm.Chromium1BeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs
@ -390,9 +393,10 @@ begin
end;
procedure ParseEvalJsAnswer(const pMessage : ICefProcessMessage;
pBrowser : ICefBrowser;
pReturnValue : ICefv8Value;
pException : ICefV8Exception);
const pBrowser : ICefBrowser;
const pFrame : ICefFrame;
const pReturnValue : ICefv8Value;
const pException : ICefV8Exception);
var
pAnswer : ICefProcessMessage;
strResult : String;
@ -428,10 +432,10 @@ begin
end;
end;
pBrowser.SendProcessMessage(PID_BROWSER, pAnswer);
pFrame.SendProcessMessage(PID_BROWSER, pAnswer);
end;
procedure ParseBinaryValue(const pBrowser : ICefBrowser; const aBinaryValue : ICefBinaryValue);
procedure ParseBinaryValue(const pBrowser : ICefBrowser; const pFrame: ICefFrame; const aBinaryValue : ICefBinaryValue);
var
pAnswer : ICefProcessMessage;
TempBuffer : TBytes;
@ -473,7 +477,7 @@ begin
'Encoded image : ' + TempEncodedStream.DataString;
if pAnswer.ArgumentList.SetString(0, TempString) then
pBrowser.SendProcessMessage(PID_BROWSER, pAnswer);
pFrame.SendProcessMessage(PID_BROWSER, pAnswer);
end;
end;
except
@ -489,6 +493,7 @@ begin
end;
procedure RenderProcessHandler_OnProcessMessageReceivedEvent(const pBrowser : ICefBrowser;
const pFrame : ICefFrame;
uSourceProcess : TCefProcessId;
const pMessage : ICefProcessMessage;
var aHandled : boolean);
@ -514,7 +519,7 @@ begin
if pV8Context.Enter then
begin
pV8Context.Eval(TempScript, '', 1, pReturnValue, pException);
ParseEvalJsAnswer(pMessage, pBrowser, pReturnValue, pException);
ParseEvalJsAnswer(pMessage, pBrowser, pFrame, pReturnValue, pException);
pV8Context.Exit;
end;
end;
@ -525,7 +530,7 @@ begin
if (pMessage.Name = BINARY_PARAM_JS) then
begin
TempBinValue := pMessage.ArgumentList.GetBinary(0);
ParseBinaryValue(pBrowser, TempBinValue);
ParseBinaryValue(pBrowser, pFrame, TempBinValue);
aHandled := True;
end;
end;
@ -534,11 +539,12 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnProcessMessageReceived := RenderProcessHandler_OnProcessMessageReceivedEvent;
GlobalCEFApp.SingleProcess := True;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSEvalFrm.Chromium1ProcessMessageReceived(Sender : TObject;
const browser : ICefBrowser;
const frame : ICefFrame;
sourceProcess : TCefProcessId;
const message : ICefProcessMessage;
out Result : Boolean);

View File

@ -8,7 +8,6 @@
<Unit0>
<Filename Value="JSExecutingFunctions.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="41"/>
<CursorPos X="17" Y="59"/>
<UsageCount Value="20"/>
@ -21,9 +20,10 @@
<ComponentName Value="JSExecutingFunctionsFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="157"/>
<CursorPos X="73" Y="175"/>
<TopLine Value="206"/>
<CursorPos X="39" Y="213"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -53,7 +53,7 @@
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit4>
</Units>
<JumpHistory Count="2" HistoryIndex="1">
<JumpHistory Count="7" HistoryIndex="6">
<Position1>
<Filename Value="uJSExecutingFunctions.pas"/>
</Position1>
@ -61,6 +61,26 @@
<Filename Value="uJSExecutingFunctions.pas"/>
<Caret Line="175" Column="73" TopLine="157"/>
</Position2>
<Position3>
<Filename Value="JSExecutingFunctions.lpr"/>
<Caret Line="59" Column="17" TopLine="41"/>
</Position3>
<Position4>
<Filename Value="uJSExecutingFunctions.pas"/>
<Caret Line="115" Column="11" TopLine="99"/>
</Position4>
<Position5>
<Filename Value="uJSExecutingFunctions.pas"/>
<Caret Line="176" Column="3" TopLine="163"/>
</Position5>
<Position6>
<Filename Value="uJSExecutingFunctions.pas"/>
<Caret Line="178" Column="41" TopLine="162"/>
</Position6>
<Position7>
<Filename Value="uJSExecutingFunctions.pas"/>
<Caret Line="87" Column="43" TopLine="84"/>
</Position7>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -84,6 +84,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormDestroy(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -152,6 +153,7 @@ begin
end;
procedure GlobalCEFApp_OnProcessMessageReceived(const browser : ICefBrowser;
const frame : ICefFrame;
sourceProcess : TCefProcessId;
const aMessage : ICefProcessMessage;
var aHandled : boolean);
@ -174,6 +176,7 @@ begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.OnProcessMessageReceived := GlobalCEFApp_OnProcessMessageReceived;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSExecutingFunctionsFrm.GoBtnClick(Sender: TObject);
@ -206,7 +209,9 @@ procedure TJSExecutingFunctionsFrm.Chromium1BeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs

View File

@ -22,8 +22,8 @@
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="377"/>
<CursorPos X="20" Y="410"/>
<TopLine Value="134"/>
<CursorPos X="59" Y="88"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -32,8 +32,11 @@
<Unit2>
<Filename Value="uTestExtensionHandler.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<EditorIndex Value="2"/>
<TopLine Value="41"/>
<CursorPos X="56" Y="94"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit2>
<Unit3>
@ -47,10 +50,34 @@
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit3>
</Units>
<JumpHistory Count="1">
<JumpHistory Count="7" HistoryIndex="6">
<Position1>
<Filename Value="uJSExtension.pas"/>
</Position1>
<Position2>
<Filename Value="uJSExtension.pas"/>
<Caret Line="125" Column="23" TopLine="106"/>
</Position2>
<Position3>
<Filename Value="uJSExtension.pas"/>
<Caret Line="223" Column="56" TopLine="219"/>
</Position3>
<Position4>
<Filename Value="uJSExtension.pas"/>
<Caret Line="98" Column="43" TopLine="94"/>
</Position4>
<Position5>
<Filename Value="uJSExtension.pas"/>
<Caret Line="265" Column="39" TopLine="258"/>
</Position5>
<Position6>
<Filename Value="uTestExtensionHandler.pas"/>
<Caret Line="94" Column="56" TopLine="41"/>
</Position6>
<Position7>
<Filename Value="uJSExtension.pas"/>
<Caret Line="312" Column="54" TopLine="301"/>
</Position7>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -17,18 +17,18 @@ object JSExtensionFrm: TJSExtensionFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSExtensionFrm: TJSExtensionFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSExtensionFrm: TJSExtensionFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 538
Top = 30
Height = 547
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -85,7 +85,7 @@ type
const params: ICefContextMenuParams; commandId: Integer;
eventFlags: Cardinal; out Result: Boolean);
procedure Chromium1ProcessMessageReceived(Sender: TObject;
const browser: ICefBrowser; sourceProcess: TCefProcessId;
const browser: ICefBrowser; const frame: ICefFrame; sourceProcess: TCefProcessId;
const message: ICefProcessMessage; out Result: Boolean);
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
procedure Timer1Timer(Sender: TObject);
@ -95,6 +95,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -220,6 +221,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitialized;
GlobalCEFApp.DisableFeatures := 'NetworkService';
{$IFDEF INTFLOG}
GlobalCEFApp.LogFile := 'debug.log';
@ -259,7 +261,9 @@ procedure TJSExtensionFrm.Chromium1BeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs
@ -305,7 +309,7 @@ begin
end;
procedure TJSExtensionFrm.Chromium1ProcessMessageReceived(Sender: TObject;
const browser: ICefBrowser; sourceProcess: TCefProcessId;
const browser: ICefBrowser; const frame: ICefFrame; sourceProcess: TCefProcessId;
const message: ICefProcessMessage; out Result: Boolean);
begin
Result := False;

View File

@ -78,7 +78,7 @@ begin
msg := TCefProcessMessageRef.New(MOUSEOVER_MESSAGE_NAME);
msg.ArgumentList.SetString(0, arguments[0].GetStringValue);
TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg);
TCefv8ContextRef.Current.Browser.MainFrame.SendProcessMessage(PID_BROWSER, msg);
end;
Result := True;
@ -91,7 +91,7 @@ begin
msg := TCefProcessMessageRef.New(arguments[1].GetStringValue);
msg.ArgumentList.SetString(0, arguments[0].GetStringValue);
TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg);
TCefv8ContextRef.Current.Browser.MainFrame.SendProcessMessage(PID_BROWSER, msg);
end;
Result := True;

View File

@ -8,8 +8,7 @@
<Unit0>
<Filename Value="JSExtensionWithFunction.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="41"/>
<TopLine Value="45"/>
<CursorPos X="17" Y="59"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
@ -22,8 +21,8 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<EditorIndex Value="1"/>
<TopLine Value="107"/>
<CursorPos X="11" Y="125"/>
<TopLine Value="63"/>
<CursorPos X="15" Y="78"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -32,8 +31,12 @@
<Unit2>
<Filename Value="uMyV8Handler.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
<TopLine Value="50"/>
<CursorPos X="74" Y="69"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit2>
<Unit3>
@ -53,7 +56,7 @@
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit4>
</Units>
<JumpHistory Count="3" HistoryIndex="2">
<JumpHistory Count="10" HistoryIndex="9">
<Position1>
<Filename Value="uJSExtensionWithFunction.pas"/>
</Position1>
@ -65,6 +68,34 @@
<Filename Value="uJSExtensionWithFunction.pas"/>
<Caret Line="151" Column="39" TopLine="133"/>
</Position3>
<Position4>
<Filename Value="JSExtensionWithFunction.lpr"/>
<Caret Line="59" Column="17" TopLine="45"/>
</Position4>
<Position5>
<Filename Value="uJSExtensionWithFunction.pas"/>
<Caret Line="104" Column="11" TopLine="94"/>
</Position5>
<Position6>
<Filename Value="uJSExtensionWithFunction.pas"/>
<Caret Line="77" Column="7" TopLine="68"/>
</Position6>
<Position7>
<Filename Value="uJSExtensionWithFunction.pas"/>
<Caret Line="179" Column="39" TopLine="172"/>
</Position7>
<Position8>
<Filename Value="uJSExtensionWithFunction.pas"/>
<Caret Line="79" Column="59" TopLine="57"/>
</Position8>
<Position9>
<Filename Value="uJSExtensionWithFunction.pas"/>
<Caret Line="198" Column="60" TopLine="188"/>
</Position9>
<Position10>
<Filename Value="uJSExtensionWithFunction.pas"/>
<Caret Line="78" Column="15" TopLine="63"/>
</Position10>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -17,18 +17,18 @@ object JSExtensionWithFunctionFrm: TJSExtensionWithFunctionFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSExtensionWithFunctionFrm: TJSExtensionWithFunctionFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSExtensionWithFunctionFrm: TJSExtensionWithFunctionFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 536
Top = 30
Height = 545
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -73,9 +73,10 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure Chromium1ProcessMessageReceived(Sender: TObject;
const browser: ICefBrowser; sourceProcess: TCefProcessId;
const browser: ICefBrowser; const frame: ICefFrame; sourceProcess: TCefProcessId;
const message: ICefProcessMessage; out Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -149,6 +150,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitializedEvent;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSExtensionWithFunctionFrm.GoBtnClick(Sender: TObject);
@ -173,7 +175,9 @@ procedure TJSExtensionWithFunctionFrm.Chromium1BeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs
@ -188,7 +192,7 @@ begin
end;
procedure TJSExtensionWithFunctionFrm.Chromium1ProcessMessageReceived(
Sender: TObject; const browser: ICefBrowser;
Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame;
sourceProcess: TCefProcessId; const message: ICefProcessMessage;
out Result: Boolean);
begin

View File

@ -69,7 +69,7 @@ begin
begin
msg := TCefProcessMessageRef.New(TEST_MESSAGE_NAME);
msg.ArgumentList.SetString(0, 'Message received!');
TCefv8ContextRef.Current.Browser.SendProcessMessage(PID_BROWSER, msg);
TCefv8ContextRef.Current.Browser.MainFrame.SendProcessMessage(PID_BROWSER, msg);
retval := TCefv8ValueRef.NewString('My Value!');
Result := True;

View File

@ -8,9 +8,8 @@
<Unit0>
<Filename Value="JSExtensionWithObjectParameter.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="41"/>
<CursorPos X="17" Y="59"/>
<CursorPos X="93" Y="46"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
@ -21,7 +20,10 @@
<ComponentName Value="JSExtensionWithObjectParameterFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="119"/>
<CursorPos X="43" Y="75"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -35,10 +37,22 @@
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit2>
</Units>
<JumpHistory Count="1">
<JumpHistory Count="4" HistoryIndex="3">
<Position1>
<Filename Value="uJSExtensionWithObjectParameter.pas"/>
</Position1>
<Position2>
<Filename Value="JSExtensionWithObjectParameter.lpr"/>
<Caret Line="46" Column="93" TopLine="41"/>
</Position2>
<Position3>
<Filename Value="uJSExtensionWithObjectParameter.pas"/>
<Caret Line="100" Column="11" TopLine="87"/>
</Position3>
<Position4>
<Filename Value="uJSExtensionWithObjectParameter.pas"/>
<Caret Line="181" Column="39" TopLine="151"/>
</Position4>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -17,18 +17,18 @@ object JSExtensionWithObjectParameterFrm: TJSExtensionWithObjectParameterFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSExtensionWithObjectParameterFrm: TJSExtensionWithObjectParameterFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSExtensionWithObjectParameterFrm: TJSExtensionWithObjectParameterFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 559
Top = 30
Height = 568
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -72,6 +72,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -152,6 +153,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitializedEvent;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSExtensionWithObjectParameterFrm.GoBtnClick(Sender: TObject);
@ -177,6 +179,7 @@ procedure TJSExtensionWithObjectParameterFrm.Chromium1BeforePopup(
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs

View File

@ -8,8 +8,7 @@
<Unit0>
<Filename Value="JSSimpleExtension.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="40"/>
<TopLine Value="44"/>
<CursorPos X="17" Y="58"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
@ -21,17 +20,32 @@
<ComponentName Value="JSSimpleExtensionFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="53"/>
<CursorPos X="43" Y="75"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit1>
</Units>
<JumpHistory Count="1">
<JumpHistory Count="4" HistoryIndex="3">
<Position1>
<Filename Value="uJSSimpleExtension.pas"/>
</Position1>
<Position2>
<Filename Value="JSSimpleExtension.lpr"/>
<Caret Line="58" Column="17" TopLine="44"/>
</Position2>
<Position3>
<Filename Value="uJSSimpleExtension.pas"/>
<Caret Line="100" Column="11" TopLine="84"/>
</Position3>
<Position4>
<Filename Value="uJSSimpleExtension.pas"/>
<Caret Line="161" Column="39" TopLine="138"/>
</Position4>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -17,18 +17,18 @@ object JSSimpleExtensionFrm: TJSSimpleExtensionFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSSimpleExtensionFrm: TJSSimpleExtensionFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSSimpleExtensionFrm: TJSSimpleExtensionFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 559
Top = 30
Height = 568
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -72,6 +72,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -139,6 +140,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnWebKitInitialized := GlobalCEFApp_OnWebKitInitializedEvent;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSSimpleExtensionFrm.GoBtnClick(Sender: TObject);
@ -156,7 +158,9 @@ procedure TJSSimpleExtensionFrm.Chromium1BeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs

View File

@ -8,7 +8,6 @@
<Unit0>
<Filename Value="JSSimpleWindowBinding.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="40"/>
<CursorPos X="17" Y="58"/>
<UsageCount Value="20"/>
@ -21,17 +20,48 @@
<ComponentName Value="JSSimpleWindowBindingFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="56"/>
<CursorPos X="15" Y="84"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit1>
</Units>
<JumpHistory Count="1">
<JumpHistory Count="8" HistoryIndex="7">
<Position1>
<Filename Value="uJSSimpleWindowBinding.pas"/>
</Position1>
<Position2>
<Filename Value="JSSimpleWindowBinding.lpr"/>
<Caret Line="58" Column="17" TopLine="40"/>
</Position2>
<Position3>
<Filename Value="uJSSimpleWindowBinding.pas"/>
<Caret Line="100" Column="11" TopLine="84"/>
</Position3>
<Position4>
<Filename Value="uJSSimpleWindowBinding.pas"/>
<Caret Line="153" Column="39" TopLine="130"/>
</Position4>
<Position5>
<Filename Value="uJSSimpleWindowBinding.pas"/>
<Caret Line="151" Column="19" TopLine="137"/>
</Position5>
<Position6>
<Filename Value="uJSSimpleWindowBinding.pas"/>
<Caret Line="150" Column="65" TopLine="135"/>
</Position6>
<Position7>
<Filename Value="uJSSimpleWindowBinding.pas"/>
<Caret Line="75" Column="43" TopLine="61"/>
</Position7>
<Position8>
<Filename Value="uJSSimpleWindowBinding.pas"/>
<Caret Line="158" Column="3" TopLine="147"/>
</Position8>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -17,18 +17,18 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 559
Top = 30
Height = 568
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -72,6 +72,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -131,6 +132,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSSimpleWindowBindingFrm.GoBtnClick(Sender: TObject);
@ -148,7 +150,9 @@ procedure TJSSimpleWindowBindingFrm.Chromium1BeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs

View File

@ -65,6 +65,7 @@ begin
// 4. Run this demo : JSSimpleWindowBinding
GlobalCEFApp.BrowserSubprocessPath := 'SubProcess.exe';
GlobalCEFApp.DisableFeatures := 'NetworkService';
if GlobalCEFApp.StartMainProcess then
begin

View File

@ -8,9 +8,8 @@
<Unit0>
<Filename Value="JSSimpleWindowBinding.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="42"/>
<CursorPos X="43" Y="46"/>
<CursorPos X="36" Y="68"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
@ -21,17 +20,24 @@
<ComponentName Value="JSSimpleWindowBindingFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="62"/>
<CursorPos X="39" Y="134"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit1>
</Units>
<JumpHistory Count="1">
<JumpHistory Count="2" HistoryIndex="1">
<Position1>
<Filename Value="uJSSimpleWindowBinding.pas"/>
</Position1>
<Position2>
<Filename Value="uJSSimpleWindowBinding.pas"/>
<Caret Line="75" Column="43" TopLine="55"/>
</Position2>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -68,8 +68,9 @@ begin
end;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.DisableFeatures := 'NetworkService';
// The main process and the subprocess *MUST* have the same FrameworkDirPath, ResourcesDirPath,
// LocalesDirPath, cache, cookies and UserDataPath paths
@ -83,7 +84,6 @@ begin
GlobalCEFApp.ResourcesDirPath := 'cef';
GlobalCEFApp.LocalesDirPath := 'cef\locales';
GlobalCEFApp.cache := 'cef\cache';
GlobalCEFApp.cookies := 'cef\cookies';
GlobalCEFApp.UserDataPath := 'cef\User Data';
}

View File

@ -9,8 +9,8 @@
<Filename Value="SubProcess.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="22"/>
<CursorPos X="50" Y="48"/>
<TopLine Value="58"/>
<CursorPos X="33" Y="71"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>

View File

@ -17,18 +17,18 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSSimpleWindowBindingFrm: TJSSimpleWindowBindingFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 559
Top = 30
Height = 568
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -72,6 +72,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -129,7 +130,9 @@ procedure TJSSimpleWindowBindingFrm.Chromium1BeforePopup(Sender: TObject;
targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition;
userGesture: Boolean; const popupFeatures: TCefPopupFeatures;
var windowInfo: TCefWindowInfo; var client: ICefClient;
var settings: TCefBrowserSettings; var noJavascriptAccess: Boolean;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs

View File

@ -8,9 +8,8 @@
<Unit0>
<Filename Value="JSWindowBindingWithFunction.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="41"/>
<CursorPos X="17" Y="59"/>
<CursorPos X="108" Y="49"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Delphi"/>
@ -21,7 +20,10 @@
<ComponentName Value="JSWindowBindingWithFunctionFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="69"/>
<CursorPos X="43" Y="75"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -35,10 +37,18 @@
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit2>
</Units>
<JumpHistory Count="1">
<JumpHistory Count="3" HistoryIndex="2">
<Position1>
<Filename Value="uJSWindowBindingWithFunction.pas"/>
</Position1>
<Position2>
<Filename Value="JSWindowBindingWithFunction.lpr"/>
<Caret Line="49" Column="108" TopLine="41"/>
</Position2>
<Position3>
<Filename Value="uJSWindowBindingWithFunction.pas"/>
<Caret Line="100" Column="11" TopLine="84"/>
</Position3>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -17,18 +17,18 @@ object JSWindowBindingWithFunctionFrm: TJSWindowBindingWithFunctionFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSWindowBindingWithFunctionFrm: TJSWindowBindingWithFunctionFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSWindowBindingWithFunctionFrm: TJSWindowBindingWithFunctionFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 559
Top = 30
Height = 568
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -72,6 +72,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -136,6 +137,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSWindowBindingWithFunctionFrm.GoBtnClick(Sender: TObject);
@ -154,6 +156,7 @@ procedure TJSWindowBindingWithFunctionFrm.Chromium1BeforePopup(
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs

View File

@ -8,7 +8,6 @@
<Unit0>
<Filename Value="JSWindowBindingWithObject.lpr"/>
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<TopLine Value="41"/>
<CursorPos X="17" Y="59"/>
<UsageCount Value="20"/>
@ -21,7 +20,10 @@
<ComponentName Value="JSWindowBindingWithObjectFrm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="153"/>
<CursorPos X="3" Y="163"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
@ -35,10 +37,26 @@
<DefaultSyntaxHighlighter Value="Delphi"/>
</Unit2>
</Units>
<JumpHistory Count="1">
<JumpHistory Count="5" HistoryIndex="4">
<Position1>
<Filename Value="uJSWindowBindingWithObject.pas"/>
</Position1>
<Position2>
<Filename Value="JSWindowBindingWithObject.lpr"/>
<Caret Line="59" Column="17" TopLine="41"/>
</Position2>
<Position3>
<Filename Value="uJSWindowBindingWithObject.pas"/>
<Caret Line="100" Column="11" TopLine="84"/>
</Position3>
<Position4>
<Filename Value="uJSWindowBindingWithObject.pas"/>
<Caret Line="159" Column="3" TopLine="136"/>
</Position4>
<Position5>
<Filename Value="uJSWindowBindingWithObject.pas"/>
<Caret Line="75" Column="43" TopLine="69"/>
</Position5>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>

View File

@ -17,18 +17,18 @@ object JSWindowBindingWithObjectFrm: TJSWindowBindingWithObjectFrm
LCLVersion = '2.0.2.0'
object NavControlPnl: TPanel
Left = 0
Height = 30
Height = 21
Top = 0
Width = 978
Align = alTop
BevelOuter = bvNone
ClientHeight = 30
ClientHeight = 21
ClientWidth = 978
Enabled = False
TabOrder = 0
object Edit1: TEdit
Left = 0
Height = 30
Height = 21
Top = 0
Width = 947
Align = alClient
@ -37,7 +37,7 @@ object JSWindowBindingWithObjectFrm: TJSWindowBindingWithObjectFrm
end
object GoBtn: TButton
Left = 947
Height = 30
Height = 21
Top = 0
Width = 31
Align = alRight
@ -48,8 +48,8 @@ object JSWindowBindingWithObjectFrm: TJSWindowBindingWithObjectFrm
end
object CEFWindowParent1: TCEFWindowParent
Left = 0
Height = 559
Top = 30
Height = 568
Top = 21
Width = 978
Align = alClient
TabOrder = 1

View File

@ -72,6 +72,7 @@ type
targetDisposition: TCefWindowOpenDisposition; userGesture: Boolean;
const popupFeatures: TCefPopupFeatures; var windowInfo: TCefWindowInfo;
var client: ICefClient; var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean; var Result: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
@ -137,6 +138,7 @@ procedure CreateGlobalCEFApp;
begin
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
GlobalCEFApp.DisableFeatures := 'NetworkService';
end;
procedure TJSWindowBindingWithObjectFrm.GoBtnClick(Sender: TObject);
@ -154,8 +156,11 @@ procedure TJSWindowBindingWithObjectFrm.Chromium1BeforePopup(
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);
var client: ICefClient;
var settings: TCefBrowserSettings;
var extra_info: ICefDictionaryValue;
var noJavascriptAccess: Boolean;
var Result: Boolean);
begin
// For simplicity, this demo blocks all popup windows and new tabs
Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]);