WebView: drop setEditableFocusActive + responder-chain forwarding - #30
Closed
jakepenn wants to merge 1 commit into
Closed
WebView: drop setEditableFocusActive + responder-chain forwarding#30jakepenn wants to merge 1 commit into
jakepenn wants to merge 1 commit into
Conversation
Consumers (minimal_core) have switched to a JS-side keyboard triage that routes host-bound keys through a custom bridge call on both platforms, so the JUCE-side editableFocusActive + WKWebView responder-chain forwarding is no longer driving anything. Removed: - WebBrowserComponent::setEditableFocusActive public API - Platform::setEditableFocusActive virtual + Windows/macOS overrides - Auto-registered __juceSetEditableFocusActive native function - macOS WKWebView keyDown:/keyUp: overrides that forwarded to nextResponder - editableFocusActiveMemberName ivar plumbing and helper accessors - The editableFocusActive check inside the macOS performKeyEquivalent: override (the original JUCE Cmd-X/C/V/A clipboard handling stays) Net result is reverting the macOS half of "WebView: forward keys to host responder chain by default" (0f0a85e), the API + native-function plumbing it added in WebBrowserComponent.{h,cpp}, and the corresponding mac.mm changes. macOS now behaves like upstream JUCE for keyboard events — WKWebView dispatches to the DOM, the embedded JS does the triage, and the consumer-side bridge handles host forwarding. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Member
Author
|
Reverting: keeping the WKWebView responder-chain forwarding + setEditableFocusActive API on macOS. The consumer-side symmetric approach this was paired with introduces a static keyCode translation gap on Mac that's strictly worse than the responder-chain forwarding's transparent passthrough. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Consumers (
minimal_core) have switched to a JS-side keyboard triage that routes host-bound keys through a custom bridge call on both platforms, so the JUCE-sideeditableFocusActive+ WKWebView responder-chain forwarding patch is no longer driving anything.Removed:
WebBrowserComponent::setEditableFocusActivepublic APIPlatform::setEditableFocusActivevirtual + Windows/macOS overrides__juceSetEditableFocusActivenative functionkeyDown:/keyUp:overrides that forwarded to next respondereditableFocusActiveMemberNameivar plumbing and helper accessorseditableFocusActivecheck inside the macOSperformKeyEquivalent:override (the original JUCE Cmd-X/C/V/A clipboard handling stays)Net result is reverting the macOS half of #26 (
WebView: forward keys to host responder chain by default), the API + native-function plumbing it added inWebBrowserComponent.{h,cpp}, and the correspondingmac.mmchanges. macOS now behaves like upstream JUCE for keyboard events — WKWebView dispatches to the DOM, the embedded JS does the triage, and the consumer-side bridge handles host forwarding via a synthesised NSEvent that bypasses WKWebView.Test plan
🤖 Generated with Claude Code