servoshell: Move Minibrowser to headed window#40792
Merged
mrobinson merged 1 commit intoservo:mainfrom Nov 21, 2025
Merged
Conversation
|
🔨 Triggering try run (#19570325686) for Linux (WPT) |
Member
|
I don't think CI WPT tests can cover this change. |
Member
Author
I just wanted to ensure that my changes did not interfere with functioning of headless mode which is used by WPT. |
yezhizhen
approved these changes
Nov 21, 2025
Member
yezhizhen
left a comment
There was a problem hiding this comment.
This make things much cleaner.
|
Test results for linux-wpt from try job (#19570325686): Flaky unexpected result (33)
Stable unexpected results that are known to be intermittent (27)
|
|
✨ Try run (#19570325686) succeeded. |
atbrakhi
approved these changes
Nov 21, 2025
atbrakhi
approved these changes
Nov 21, 2025
Instead of storing the `Minibrowser` egui struct in the `RunningAppState` which is used for both headed and headless windows, move it to the headed window implementation. This addresses a lot of bits of the code that would need to test the existance of the `Minibrowser` even when it should have always existed. In addition, event handling for the headed window is moved into the headed window implementation itself, which eliminates the need to expose so many methods in `WindowPortsMethods`. One downside is that it is impossible to support tracing of `AppEvent`s as accessibilty events are not cloneable. This seems like a small price to pay for this cleanup though. This is the first step toward supporting multiple windows in servoshell. Signed-off-by: Martin Robinson <[email protected]>
a428595 to
328f385
Compare
6 tasks
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.
Instead of storing the
Minibrowseregui struct in theRunningAppStatewhich is used for both headed and headless windows,move it to the headed window implementation. This addresses a lot of
bits of the code that would need to test the existance of the
Minibrowsereven when it should have always existed.In addition, event handling for the headed window is moved into the
headed window implementation itself, which eliminates the need to expose
so many methods in
WindowPortsMethods.One downside is that it is impossible to support tracing of
AppEventsas accessibilty events are not cloneable. This seems like a small price
to pay for this cleanup though.
This is the first step toward supporting multiple windows in servoshell.
Testing: This should not change behavior and is thus covered by existing tests.