You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Enable the Windows CEF sandbox and update x64 to CEF 6613 - #775
The public bytes match the GitHub Actions artifact. The archive passes 7z t and contains CEF 128.0.6613.138, OBS::cef-sandbox, cef_sandbox.lib, the sandbox ABI and CEF headers, obs-browser.dll, libcef.dll, and the current gs_save_png_file API required by OSN staging.
Symbol strategy
Chromium 128's bundled lld-link advertises /PDBSTRIPPED but rejects it as unimplemented. Its default 8 KiB-page PDB produces EC_FORMAT with the installed pdbcopy 14.00.23615. Relink-CefWithCompatiblePdb.ps1 safely repeats only the final link from Ninja's exact response file with 4 KiB PDB pages, without changing the source build outputs. Create-CefPublicPdb.ps1 then uses the supported Windows SDK pdbcopy -p flow, verifies GUID/age identity and stripped state with llvm-pdbutil, enforces the CAB size ceiling, and replaces only the symbol-server job's temporary copy. The private PDB remains in the downloadable artifacts.
Add cef-sandbox-link-smoke to the BUILD_TESTING tests target
cmake/windows/helpers.cmake:225
Add cef-sandbox-link-smoke to the tests target when BUILD_TESTING is enabled. The documented Windows sequence builds only --target tests before running CTest (test/libobs/README.md:12–14,32–34). This executable is not in that dependency graph, so on a clean build CTest registers it but reports it as Not Run because the executable is missing.
Load Windows runtime manifest for 32-bit configurations
cmake/finders/FindCEF.cmake:115
Windows browser packaging now requires CEF_BINARY_FILES and CEF_RESOURCE_FILES (cmake/windows/helpers.cmake:120), but this include loads them only when the 64-bit sandbox is required. A 32-bit Windows browser configuration therefore fails the new manifest check even when its CEF distribution supplies the manifest. Load the Windows runtime manifest independently of the sandbox requirement.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CEF::Sandboxin-tree and relocatableOBS::cef-sandboxmetadata for downstream hosts such as obs-studio-nodestreamlabs(32.1.1sl12)Dependencies
CEF 6613 artifacts
This PR currently uses the published revision-1 archive:
cef_binary_6613_windows_x64_v1.zipDCE2B2932239A85AA646EDE0D9FC00C8AE0BBCB383959028CA7D48D503BACBBBA smaller revision-2 build with
symbol_level=1and compatible 4 KiB PDB pages is locally complete but not yet uploaded:cef_binary_6613_windows_x64_v2.zip: 875,213,740 bytes, SHA-256C8FA34997506FC09712EDDDA65E029A3BCC8B673B45E12EEE7A091142F61A8E2cef_binary_6613_windows_x64_v2_symbols.7z: 403,431,623 bytes, SHA-256A93F4C3B29149971C7BFC3E069D14E9A97F0C25B739666A3B68E6EB5C204624EThe preset must move to revision 2 only after its public URL returns HTTP 200 and the uploaded hash is verified.
libobs integration package
Tag
32.1.1sl12cef1provides the temporary package used by OSN obsproject#1781:2053B6D48702E51531EA67C4E5528AA5A64DF1756BFAD13890C89C1589EF035EThe public bytes match the GitHub Actions artifact. The archive passes
7z tand contains CEF 128.0.6613.138,OBS::cef-sandbox,cef_sandbox.lib, the sandbox ABI and CEF headers,obs-browser.dll,libcef.dll, and the currentgs_save_png_fileAPI required by OSN staging.Symbol strategy
Chromium 128's bundled
lld-linkadvertises/PDBSTRIPPEDbut rejects it as unimplemented. Its default 8 KiB-page PDB producesEC_FORMATwith the installedpdbcopy14.00.23615.Relink-CefWithCompatiblePdb.ps1safely repeats only the final link from Ninja's exact response file with 4 KiB PDB pages, without changing the source build outputs.Create-CefPublicPdb.ps1then uses the supported Windows SDKpdbcopy -pflow, verifies GUID/age identity and stripped state withllvm-pdbutil, enforces the CAB size ceiling, and replaces only the symbol-server job's temporary copy. The private PDB remains in the downloadable artifacts.Validation
cmake --preset windows-x64succeeds against current32.1.1sl12obs-browser,obs-browser-helper,obs-browser-sandbox-selection-test, andcef-sandbox-link-smoke7z t; all eight PDB paths are retained and byte-identical between archives{345868A3-286C-82CA-4C4C-44205044422E}, age 1, 4 KiB blocks32.1.1sl12cef1tag run passed Windows, both macOS builds, libobs publication, public CEF-symbol creation, and symbol-server ingestionRemaining gates
upload CEF 6613 revision 2 and verify the public URL/hash before switching the preset
record restricted-token and job-object evidence for every supported CEF child class; absence of
--no-sandboxalone is not closure evidencerun a real Crashpad crash-report smoke test in the complete downstream stack
Supersedes #773 after the source branch was renamed to remove an internal issue identifier.