Skip to content

Update to CEF v147#1682

Merged
alexwarren merged 1 commit intov5from
v5-cef-147
May 3, 2026
Merged

Update to CEF v147#1682
alexwarren merged 1 commit intov5from
v5-cef-147

Conversation

@alexwarren
Copy link
Copy Markdown
Contributor

PlayerHTML change to register questCefInterop with isAsync was needed to fix an exception that occurs clicking the first "Continue" link in "The Shack".

Explanation from Claude:

Why this works: CefSharp's synchronous JS binding routes calls through a WCF ServiceChannel between the renderer subprocess and the main process. In CEF 147, that channel is getting disposed during the call (likely due to changes in renderer lifecycle/timing). Async binding uses a different, more robust IPC mechanism that doesn't have this problem.

Side effects to be aware of: questCefInterop.uiEvent() now returns a Promise in JavaScript rather than blocking. Since none of the call sites (UIEvent, sendEndWait, etc.) use the return value, this is fine. The .NET UiEvent method stays the same — CefSharp marshals void methods correctly in async mode.

@alexwarren alexwarren merged commit eddb41d into v5 May 3, 2026
@alexwarren alexwarren deleted the v5-cef-147 branch May 3, 2026 09:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant