929 Commits
Author SHA1 Message Date
Marshall Greenblatt a875f407e3 docs: Fix CefAudioHandler behavior descriptions (fixes #3010) 2026-10-10 13:48:48 -04:00
Marshall Greenblatt 5728c5dff3 docs: Fix CefDragHandler::OnDragEnter description (fixes #1235) 2026-10-10 13:40:20 -04:00
Marshall Greenblatt 5c57234740 docs: Improve external-message-pump guidance (fixes #2968) 2026-10-10 12:23:18 -04:00
Marshall Greenblatt 56b6e70504 Tag 15600 API version 2026-10-07 12:25:37 -04:00
Marshall Greenblatt a26ddfd279 Update to Chromium version 156.0.8078.0
win: dxil.dll is no longer distributed
mac: Xcode 27 (macOS 26.6+) is now required
2026-10-07 12:25:37 -04:00
Marshall Greenblatt 6d9f51a7bc Fix custom preference registration timing (fixes #4281)
Register CEF profile preferences after Chromium keyed-service
preferences. Add GetDefaultPreference and SetDefaultPreference
to CefPreferenceRegistrar so applications can inspect, override,
and restore registered defaults.
2026-09-29 14:10:34 -04:00
Marshall Greenblatt 0da9e7222f Fix service worker request handler fallback (fixes #3593)
Use an available handler from the same browser context when worker
requests have no matching frame or process handler, for example
after page navigation or close.
2026-09-12 14:31:35 -04:00
Marshall Greenblatt dd937282a6 Fix download cancellation behavior and docs (fixes #4236, fixes #3967) 2026-09-11 13:21:21 -04:00
Amr Bashir fa874acb9d mac: Support customization of keychain names (fixes #2692) (#4247) 2026-09-09 14:40:12 -04:00
Marshall Greenblatt a37d75cf39 Tag 15400 API version 2026-09-06 13:10:23 -04:00
Marshall Greenblatt 33624e6bc2 Update to Chromium version 154.0.8037.0
- Windows SDK 10.0.28000.2270 is now required
- CefRegisterExtension is deprecated due to https://crbug.com/40347662
2026-09-06 13:10:22 -04:00
Marshall Greenblatt 13ac447cca Close owned widgets before Chrome browser teardown (see #4006)
Close widgets owned by ChromeBrowserWidget from
OnNativeWidgetDestroying while the native ownership graph is still
available. This prevents popup widgets from outliving Browser state during
native-window-driven shutdown.

Add Chrome-style ceftests for JavaScript, password-save, and synthetic owned
widgets. Confirm that each widget exists before closing the main window and
verify deterministic destruction ordering for the synthetic case. Reset the
password dismissal statistics before loading the password form so repeated
test runs continue to exercise the save-password widget.
2026-08-19 17:38:32 -04:00
Marshall Greenblatt 1b4ea04698 Tag 15200 API version 2026-08-19 13:37:28 -04:00
Marshall Greenblatt 4ec0bddb69 Update to Chromium version 152.0.7977.0 (#1669021) 2026-08-19 13:37:28 -04:00
nik-sp 47488074b7 win: Use LPWSTR in wWinMain and RunWinMain (fixes #4241) (#4242)
`wWinMain` is the wide-character entry point -- `lpCmdLine` is always
`wchar_t*`. Using `LPTSTR` (a TCHAR-mapped type) creates a type mismatch
at the DLL boundary when client DLLs are built without `UNICODE`
defined.
2026-08-19 13:25:31 -04:00
Marshall Greenblatt 3eeee9d063 Tag 15101 API version 2026-07-27 14:05:59 -04:00
Marshall Greenblatt be20927a8d installer: Add bootstrap installer for Windows (see #4093)
Add a shared CEF installer that downloads, verifies, and manages CEF
binary distributions on Windows. The installer is embedded in
application bootstrap binaries and resolves the correct CEF version
from a CDN manifest based on each application's version and ABI
compatibility requirements.

Key components:
- CDN manifest parsing and version resolution
- WinHTTP-based download with SHA-1/SHA-256 integrity verification
- Authenticode catalog (.cat) signature verification
- Parallel XZ decompression for fast archive extraction
- Per-version metadata (cef_version.json) with full version tracking
- Shared installation database for multi-app version management
- Version pruning to reclaim disk space from unused versions
- Revocation list support (compiled-in baseline + CDN delta)
- Progress UI with WM_COPYDATA-based cancellation
- Bundled CEF fallback for offline/CDN-failure scenarios
2026-07-27 14:04:48 -04:00
Marshall Greenblatt b41c5c64fc Tag 15100 API version 2026-07-10 16:23:27 -04:00
Marshall Greenblatt 7672074da3 Fix added metadata for SendHttpResponseWithRawHeaders API (see #3135) 2026-07-10 16:22:25 -04:00
Marshall Greenblatt db9edaddfe Revert "Tag 15100 API version"
This reverts commit 6b45d8c388.
2026-07-10 16:21:34 -04:00
Marshall Greenblatt 6b45d8c388 Tag 15100 API version 2026-07-09 14:17:20 -04:00
Marshall Greenblatt 351965a7cb Change to CEF_NEXT for SendHttpResponseWithRawHeaders API (see #3135) 2026-07-09 14:10:22 -04:00
Marshall Greenblatt f31f51eb73 Update to Chromium version 151.0.7922.0 (#1654411) 2026-07-08 12:10:52 -04:00
linesight 3e31138073 Use Content-Type charset when decoding download filenames (#4184, fixes #3135)
Prefer the charset declared in the Content-Type response header, falling
back to the intl.charset_default preference. Adds the experimental
CefTestServerConnection::SendHttpResponseWithRawHeaders API so tests can
send raw non-UTF-8 header bytes, with coverage for both charset sources
and the new API.
2026-07-06 16:53:02 -04:00
Marshall Greenblatt 74d031e4b7 Tag 15000 API version 2026-06-04 11:40:18 -04:00
Marshall Greenblatt 0727f286a7 Update to Chromium version 150.0.7871.0 (#1639810) 2026-06-02 16:46:54 -04:00
Marshall Greenblatt 4c3243e89a Tag 14900 API version 2026-05-22 16:44:34 -04:00
Marshall Greenblatt 2b74a789fb Update to Chromium version 149.0.7827.0 (#1625079)
- Win: Update to Windows SDK 10.0.26100.7705
2026-05-22 12:12:14 -04:00
naoki-tk ef5480ea85 Fix UTF‑8 characters in code comments (fixes #4145)
Fix build failures that occur in a Japanese‑locale MSVC environment due to
UTF‑8 characters inside comments. Replaces em-dash with ASCII in headers
and adds BOM to test files where required.
2026-04-23 11:50:53 -04:00
Marshall Greenblatt d2ffc6150b Tag 14800 API version 2026-04-22 19:16:08 -04:00
Marshall Greenblatt a114f3d515 Update to Chromium version 148.0.7778.0 (#1610480) 2026-04-16 15:48:58 -04:00
Marshall Greenblatt 8e1262bf82 Fix struct size compatibility checks (fixes #4153) 2026-04-14 17:24:09 -04:00
Marshall Greenblatt b6e302c3aa Add per-browser ax_viewport_collapse setting
Adds role-aware collapsing of off-screen nodes to CDP accessibility tree
serialization (Accessibility.getFullAXTree). When enabled, off-screen
landmarks and headings are serialized as summaries (role + name only)
and other off-screen nodes are pruned. Position:fixed/sticky descendants
of off-screen parents are still discovered and fully serialized.

Reduces snapshot size for AI agents using Playwright ariaSnapshot().
Platform screen readers are unaffected — they use a separate code path.
CDP nodesUpdated events are suppressed when active.

The setting is a per-browser CefBrowserSettings field threaded through
WebPreferences, with a runtime override via SetAxViewportCollapse().
Both APIs are guarded with CEF_API_ADDED(CEF_EXPERIMENTAL).
2026-03-27 19:05:51 -04:00
Marshall Greenblatt 15d1440162 Tag 14700 API version 2026-03-24 14:11:45 -04:00
Marshall Greenblatt 58033f5d93 Update to Chromium version 147.0.7727.0 (#1596535) 2026-03-23 14:01:41 -04:00
Marshall Greenblatt b5fd59cba4 Tag 14600 API version 2026-02-17 13:20:32 -05:00
Peter Kiers 76bd4ba419 Add CefV8BackingStore API (fixes #4079)
Supports creation of a zero-copy ArrayBuffer on the renderer thread
using data populated on a background thread.
2026-02-17 13:18:26 -05:00
Nik Pavlov cb9bab3e3f Add CefComponentUpdater API (fixes #4087)
Exposes component update functionality in CEF, allowing clients to
trigger on-demand updates for registered components.
2026-02-17 13:05:03 -05:00
Marshall Greenblatt 5d801ed841 bootstrap: Add sandbox compatibility hash (fixes #4092)
Introduce a hash of Chromium sandbox interface files to detect
incompatibilities between bootstrap.exe and libcef.dll at runtime,
allowing the strict version check to be skipped when interfaces match.

Core implementation:
- Add sandbox_compat_hash.py to calculate SHA-256 of interface files
  (chrome_elf_main.h, sandbox.h, sandbox_types.h, sandbox.mojom)
- Update make_version_header.py to generate CEF_SANDBOX_COMPAT_HASH
- Add sandbox_compat_hash field to cef_version_info_t struct
- Add entry 3 to cef_api_hash() for retrieving the hash
- Compare hashes in cef_scoped_library_loader_win.cc during load

Version management:
- Include sandbox_compat in cef_api_versions.json and cef_api_untracked.json
- Compare sandbox_compat for untracked versions (NEXT, EXPERIMENTAL)
- Trigger version bumps when sandbox interface files change

Build automation:
- Update cefbuilds JSON builder to include sandbox_compat in version records
- Run version_manager.py -a after Chromium updates on release branches
  to auto-detect hash changes and add new API versions
2026-02-16 17:19:33 -05:00
Marshall Greenblatt 58fa5d380a Update to Chromium version 146.0.7680.0 (#1582197) 2026-02-16 12:58:10 -05:00
Marshall Greenblatt b00d59c2b4 docs: Rewrite blob md links to GitHub Pages (isse #4085) 2026-01-29 18:13:59 -05:00
Marshall Greenblatt 2415738c75 docs: Rewrite Bitbucket Wiki links to docs/ (see #4085) 2026-01-29 16:44:54 -05:00
Brian Dupuis ac128fa834 Add CefSettings.use_views_default_popup option (fixes #3939)
To test (Win/Linux):
1. Run `cefclient --use-native --use-views-default-popup`
2. Select Tests > Popup Window
3. Resulting popup window is Views (bare-bones) style
2026-01-26 17:42:13 -05:00
Marshall Greenblatt 577972279a Tag 14500 API version 2026-01-20 11:44:20 -05:00
Marshall Greenblatt bfb74aa1a4 Update to Chromium version 145.0.7632.0 (#1568190) 2026-01-20 11:41:44 -05:00
Marshall Greenblatt 7a13ddf09c Fix GCC 10 build failure in cef_to_address.h (see #3611)
On GCC 10's libstdc++, instantiating std::pointer_traits<P> for
non-pointer-like types triggers a static_assert that cannot be caught
by SFINAE or requires clauses. Fix by checking for P::element_type or
p.operator->() instead of std::pointer_traits<P>::to_address(p), and
using if constexpr to dispatch appropriately in the function body.
2026-01-06 11:41:19 -05:00
Marshall Greenblatt 05e0b53081 Update CHROMIUM_SYNC.md with compiler fixes (see #3611)
Document compiler-specific fixes for GCC/MSVC standalone builds:
- MSVC C4003 warning for empty macro arguments
- GCC 10 ICE with nested requires expressions
- GCC protected member access in friend template functions
- MSVC eager template instantiation in if constexpr
2026-01-02 18:08:29 -05:00
Marshall Greenblatt 88e9053c6c Fix scoped_refptr comparison operators for GCC (see #3611)
The friend template comparison operators (operator== and operator<=>) were
accessing rhs.ptr_ directly, but when comparing scoped_refptr<T> with
scoped_refptr<U> (different types), the friend function is only a friend of
scoped_refptr<T>, not scoped_refptr<U>. GCC correctly rejects this as ptr_
is protected.

Use get() for the rhs operand to avoid the protected member access issue.
2026-01-02 18:08:29 -05:00
Marshall Greenblatt c3d3af3e97 Fix GCC 10 internal compiler error with nested requires (see #3611)
Extract the nested `requires requires` expression in HasOverloadedCallOp
into a separate helper concept IsInvocableWithBoundArgs. GCC 10 has
incomplete C++20 support and crashes with an ICE in tsubst_pack_expansion
when processing nested requires expressions.
2026-01-02 18:08:29 -05:00
Marshall Greenblatt 2fd51675bd Fix MSVC C4003 warning for empty macro arguments (see #3611)
Suppress MSVC warning C4003 "not enough arguments for function-like
macro invocation" around macro calls with empty arguments in
cef_bind_internal.h. This is valid C++11+ syntax but MSVC warns about
it, causing build failures when warnings are treated as errors.
2026-01-02 18:08:29 -05:00