mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2024-11-15 15:55:56 +01:00
Detect the "crashpad-handler" subprocess
Set the same SetProcessShutdownParameters parameter value as Chromium in the crashpad handler process.
This commit is contained in:
parent
6393b6f480
commit
e0e99c26eb
@ -780,14 +780,18 @@ begin
|
|||||||
FMustFreeLibrary := False;
|
FMustFreeLibrary := False;
|
||||||
FLastErrorMessage := '';
|
FLastErrorMessage := '';
|
||||||
{$IFDEF MSWINDOWS}
|
{$IFDEF MSWINDOWS}
|
||||||
if (FProcessType = ptBrowser) then
|
case FProcessType of
|
||||||
GetDLLVersion(ChromeElfPath, FChromeVersionInfo)
|
ptBrowser : GetDLLVersion(ChromeElfPath, FChromeVersionInfo);
|
||||||
|
ptCrashpad :
|
||||||
|
// The crashpad handler process must be the last one to be closed
|
||||||
|
SetProcessShutdownParameters($100, SHUTDOWN_NORETRY);
|
||||||
else
|
else
|
||||||
// Subprocesses will be the last to be notified about the Windows shutdown.
|
// Subprocesses will be the last to be notified about the Windows shutdown.
|
||||||
// The main browser process will receive WM_QUERYENDSESSION before the subprocesses
|
// The main browser process will receive WM_QUERYENDSESSION before the subprocesses
|
||||||
// and that allows to close the application in the right order.
|
// and that allows to close the application in the right order.
|
||||||
// See the MiniBrowser demo for all the details.
|
// See the MiniBrowser demo for all the details.
|
||||||
SetProcessShutdownParameters(CHROMIUM_NONBROWSERSHUTDOWNPRIORITY - 1, SHUTDOWN_NORETRY);
|
SetProcessShutdownParameters(CHROMIUM_NONBROWSERSHUTDOWNPRIORITY - 1, SHUTDOWN_NORETRY);
|
||||||
|
end;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// Internal filelds
|
// Internal filelds
|
||||||
@ -1597,6 +1601,9 @@ begin
|
|||||||
else
|
else
|
||||||
if (CompareText(TempValue, 'broker') = 0) then
|
if (CompareText(TempValue, 'broker') = 0) then
|
||||||
Result := ptBroker
|
Result := ptBroker
|
||||||
|
else
|
||||||
|
if (CompareText(TempValue, 'crashpad-handler') = 0) then
|
||||||
|
Result := ptCrashpad
|
||||||
else
|
else
|
||||||
Result := ptOther;
|
Result := ptOther;
|
||||||
end
|
end
|
||||||
|
@ -448,7 +448,7 @@ type
|
|||||||
// in the main thread before closing the browser.
|
// in the main thread before closing the browser.
|
||||||
TCefCloseBrowserAction = (cbaClose, cbaDelay, cbaCancel);
|
TCefCloseBrowserAction = (cbaClose, cbaDelay, cbaCancel);
|
||||||
|
|
||||||
TCefProcessType = (ptBrowser, ptRenderer, ptZygote, ptGPU, ptUtility, ptBroker, ptOther);
|
TCefProcessType = (ptBrowser, ptRenderer, ptZygote, ptGPU, ptUtility, ptBroker, ptCrashpad, ptOther);
|
||||||
|
|
||||||
// Used in TChromium preferences to allow or block cookies.
|
// Used in TChromium preferences to allow or block cookies.
|
||||||
TCefCookiePref = (cpDefault, cpAllow, cpBlock);
|
TCefCookiePref = (cpDefault, cpAllow, cpBlock);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"UpdateLazPackages" : [
|
"UpdateLazPackages" : [
|
||||||
{
|
{
|
||||||
"ForceNotify" : true,
|
"ForceNotify" : true,
|
||||||
"InternalVersion" : 340,
|
"InternalVersion" : 341,
|
||||||
"Name" : "cef4delphi_lazarus.lpk",
|
"Name" : "cef4delphi_lazarus.lpk",
|
||||||
"Version" : "96.0.17.0"
|
"Version" : "96.0.17.0"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user