- Exclude platform-specific includes (anything in < >) from the
clang preprocessor by using `!defined(GENERATING_CEF_API_HASH)`
in CEF header files.
- Define "target platforms" by passing platform- and architecture-
specific ifdefs to the clang preprocessor. Grep for `defined(OS_`
to identify headers that require target platform processing, and
then process for each target as the platform-specific API hash
contribution.
- Delete the univeral hash which is no longer a useful concept.
Change the default stack size to 8 MiB for 64-bit and 0.5 MiB for 32-bit.
CEF's main thread needs at least a 1.5 MiB stack size in order to avoid
stack overflow crashes. However, if this is set in the PE file then other
threads get this size as well, leading to address-space exhaustion in 32-bit
CEF. A new CefRunWinMainWithPreferredStackSize function uses fibers to switch
the main thread to a 4 MiB stack (roughly the same effective size as the
64-bit build's 8 MiB stack) before running any other code.
This change additionally moves the existing Windows-only functions
CefSetOSModalLoop and CefEnableHighDPISupport from cef_app.h to cef_win.h.