servo/ports/servoshell/desktop
Delan Azabani 175f28866d
libservo: Add WebViewDelegate and ServoDelegate and port winit_minimal (#35196)
This change adds the second major part of the new API: delegates which
have methods called by the Servo loop. When a delegate is set on a
`WebView` or on `Servo` itself, the event loop will call into
appropriate delegate methods. Applications can implement the delegate on
their own structs to add special behavior per-`WebView` or for all
`WebView`s.

In addition, each delegate has a default implementation, which
automatically exposes "reasonable" behavior such as by-default allowing
navigation.

There's a lot more work to do here, such as refining the delegate
methods so that they all have nice interfaces, particulary with regard
to delegate methods that need an asynchronous response. This will be
handed gradually as we keep working on the API.

Signed-off-by: Delan Azabani <dazabani@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2025-02-05 10:08:40 +00:00
..
protocols Create HttpStatus to safely deal with HTTP responses status. (#33581) 2024-09-29 18:23:48 +00:00
app.rs libservo: Add WebViewDelegate and ServoDelegate and port winit_minimal (#35196) 2025-02-05 10:08:40 +00:00
cli.rs api: Flatten and simplify Servo preferences (#34966) 2025-01-14 13:54:06 +00:00
dialog.rs servoshell: Migrate to egui-file-dialog from tinyfiledialogs (#34823) 2025-02-04 18:24:24 +00:00
egui_glue.rs chore: remove WindowMethods::rendering_context (#34780) 2025-01-01 08:26:23 +00:00
embedder.rs Finish the integration of webxr into the Cargo workspace (#35229) 2025-01-31 16:41:57 +00:00
events_loop.rs libservo: Stop using script_traits in the embedding layer (#35185) 2025-01-28 11:15:36 +00:00
geometry.rs Use webrender_api::units::DevicePixel rather than style_traits::DevicePixel unless interfacing with Stylo (#34353) 2024-11-25 23:42:04 +00:00
headed_window.rs Finish the integration of webxr into the Cargo workspace (#35229) 2025-01-31 16:41:57 +00:00
headless_window.rs More cleanup, less unwrap() (#35249) 2025-02-01 13:00:22 +00:00
keyutils.rs servoshell: Clean up keyboard event conversion a little (#32564) 2024-06-19 19:38:56 +00:00
minibrowser.rs Use surfman with glow bindings (#34328) 2025-02-05 06:13:21 +00:00
mod.rs servoshell: Migrate to egui-file-dialog from tinyfiledialogs (#34823) 2025-02-04 18:24:24 +00:00
tracing.rs libservo: Combine LoadStart, HeadParsed, and LoadComplete` messages (#35260) 2025-02-03 22:31:17 +00:00
webview.rs libservo: Add WebViewDelegate and ServoDelegate and port winit_minimal (#35196) 2025-02-05 10:08:40 +00:00
window_trait.rs Finish the integration of webxr into the Cargo workspace (#35229) 2025-01-31 16:41:57 +00:00