win: Add delayloads to libcef.dll and exe targets
Delay-load as many DLLs as possible for sandbox and startup perf improvements.
This commit is contained in:
parent
605c2bac86
commit
52a9794659
16
BUILD.gn
16
BUILD.gn
|
@ -1674,6 +1674,10 @@ if (is_mac) {
|
|||
# ResourceBundle. See crbug.com/147663.
|
||||
"//ui/resources:ui_unscaled_resources_grd",
|
||||
]
|
||||
|
||||
# Delay-load as many DLLs as possible for sandbox and startup perf
|
||||
# improvements.
|
||||
configs += [ "//build/config/win:delayloads" ]
|
||||
}
|
||||
|
||||
if (is_linux && !is_debug && !use_partition_alloc_as_malloc) {
|
||||
|
@ -2176,6 +2180,10 @@ if (is_mac) {
|
|||
configs -= [ "//build/config/win:console" ]
|
||||
configs += [ "//build/config/win:windowed" ]
|
||||
|
||||
# Delay-load as many DLLs as possible for sandbox and startup perf
|
||||
# improvements.
|
||||
configs += [ "//build/config/win:delayloads" ]
|
||||
|
||||
defines += [
|
||||
"CEF_USE_ATL",
|
||||
]
|
||||
|
@ -2264,6 +2272,10 @@ if (is_mac) {
|
|||
configs -= [ "//build/config/win:console" ]
|
||||
configs += [ "//build/config/win:windowed" ]
|
||||
|
||||
# Delay-load as many DLLs as possible for sandbox and startup perf
|
||||
# improvements.
|
||||
configs += [ "//build/config/win:delayloads" ]
|
||||
|
||||
deps += [
|
||||
":cef_sandbox",
|
||||
"//build/win:default_exe_manifest",
|
||||
|
@ -2331,6 +2343,10 @@ if (is_mac) {
|
|||
sources += gypi_paths2.shared_sources_win +
|
||||
gypi_paths2.ceftests_sources_win
|
||||
|
||||
# Delay-load as many DLLs as possible for sandbox and startup perf
|
||||
# improvements.
|
||||
configs += [ "//build/config/win:delayloads" ]
|
||||
|
||||
deps += [
|
||||
":cef_sandbox",
|
||||
"//build/win:default_exe_manifest",
|
||||
|
|
|
@ -436,6 +436,56 @@ if(OS_WINDOWS)
|
|||
list(APPEND CEF_EXE_LINKER_FLAGS
|
||||
/MANIFEST:NO # No default manifest (see ADD_WINDOWS_MANIFEST macro usage)
|
||||
/LARGEADDRESSAWARE # Allow 32-bit processes to access 3GB of RAM
|
||||
|
||||
# Delayload most libraries as the dlls are simply not required at startup (or
|
||||
# at all, depending on the process type). Some dlls open handles when they are
|
||||
# loaded, and we may not want them to be loaded in renderers or other sandboxed
|
||||
# processes. Conversely, some dlls must be loaded before sandbox lockdown. In
|
||||
# unsandboxed processes they will load when first needed. The linker will
|
||||
# automatically ignore anything which is not linked to the binary at all (it is
|
||||
# harmless to have an unmatched /delayload). This list should be kept in sync
|
||||
# with Chromium's "delayloads" target from the //build/config/win/BUILD.gn file.
|
||||
/DELAYLOAD:api-ms-win-core-winrt-error-l1-1-0.dll
|
||||
/DELAYLOAD:api-ms-win-core-winrt-l1-1-0.dll
|
||||
/DELAYLOAD:api-ms-win-core-winrt-string-l1-1-0.dll
|
||||
/DELAYLOAD:advapi32.dll
|
||||
/DELAYLOAD:comctl32.dll
|
||||
/DELAYLOAD:comdlg32.dll
|
||||
/DELAYLOAD:credui.dll
|
||||
/DELAYLOAD:cryptui.dll
|
||||
/DELAYLOAD:d3d11.dll
|
||||
/DELAYLOAD:d3d9.dll
|
||||
/DELAYLOAD:dwmapi.dll
|
||||
/DELAYLOAD:dxgi.dll
|
||||
/DELAYLOAD:dxva2.dll
|
||||
/DELAYLOAD:esent.dll
|
||||
/DELAYLOAD:gdi32.dll
|
||||
/DELAYLOAD:hid.dll
|
||||
/DELAYLOAD:imagehlp.dll
|
||||
/DELAYLOAD:imm32.dll
|
||||
/DELAYLOAD:msi.dll
|
||||
/DELAYLOAD:netapi32.dll
|
||||
/DELAYLOAD:ncrypt.dll
|
||||
/DELAYLOAD:ole32.dll
|
||||
/DELAYLOAD:oleacc.dll
|
||||
/DELAYLOAD:propsys.dll
|
||||
/DELAYLOAD:psapi.dll
|
||||
/DELAYLOAD:rpcrt4.dll
|
||||
/DELAYLOAD:rstrtmgr.dll
|
||||
/DELAYLOAD:setupapi.dll
|
||||
/DELAYLOAD:shell32.dll
|
||||
/DELAYLOAD:shlwapi.dll
|
||||
/DELAYLOAD:uiautomationcore.dll
|
||||
/DELAYLOAD:urlmon.dll
|
||||
/DELAYLOAD:user32.dll
|
||||
/DELAYLOAD:usp10.dll
|
||||
/DELAYLOAD:uxtheme.dll
|
||||
/DELAYLOAD:wer.dll
|
||||
/DELAYLOAD:wevtapi.dll
|
||||
/DELAYLOAD:wininet.dll
|
||||
/DELAYLOAD:winusb.dll
|
||||
/DELAYLOAD:wsock32.dll
|
||||
/DELAYLOAD:wtsapi32.dll
|
||||
)
|
||||
list(APPEND CEF_COMPILER_DEFINES
|
||||
WIN32 _WIN32 _WINDOWS # Windows platform
|
||||
|
|
Loading…
Reference in New Issue