You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-07-12 22:30:17 +02:00
Added Multi-Browser mode to TChromium
MiniBrowser demo now has the Multi-browser mode enabled. Added TChromium.MultiBrowserMode Added TChromium.BrowserById Added TChromium.BrowserCount Added TChromium.BrowserIdByIndex Added TChromium.SelectBrowser Added TChromium.CloseAllBrowsers Added TChromium.TryCloseBrowser
This commit is contained in:
@ -129,28 +129,48 @@ type
|
|||||||
Simulatekeyboardpresses1: TMenuItem;
|
Simulatekeyboardpresses1: TMenuItem;
|
||||||
Flushcookies1: TMenuItem;
|
Flushcookies1: TMenuItem;
|
||||||
Acceptlanguage1: TMenuItem;
|
Acceptlanguage1: TMenuItem;
|
||||||
|
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
||||||
|
|
||||||
|
procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
|
||||||
|
|
||||||
|
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||||
|
procedure Chromium1LoadingStateChange(Sender: TObject; const browser: ICefBrowser; isLoading, canGoBack, canGoForward: Boolean);
|
||||||
|
procedure Chromium1TitleChange(Sender: TObject; const browser: ICefBrowser; const title: ustring);
|
||||||
|
procedure Chromium1AddressChange(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const url: ustring);
|
||||||
|
procedure Chromium1BeforeContextMenu(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; const model: ICefMenuModel);
|
||||||
|
procedure Chromium1StatusMessage(Sender: TObject; const browser: ICefBrowser; const value: ustring);
|
||||||
|
procedure Chromium1TextResultAvailable(Sender: TObject; const aText: ustring);
|
||||||
|
procedure Chromium1FullScreenModeChange(Sender: TObject; const browser: ICefBrowser; fullscreen: Boolean);
|
||||||
|
procedure Chromium1PreKeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg; out isKeyboardShortcut, Result: Boolean);
|
||||||
|
procedure Chromium1KeyEvent(Sender: TObject; const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg; out Result: Boolean);
|
||||||
|
procedure Chromium1ContextMenuCommand(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const params: ICefContextMenuParams; commandId: Integer; eventFlags: Cardinal; out Result: Boolean);
|
||||||
|
procedure Chromium1PdfPrintFinished(Sender: TObject; aResultOK: Boolean);
|
||||||
|
procedure Chromium1ResourceResponse(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const response: ICefResponse; out Result: Boolean);
|
||||||
|
procedure Chromium1ResolvedHostAvailable(Sender: TObject; result: Integer; const resolvedIps: TStrings);
|
||||||
|
procedure Chromium1PrefsAvailable(Sender: TObject; aResultOK: Boolean);
|
||||||
|
procedure Chromium1BeforeDownload(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const suggestedName: ustring; const callback: ICefBeforeDownloadCallback);
|
||||||
|
procedure Chromium1DownloadUpdated(Sender: TObject; const browser: ICefBrowser; const downloadItem: ICefDownloadItem; const callback: ICefDownloadItemCallback);
|
||||||
|
procedure Chromium1BeforeResourceLoad(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const request: ICefRequest; const callback: ICefRequestCallback; out Result: TCefReturnValue);
|
||||||
|
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||||
|
procedure Chromium1BeforeClose(Sender: TObject; const browser: ICefBrowser);
|
||||||
|
procedure Chromium1RenderCompMsg(var aMessage : TMessage; var aHandled: Boolean);
|
||||||
|
procedure Chromium1LoadingProgressChange(Sender: TObject; const browser: ICefBrowser; const progress: Double);
|
||||||
|
procedure Chromium1LoadEnd(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; httpStatusCode: Integer);
|
||||||
|
procedure Chromium1LoadError(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; errorCode: Integer; const errorText, failedUrl: ustring);
|
||||||
|
procedure Chromium1CertificateError(Sender: TObject; const browser: ICefBrowser; certError: Integer; const requestUrl: ustring; const sslInfo: ICefSslInfo; const callback: ICefRequestCallback; out Result: Boolean);
|
||||||
|
procedure Chromium1NavigationVisitorResultAvailable( const entry: ICefNavigationEntry; current: Boolean; index, total: Integer; var aResult: Boolean);
|
||||||
|
procedure Chromium1DownloadImageFinished(Sender: TObject; const imageUrl: ustring; httpStatusCode: Integer; const image: ICefImage);
|
||||||
|
procedure Chromium1CookiesFlushed(Sender: TObject);
|
||||||
|
procedure Chromium1BeforePluginLoad(Sender: TObject; const mimeType, pluginUrl: ustring; isMainFrame: Boolean; const topOriginUrl: ustring; const pluginInfo: ICefWebPluginInfo; var pluginPolicy: TCefPluginPolicy; var aResult: Boolean);
|
||||||
|
procedure Chromium1ZoomPctAvailable(Sender: TObject; const aZoomPct: Double);
|
||||||
|
|
||||||
procedure BackBtnClick(Sender: TObject);
|
procedure BackBtnClick(Sender: TObject);
|
||||||
procedure ForwardBtnClick(Sender: TObject);
|
procedure ForwardBtnClick(Sender: TObject);
|
||||||
procedure ReloadBtnClick(Sender: TObject);
|
procedure ReloadBtnClick(Sender: TObject);
|
||||||
procedure Chromium1AfterCreated(Sender: TObject;
|
|
||||||
const browser: ICefBrowser);
|
|
||||||
procedure Chromium1LoadingStateChange(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; isLoading, canGoBack,
|
|
||||||
canGoForward: Boolean);
|
|
||||||
procedure Chromium1TitleChange(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const title: ustring);
|
|
||||||
procedure Chromium1AddressChange(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
|
||||||
const url: ustring);
|
|
||||||
procedure Chromium1BeforeContextMenu(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
|
||||||
const params: ICefContextMenuParams; const model: ICefMenuModel);
|
|
||||||
procedure Chromium1StatusMessage(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const value: ustring);
|
|
||||||
procedure Chromium1TextResultAvailable(Sender: TObject;
|
|
||||||
const aText: ustring);
|
|
||||||
procedure PopupMenu1Popup(Sender: TObject);
|
|
||||||
procedure DevTools1Click(Sender: TObject);
|
procedure DevTools1Click(Sender: TObject);
|
||||||
procedure Preferences1Click(Sender: TObject);
|
procedure Preferences1Click(Sender: TObject);
|
||||||
procedure ConfigBtnClick(Sender: TObject);
|
procedure ConfigBtnClick(Sender: TObject);
|
||||||
@ -160,82 +180,17 @@ type
|
|||||||
procedure Inczoom1Click(Sender: TObject);
|
procedure Inczoom1Click(Sender: TObject);
|
||||||
procedure Deczoom1Click(Sender: TObject);
|
procedure Deczoom1Click(Sender: TObject);
|
||||||
procedure Resetzoom1Click(Sender: TObject);
|
procedure Resetzoom1Click(Sender: TObject);
|
||||||
procedure Chromium1FullScreenModeChange(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; fullscreen: Boolean);
|
|
||||||
procedure Chromium1PreKeyEvent(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg;
|
|
||||||
out isKeyboardShortcut, Result: Boolean);
|
|
||||||
procedure Chromium1KeyEvent(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg;
|
|
||||||
out Result: Boolean);
|
|
||||||
procedure ApplicationEvents1Message(var Msg: tagMSG;
|
|
||||||
var Handled: Boolean);
|
|
||||||
procedure Openfile1Click(Sender: TObject);
|
procedure Openfile1Click(Sender: TObject);
|
||||||
procedure Chromium1ContextMenuCommand(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
|
||||||
const params: ICefContextMenuParams; commandId: Integer;
|
|
||||||
eventFlags: Cardinal; out Result: Boolean);
|
|
||||||
procedure Chromium1PdfPrintFinished(Sender: TObject;
|
|
||||||
aResultOK: Boolean);
|
|
||||||
procedure Chromium1ResourceResponse(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
|
||||||
const request: ICefRequest; const response: ICefResponse;
|
|
||||||
out Result: Boolean);
|
|
||||||
procedure StopBtnClick(Sender: TObject);
|
procedure StopBtnClick(Sender: TObject);
|
||||||
procedure Resolvehost1Click(Sender: TObject);
|
procedure Resolvehost1Click(Sender: TObject);
|
||||||
procedure Chromium1ResolvedHostAvailable(Sender: TObject;
|
|
||||||
result: Integer; const resolvedIps: TStrings);
|
|
||||||
procedure Timer1Timer(Sender: TObject);
|
|
||||||
procedure Chromium1PrefsAvailable(Sender: TObject; aResultOK: Boolean);
|
|
||||||
procedure Chromium1BeforeDownload(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const downloadItem: ICefDownloadItem;
|
|
||||||
const suggestedName: ustring;
|
|
||||||
const callback: ICefBeforeDownloadCallback);
|
|
||||||
procedure Chromium1DownloadUpdated(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const downloadItem: ICefDownloadItem;
|
|
||||||
const callback: ICefDownloadItemCallback);
|
|
||||||
procedure FormCreate(Sender: TObject);
|
|
||||||
procedure FormDestroy(Sender: TObject);
|
|
||||||
procedure Chromium1BeforeResourceLoad(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
|
||||||
const request: ICefRequest; const callback: ICefRequestCallback;
|
|
||||||
out Result: TCefReturnValue);
|
|
||||||
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
|
|
||||||
procedure Chromium1Close(Sender: TObject; const browser: ICefBrowser;
|
|
||||||
var aAction : TCefCloseBrowserAction);
|
|
||||||
procedure Chromium1BeforeClose(Sender: TObject;
|
|
||||||
const browser: ICefBrowser);
|
|
||||||
procedure Chromium1RenderCompMsg(var aMessage : TMessage; var aHandled: Boolean);
|
|
||||||
procedure Chromium1LoadingProgressChange(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const progress: Double);
|
|
||||||
procedure OpenfilewithaDAT1Click(Sender: TObject);
|
procedure OpenfilewithaDAT1Click(Sender: TObject);
|
||||||
procedure Chromium1LoadEnd(Sender: TObject; const browser: ICefBrowser;
|
|
||||||
const frame: ICefFrame; httpStatusCode: Integer);
|
|
||||||
procedure Memoryinfo1Click(Sender: TObject);
|
procedure Memoryinfo1Click(Sender: TObject);
|
||||||
procedure Chromium1LoadError(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
|
||||||
errorCode: Integer; const errorText, failedUrl: ustring);
|
|
||||||
procedure Chromium1CertificateError(Sender: TObject;
|
|
||||||
const browser: ICefBrowser; certError: Integer;
|
|
||||||
const requestUrl: ustring; const sslInfo: ICefSslInfo;
|
|
||||||
const callback: ICefRequestCallback; out Result: Boolean);
|
|
||||||
procedure Chromium1NavigationVisitorResultAvailable(
|
|
||||||
const entry: ICefNavigationEntry; current: Boolean; index, total: Integer;
|
|
||||||
var aResult: Boolean);
|
|
||||||
procedure Downloadimage1Click(Sender: TObject);
|
procedure Downloadimage1Click(Sender: TObject);
|
||||||
procedure Chromium1DownloadImageFinished(Sender: TObject;
|
|
||||||
const imageUrl: ustring; httpStatusCode: Integer;
|
|
||||||
const image: ICefImage);
|
|
||||||
procedure Simulatekeyboardpresses1Click(Sender: TObject);
|
procedure Simulatekeyboardpresses1Click(Sender: TObject);
|
||||||
procedure Flushcookies1Click(Sender: TObject);
|
procedure Flushcookies1Click(Sender: TObject);
|
||||||
procedure Chromium1CookiesFlushed(Sender: TObject);
|
|
||||||
procedure Chromium1BeforePluginLoad(Sender: TObject; const mimeType,
|
|
||||||
pluginUrl: ustring; isMainFrame: Boolean;
|
|
||||||
const topOriginUrl: ustring; const pluginInfo: ICefWebPluginInfo;
|
|
||||||
var pluginPolicy: TCefPluginPolicy; var aResult: Boolean);
|
|
||||||
procedure Acceptlanguage1Click(Sender: TObject);
|
procedure Acceptlanguage1Click(Sender: TObject);
|
||||||
procedure Chromium1ZoomPctAvailable(Sender: TObject;
|
procedure PopupMenu1Popup(Sender: TObject);
|
||||||
const aZoomPct: Double);
|
procedure Timer1Timer(Sender: TObject);
|
||||||
|
|
||||||
protected
|
protected
|
||||||
FResponse : TStringList;
|
FResponse : TStringList;
|
||||||
@ -497,7 +452,9 @@ end;
|
|||||||
|
|
||||||
procedure TMiniBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
procedure TMiniBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||||
begin
|
begin
|
||||||
if (browser <> nil) and (Chromium1.BrowserId = browser.Identifier) then
|
if (browser <> nil) and
|
||||||
|
(Chromium1.BrowserId = browser.Identifier) and
|
||||||
|
(CEFWindowParent1 <> nil) then
|
||||||
begin
|
begin
|
||||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||||
aAction := cbaDelay;
|
aAction := cbaDelay;
|
||||||
@ -1023,7 +980,10 @@ begin
|
|||||||
begin
|
begin
|
||||||
FClosing := True;
|
FClosing := True;
|
||||||
Visible := False;
|
Visible := False;
|
||||||
Chromium1.CloseBrowser(True);
|
|
||||||
|
// if TChromium.MultiBrowserMode is enabled then we have to close all
|
||||||
|
// stored browsers and not only the main browser.
|
||||||
|
Chromium1.CloseAllBrowsers;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1034,7 +994,16 @@ begin
|
|||||||
FResponse := TStringList.Create;
|
FResponse := TStringList.Create;
|
||||||
FRequest := TStringList.Create;
|
FRequest := TStringList.Create;
|
||||||
FNavigation := TStringList.Create;
|
FNavigation := TStringList.Create;
|
||||||
Chromium1.DefaultURL := MINIBROWSER_HOMEPAGE;
|
|
||||||
|
// The MultiBrowserMode store all the browser references in TChromium.
|
||||||
|
// The first browser reference is the browser in the main form.
|
||||||
|
// When MiniBrowser allows CEF to create child popup browsers it will also
|
||||||
|
// store their reference inside TChromium and you can use all the TChromium's
|
||||||
|
// methods and properties to manipulate those browsers.
|
||||||
|
// To do that call TChromium.SelectBrowser with the browser ID that will be
|
||||||
|
// used when you call any method or property in TChromium.
|
||||||
|
Chromium1.MultiBrowserMode := True;
|
||||||
|
Chromium1.DefaultURL := MINIBROWSER_HOMEPAGE;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMiniBrowserFrm.FormDestroy(Sender: TObject);
|
procedure TMiniBrowserFrm.FormDestroy(Sender: TObject);
|
||||||
@ -1074,7 +1043,7 @@ end;
|
|||||||
|
|
||||||
procedure TMiniBrowserFrm.BrowserDestroyMsg(var aMessage : TMessage);
|
procedure TMiniBrowserFrm.BrowserDestroyMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
CEFWindowParent1.Free;
|
FreeAndNil(CEFWindowParent1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMiniBrowserFrm.Acceptlanguage1Click(Sender: TObject);
|
procedure TMiniBrowserFrm.Acceptlanguage1Click(Sender: TObject);
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<TopLine Value="46"/>
|
<TopLine Value="46"/>
|
||||||
<CursorPos Y="65"/>
|
<CursorPos Y="65"/>
|
||||||
<UsageCount Value="21"/>
|
<UsageCount Value="22"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||||
</Unit0>
|
</Unit0>
|
||||||
@ -22,13 +22,13 @@
|
|||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<IsVisibleTab Value="True"/>
|
<IsVisibleTab Value="True"/>
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="1"/>
|
||||||
<TopLine Value="22"/>
|
<TopLine Value="509"/>
|
||||||
<CursorPos X="37" Y="48"/>
|
<CursorPos X="48" Y="543"/>
|
||||||
<UsageCount Value="21"/>
|
<UsageCount Value="22"/>
|
||||||
<Bookmarks Count="3">
|
<Bookmarks Count="3">
|
||||||
<Item0 Y="840" ID="1"/>
|
<Item0 Y="842" ID="1"/>
|
||||||
<Item1 X="49" Y="61" ID="2"/>
|
<Item1 X="49" Y="61" ID="2"/>
|
||||||
<Item2 X="65" Y="1059" ID="3"/>
|
<Item2 X="65" Y="1073" ID="3"/>
|
||||||
</Bookmarks>
|
</Bookmarks>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
@ -43,7 +43,7 @@
|
|||||||
<EditorIndex Value="-1"/>
|
<EditorIndex Value="-1"/>
|
||||||
<TopLine Value="69"/>
|
<TopLine Value="69"/>
|
||||||
<CursorPos X="86" Y="70"/>
|
<CursorPos X="86" Y="70"/>
|
||||||
<UsageCount Value="21"/>
|
<UsageCount Value="22"/>
|
||||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||||
</Unit2>
|
</Unit2>
|
||||||
<Unit3>
|
<Unit3>
|
||||||
@ -53,7 +53,7 @@
|
|||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<EditorIndex Value="-1"/>
|
<EditorIndex Value="-1"/>
|
||||||
<UsageCount Value="21"/>
|
<UsageCount Value="22"/>
|
||||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||||
</Unit3>
|
</Unit3>
|
||||||
<Unit4>
|
<Unit4>
|
||||||
@ -182,7 +182,7 @@
|
|||||||
<UsageCount Value="10"/>
|
<UsageCount Value="10"/>
|
||||||
</Unit21>
|
</Unit21>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="5" HistoryIndex="4">
|
<JumpHistory Count="10" HistoryIndex="9">
|
||||||
<Position1>
|
<Position1>
|
||||||
<Filename Value="MiniBrowser.lpr"/>
|
<Filename Value="MiniBrowser.lpr"/>
|
||||||
<Caret Line="65" TopLine="46"/>
|
<Caret Line="65" TopLine="46"/>
|
||||||
@ -203,6 +203,26 @@
|
|||||||
<Filename Value="uMiniBrowser.pas"/>
|
<Filename Value="uMiniBrowser.pas"/>
|
||||||
<Caret Line="48" Column="37" TopLine="22"/>
|
<Caret Line="48" Column="37" TopLine="22"/>
|
||||||
</Position5>
|
</Position5>
|
||||||
|
<Position6>
|
||||||
|
<Filename Value="uMiniBrowser.pas"/>
|
||||||
|
<Caret Line="310" Column="52" TopLine="295"/>
|
||||||
|
</Position6>
|
||||||
|
<Position7>
|
||||||
|
<Filename Value="uMiniBrowser.pas"/>
|
||||||
|
<Caret Line="1005" Column="88" TopLine="979"/>
|
||||||
|
</Position7>
|
||||||
|
<Position8>
|
||||||
|
<Filename Value="uMiniBrowser.pas"/>
|
||||||
|
<Caret Line="1037" Column="50" TopLine="996"/>
|
||||||
|
</Position8>
|
||||||
|
<Position9>
|
||||||
|
<Filename Value="uMiniBrowser.pas"/>
|
||||||
|
<Caret Line="1157" Column="62" TopLine="1129"/>
|
||||||
|
</Position9>
|
||||||
|
<Position10>
|
||||||
|
<Filename Value="uMiniBrowser.pas"/>
|
||||||
|
<Caret Line="214" Column="29" TopLine="191"/>
|
||||||
|
</Position10>
|
||||||
</JumpHistory>
|
</JumpHistory>
|
||||||
<RunParams>
|
<RunParams>
|
||||||
<FormatVersion Value="2"/>
|
<FormatVersion Value="2"/>
|
||||||
|
@ -537,7 +537,9 @@ end;
|
|||||||
|
|
||||||
procedure TMiniBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
procedure TMiniBrowserFrm.Chromium1Close(Sender: TObject; const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
|
||||||
begin
|
begin
|
||||||
if (browser <> nil) and (Chromium1.BrowserId = browser.Identifier) then
|
if (browser <> nil) and
|
||||||
|
(Chromium1.BrowserId = browser.Identifier) and
|
||||||
|
(CEFWindowParent1 <> nil) then
|
||||||
begin
|
begin
|
||||||
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
PostMessage(Handle, CEF_DESTROY, 0, 0);
|
||||||
aAction := cbaDelay;
|
aAction := cbaDelay;
|
||||||
@ -989,7 +991,10 @@ begin
|
|||||||
begin
|
begin
|
||||||
FClosing := True;
|
FClosing := True;
|
||||||
Visible := False;
|
Visible := False;
|
||||||
Chromium1.CloseBrowser(True);
|
|
||||||
|
// if TChromium.MultiBrowserMode is enabled then we have to close all
|
||||||
|
// stored browsers and not only the main browser.
|
||||||
|
Chromium1.CloseAllBrowsers;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1000,7 +1005,16 @@ begin
|
|||||||
FResponse := TStringList.Create;
|
FResponse := TStringList.Create;
|
||||||
FRequest := TStringList.Create;
|
FRequest := TStringList.Create;
|
||||||
FNavigation := TStringList.Create;
|
FNavigation := TStringList.Create;
|
||||||
Chromium1.DefaultURL := MINIBROWSER_HOMEPAGE;
|
|
||||||
|
// The MultiBrowserMode store all the browser references in TChromium.
|
||||||
|
// The first browser reference is the browser in the main form.
|
||||||
|
// When MiniBrowser allows CEF to create child popup browsers it will also
|
||||||
|
// store their reference inside TChromium and you can use all the TChromium's
|
||||||
|
// methods and properties to manipulate those browsers.
|
||||||
|
// To do that call TChromium.SelectBrowser with the browser ID that will be
|
||||||
|
// used when you call any method or property in TChromium.
|
||||||
|
Chromium1.MultiBrowserMode := True;
|
||||||
|
Chromium1.DefaultURL := MINIBROWSER_HOMEPAGE;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMiniBrowserFrm.FormDestroy(Sender: TObject);
|
procedure TMiniBrowserFrm.FormDestroy(Sender: TObject);
|
||||||
@ -1152,7 +1166,7 @@ end;
|
|||||||
|
|
||||||
procedure TMiniBrowserFrm.BrowserDestroyMsg(var aMessage : TMessage);
|
procedure TMiniBrowserFrm.BrowserDestroyMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
CEFWindowParent1.Free;
|
FreeAndNil(CEFWindowParent1);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMiniBrowserFrm.AddURL(const aURL : string);
|
procedure TMiniBrowserFrm.AddURL(const aURL : string);
|
||||||
|
@ -4,10 +4,11 @@
|
|||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="11"/>
|
<Version Value="11"/>
|
||||||
<BuildModes Active="Default"/>
|
<BuildModes Active="Default"/>
|
||||||
<Units Count="2">
|
<Units Count="5">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="ToolBoxBrowser2.lpr"/>
|
<Filename Value="ToolBoxBrowser2.lpr"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
<IsVisibleTab Value="True"/>
|
||||||
<TopLine Value="10"/>
|
<TopLine Value="10"/>
|
||||||
<CursorPos X="63" Y="20"/>
|
<CursorPos X="63" Y="20"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
@ -20,21 +21,56 @@
|
|||||||
<ComponentName Value="MainForm"/>
|
<ComponentName Value="MainForm"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<IsVisibleTab Value="True"/>
|
|
||||||
<EditorIndex Value="1"/>
|
<EditorIndex Value="1"/>
|
||||||
<TopLine Value="82"/>
|
<TopLine Value="82"/>
|
||||||
<CursorPos X="87" Y="105"/>
|
<CursorPos X="55" Y="94"/>
|
||||||
<UsageCount Value="20"/>
|
<UsageCount Value="20"/>
|
||||||
<Loaded Value="True"/>
|
<Loaded Value="True"/>
|
||||||
<LoadedDesigner Value="True"/>
|
<LoadedDesigner Value="True"/>
|
||||||
<DefaultSyntaxHighlighter Value="Delphi"/>
|
<DefaultSyntaxHighlighter Value="Delphi"/>
|
||||||
</Unit1>
|
</Unit1>
|
||||||
|
<Unit2>
|
||||||
|
<Filename Value="..\..\..\source\uCEFConstants.pas"/>
|
||||||
|
<EditorIndex Value="2"/>
|
||||||
|
<TopLine Value="604"/>
|
||||||
|
<CursorPos X="3" Y="613"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit2>
|
||||||
|
<Unit3>
|
||||||
|
<Filename Value="..\..\..\source\uCEFBufferPanel.pas"/>
|
||||||
|
<EditorIndex Value="4"/>
|
||||||
|
<TopLine Value="668"/>
|
||||||
|
<CursorPos X="76" Y="678"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit3>
|
||||||
|
<Unit4>
|
||||||
|
<Filename Value="..\..\..\source\uCEFChromiumCore.pas"/>
|
||||||
|
<EditorIndex Value="3"/>
|
||||||
|
<TopLine Value="958"/>
|
||||||
|
<CursorPos X="28" Y="970"/>
|
||||||
|
<UsageCount Value="10"/>
|
||||||
|
<Loaded Value="True"/>
|
||||||
|
</Unit4>
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="1">
|
<JumpHistory Count="4" HistoryIndex="3">
|
||||||
<Position1>
|
<Position1>
|
||||||
<Filename Value="uMainForm.pas"/>
|
<Filename Value="uMainForm.pas"/>
|
||||||
<Caret Line="13" Column="49"/>
|
<Caret Line="13" Column="49"/>
|
||||||
</Position1>
|
</Position1>
|
||||||
|
<Position2>
|
||||||
|
<Filename Value="..\..\..\source\uCEFBufferPanel.pas"/>
|
||||||
|
<Caret Line="12" Column="57"/>
|
||||||
|
</Position2>
|
||||||
|
<Position3>
|
||||||
|
<Filename Value="..\..\..\source\uCEFConstants.pas"/>
|
||||||
|
<Caret Line="613" Column="3" TopLine="604"/>
|
||||||
|
</Position3>
|
||||||
|
<Position4>
|
||||||
|
<Filename Value="..\..\..\source\uCEFChromiumCore.pas"/>
|
||||||
|
<Caret Line="970" Column="42" TopLine="202"/>
|
||||||
|
</Position4>
|
||||||
</JumpHistory>
|
</JumpHistory>
|
||||||
<RunParams>
|
<RunParams>
|
||||||
<FormatVersion Value="2"/>
|
<FormatVersion Value="2"/>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
|||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : true,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 131,
|
"InternalVersion" : 132,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "81.3.1.0"
|
"Version" : "81.3.1.0"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user