You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- https://github.com/servo/servo/pull/35196 (@delan, @mrobinson, @mukilan, #35196) libservo: Add WebViewDelegate and ServoDelegate and port `winit_minimal` (#35196)
96
+
- `https://github.com/servo/servo/pull/35196 (@delan, @mrobinson, @mukilan, #35196) libservo: Add WebViewDelegate and ServoDelegate and port `winit_minimal` (#35196)
97
97
embedding
98
-
- https://github.com/servo/servo/pull/35315 (@mukilan, @mrobinson, #35315) Migrate Android and OHOS ports to the delegate API (#35315)
98
+
- `https://github.com/servo/servo/pull/35315 (@mukilan, @mrobinson, #35315) Migrate Android and OHOS ports to the delegate API (#35315)
99
99
embedding
100
-
- https://github.com/servo/servo/pull/35284 (@mrobinson, @delan, @mukilan, #35284) servoshell: Port desktop servoshell to use delegate API (#35284)
100
+
- `https://github.com/servo/servo/pull/35284 (@mrobinson, @delan, @mukilan, #35284) servoshell: Port desktop servoshell to use delegate API (#35284)
101
101
embedding
102
-
- https://github.com/servo/servo/pull/35297 (@mrobinson, #35297) libservo: Add a `ClipboardDelegate` and a default implementation (#35297)
102
+
- `https://github.com/servo/servo/pull/35297 (@mrobinson, #35297) libservo: Add a `ClipboardDelegate` and a default implementation (#35297)
- https://github.com/servo/servo/pull/35366 (@mrobinson, #35366) libservo: Remove message-based API (#35366)
106
+
- `https://github.com/servo/servo/pull/35366 (@mrobinson, #35366) libservo: Remove message-based API (#35366)
107
107
embedding
108
-
- https://github.com/servo/servo/pull/35400 (@mrobinson, #35400) libservo: Add a delegate method for HTTP authentication (#35400)
108
+
- `https://github.com/servo/servo/pull/35400 (@mrobinson, #35400) libservo: Add a delegate method for HTTP authentication (#35400)
109
109
embedding
110
-
- https://github.com/servo/servo/pull/35396 (@mrobinson, @mukilan, #35396) libservo: Flesh out permissions API (#35396)
110
+
- `https://github.com/servo/servo/pull/35396 (@mrobinson, @mukilan, #35396) libservo: Flesh out permissions API (#35396)
111
111
embedding
112
-
- https://github.com/servo/servo/pull/35445 (@mukilan, #35445) libservo: change 'request_fullscreen_state_change' API to a notification (#35445)
112
+
- -https://github.com/servo/servo/pull/35445 (@mukilan, #35445) libservo: change 'request_fullscreen_state_change' API to a notification (#35445)
113
113
embedding
114
-
- https://github.com/servo/servo/pull/35430 (@mrobinson, @mukilan, #35430) libservo: Expose a single `InputEvent` type and pass it to script (#35430)
114
+
- `https://github.com/servo/servo/pull/35430 (@mrobinson, @mukilan, #35430) libservo: Expose a single `InputEvent` type and pass it to script (#35430)
115
115
embedding
116
-
- https://github.com/servo/servo/pull/35369 (@mrobinson, #35369) libservo: Don't bounce ready-to-present frame notifications to the Constellation (#35369)
117
-
embedding
118
-
- https://github.com/servo/servo/pull/35479 (@jdm, #35479) Make WebBluetooth an optional feature. (#35479)
116
+
- `https://github.com/servo/servo/pull/35369 (@mrobinson, #35369) libservo: Don't bounce ready-to-present frame notifications to the Constellation (#35369)
117
+
perf
118
+
- `https://github.com/servo/servo/pull/35479 (@jdm, #35479) Make WebBluetooth an optional feature. (#35479)
119
119
embedding
120
-
- https://github.com/servo/servo/pull/35465 (@mrobinson, @mukilan, #35465) libservo: Expose an `OffscreenRenderingContext` and use it for servoshell (#35465)
120
+
- `https://github.com/servo/servo/pull/35465 (@mrobinson, @mukilan, #35465) libservo: Expose an `OffscreenRenderingContext` and use it for servoshell (#35465)
121
121
embedding
122
-
- https://github.com/servo/servo/pull/35501 (@mrobinson, #35501) libservo: Expose `SoftwareRenderingContext` and `WindowRenderingContext` (#35501)
122
+
- `https://github.com/servo/servo/pull/35501 (@mrobinson, #35501) libservo: Expose `SoftwareRenderingContext` and `WindowRenderingContext` (#35501)
123
123
embedding
124
-
- https://github.com/servo/servo/pull/35536 (@mrobinson, @wusyong, #35536) compositing: Split non-WebView-specific data into `ServoRenderer` (#35536)
124
+
- `https://github.com/servo/servo/pull/35536 (@mrobinson, @wusyong, #35536) compositing: Split non-WebView-specific data into `ServoRenderer` (#35536)
- https://github.com/servo/servo/pull/35522 (@mrobinson, @wusyong, @mukilan, #35522) libservo: Rework and clarify the rendering model of the `WebView` (#35522)
128
+
- `https://github.com/servo/servo/pull/35522 (@mrobinson, @wusyong, @mukilan, #35522) libservo: Rework and clarify the rendering model of the `WebView` (#35522)
129
129
embedding
130
-
- https://github.com/servo/servo/pull/35538 (@mrobinson, @wusyong, #35538) compositing: Move image output and shutdown management out of the compositor (#35538)
130
+
- `https://github.com/servo/servo/pull/35538 (@mrobinson, @wusyong, #35538) compositing: Move image output and shutdown management out of the compositor (#35538)
131
131
embedding
132
-
- https://github.com/servo/servo/pull/35553 (@mrobinson, #35553) libservo: Move GL acclerated media setup out of `RenderingContext` and simplify it (#35553)
132
+
- `https://github.com/servo/servo/pull/35553 (@mrobinson, #35553) libservo: Move GL acclerated media setup out of `RenderingContext` and simplify it (#35553)
- https://github.com/servo/servo/pull/35579 (@delan, #35579) libservo: Clean up interfaces for alert()/confirm()/prompt() (#35579)
148
+
- `https://github.com/servo/servo/pull/35579 (@delan, #35579) libservo: Clean up interfaces for alert()/confirm()/prompt() (#35579)
149
149
embedding
150
-
- https://github.com/servo/servo/pull/35662 (@mrobinson, #35662) libservo: Add `WebView` immediately to the Compositor (#35662)
150
+
- `https://github.com/servo/servo/pull/35662 (@mrobinson, #35662) libservo: Add `WebView` immediately to the Compositor (#35662)
151
151
embedding
152
-
- https://github.com/servo/servo/pull/35672 (@delan, @mrobinson, #35672) Make auxiliary webviews exist in the constellation immediately (#35672)
152
+
- `https://github.com/servo/servo/pull/35672 (@delan, @mrobinson, #35672) Make auxiliary webviews exist in the constellation immediately (#35672)
153
153
embedding
154
-
- https://github.com/servo/servo/pull/35691 (@webbeef, #35691) winit_mininal: support proper window resizing (#35691)
154
+
- `https://github.com/servo/servo/pull/35691 (@webbeef, #35691) winit_mininal: support proper window resizing (#35691)
155
155
embedding
156
156
- gc
157
157
- https://github.com/servo/servo/pull/35541 (@augustebaum, #35541) Propagate `CanGc` arguments through callers in constructors (#35541)
@@ -383,17 +383,39 @@ Plus several new web API features:
383
383
384
384
We’ve landed layout improvements around **‘border-collapse’** (@Loirooriol, #35219), **‘align-content: normal’** (@rayguo17, #35178), **‘place-self’** with **‘position: absolute’** (@Loirooriol, #35208), the **intrinsic sizing keywords** (@Loirooriol, #35413, #35469, #35471, #35630, #35642, #35663, #35652, #35688), and **‘position: absolute’** now works correctly in a **‘position: relative’ grid item** (@stevennovaryo, #35014).
385
385
386
-
## Servo-the-browser
386
+
## Servo-the-browser (servoshell)
387
387
388
388
**Directory listings** are now enabled for local files (@mrobinson, #35317).
389
389
390
-
servoshell’s **dialogs now use egui** (@chickenleaf, #34823, #35399, #35464, #35507, #35577, #35657, #35671), rather than shelling out to a program like `zenity` (@chickenleaf, #35674), making them more secure and no longer falling back to terminal input.
390
+
servoshell’s **dialogs now use egui** (@chickenleaf, #34823, #35399, #35464, #35507, #35564, #35577, #35657, #35671), rather than shelling out to a program like `zenity` (@chickenleaf, #35674), making them more secure and no longer falling back to terminal input.
391
391
392
392
We’ve also fixed a bug when closing a tab other than the current one (@pewsheen, #35569).
393
393
394
-
## Embedding
394
+
## Servo-the-engine (embedding)
395
+
396
+
We’ve simplified our embedding API by **merging all input event delivery** into [`WebView::notify_input_event`](https://doc.servo.org/servo/struct.WebView.html#method.notify_input_event) (@mrobinson, @mukilan, #35430), making **bluetooth optional** (@jdm, @webbeef, #35479, #35590), making the **“background hang monitor” optional** (@jdm, #35256), and **eliminating the need to depend on `webxr`** (@mrobinson, #35229).
397
+
We’ve also moved some servoshell-only options out of [`Opts`](https://doc.servo.org/servo_config/opts/struct.Opts.html) (@mrobinson, #35377, #35407), since they have no effect on Servo’s behaviour.
398
+
399
+
We’ve landed our initial **delegate-based API** (@delan, @mrobinson, @mukilan, #35196, #35260, #35297, #35396, #35400, #35544, #35579, #35662, #35672), which replaces our old message-based API for integrating Servo with your app (@mrobinson, @delan, @mukilan, #35284, #35315, #35366).
400
+
By implementing [`WebViewDelegate`](https://doc.servo.org/servo/trait.WebViewDelegate.html) and [`ServoDelegate`](https://doc.servo.org/servo/trait.ServoDelegate.html) and [installing](https://doc.servo.org/servo/struct.WebView.html#method.set_delegate)[them](https://doc.servo.org/servo/struct.Servo.html#method.set_delegate), you can have Servo call back into your app’s logic with ease.
401
+
402
+
We’ve simplified the [`RenderingContext`](https://doc.servo.org/servo/trait.RenderingContext.html) trait (@wusyong, @mrobinson, #35251, #35553) and **added three built-in `RenderingContext` impls** (@mrobinson, @mukilan, #35465, #35501), making it easier to set up a context Servo can render to:
403
+
404
+
-[`WindowRenderingContext`](https://doc.servo.org/servo/struct.WindowRenderingContext.html) renders to a **whole window**
405
+
-[`OffscreenRenderingContext`](https://doc.servo.org/servo/struct.OffscreenRenderingContext.html) renders to **part of a window**
406
+
-[`SoftwareRenderingContext`](https://doc.servo.org/servo/struct.SoftwareRenderingContext.html) renders to an image, **without hardware acceleration**
407
+
408
+
We’ve heavily reworked and documented our **webview rendering model** (@mrobinson, @wusyong, @mukilan, #35522, #35621), **moved image output** and **shutdown logic** out of the compositor (@mrobinson, @wusyong, #35538), and removed some complicated logic around synchronous repaints when a window is resized (@mrobinson, #35283, #35277).
409
+
These changes should make it a lot clearer how to get Servo’s webviews onto your display.
410
+
411
+
One part of this model that we’re starting to move away from is the support for multiple webviews in one rendering context (@mrobinson, @wusyong, #35536).
412
+
First landed in #31417, this was an expedient way to add support for multiple webviews, but it imposed some serious limitations on how webviews could be interleaved with other app content, and the performance and security was inadequate.
413
+
414
+
We’ve **updated our [winit_minimal example](https://github.com/servo/servo/blob/139774e6b55c297bc94f7fcb8c9bf5bb8c6a7474/components/servo/examples/winit_minimal.rs)** to take advantage of these changes (@webbeef, #35350, #35686), simplify it further (@robertohuertasm, #35253), and fix window resizing (@webbeef, #35691).
415
+
416
+
## Perf improvements
395
417
396
-
We’ve moved some servoshell-only options out of [`Opts`](https://doc.servo.org/servo_config/opts/struct.Opts.html)(@mrobinson, #35377, #35407), since they have no effect on Servo’s behaviour.
418
+
The compositor now **notifies the embedder of new frames immediately**(@mrobinson, #35369), not via the constellation thread.
0 commit comments