Add layered WebView stack support#28
Merged
Merged
Conversation
Expose built-in overlay bridge commands so apps can render isolated native webviews above an existing window without injecting the app bridge into untrusted content.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Expose overlay WebViews through the typed JS API, docs, examples, and runtime validation while wiring the native platform services so the feature behaves consistently across backends.
| return null; | ||
| } | ||
|
|
||
| fn removeOverlayAt(self: *NullPlatform, index: usize) void { |
Tighten overlay validation, backend behavior, and documentation so overlay WebViews behave consistently across supported hosts. Add a vanilla no-build browser example that uses overlay WebViews for page content.
Default windowId to the calling window instead of hardcoding 1, cap overlay slots globally, document backend support matrix, and polish the browser example with tab management and keyboard nav.
Replace the overlay-specific API with named layered WebViews so trusted app chrome and isolated page content can compose cleanly in one native window.
Remove legacy overlay naming from the WebView stack internals and public examples so the branch consistently presents the layered WebView model.
Reject unsupported backend paths with actionable errors and make child WebView bridge exposure match the documented trust model.
Tighten backend error handling and WebView metadata so layered WebViews behave predictably across supported hosts.
Preserve shifted WebView labels and URLs after close so NullPlatform state stays consistent during lifecycle tests.
Ensure AppKit menu actions resolve the key window's registered WebView after layered WebView containers replaced the direct content view.
Guard WebView2 async callbacks during teardown and make macOS CEF layer changes reorder real peer views so layered WebViews match the advertised stack model.
Keep runtime WebView state aligned with native lifecycle failures and make macOS layered WebView close/recreate behavior match the advertised stack model.
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
zero-native.webview.*, includinglist,setLayer,layer,transparent, and per-WebViewbridgemode.mainWebView and extend runtime/platform/native backends to manage WebViews as a stack inside each native window.Notes