servo/components
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
..
allocator Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
background_hang_monitor libservo: Make background hang monitor integration optional. (#35256) 2025-02-01 20:15:39 +00:00
bluetooth Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
canvas Use surfman with glow bindings (#34328) 2025-02-05 06:13:21 +00:00
compositing libservo: Remove Servo::repaint_synchronously (#35283) 2025-02-04 15:08:40 +00:00
config Consolidated opts into a manual Default trait implementation (#35257) 2025-02-01 20:18:09 +00:00
constellation libservo: Combine LoadStart, HeadParsed, and LoadComplete` messages (#35260) 2025-02-03 22:31:17 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
dom_struct script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
domobject_derive Upgrade rustc to 1.83 (#34793) 2025-01-01 09:38:28 +00:00
fonts Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Elide lifetimes where possible after rustup (#34824) 2025-01-03 18:54:44 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout Upgrade Stylo to 2025-02-03 (#35289) 2025-02-05 02:35:58 +00:00
layout_2020 Upgrade Stylo to 2025-02-03 (#35289) 2025-02-05 02:35:58 +00:00
layout_thread Let resolve_color() take its parameter by reference (#35247) 2025-01-31 23:34:40 +00:00
layout_thread_2020 script_traits: Rename ConstellationControlMsg to ScriptThreadMessage (#35226) 2025-01-30 22:46:17 +00:00
malloc_size_of script: Do not set up an IPC route for every image load (#35041) 2025-01-25 09:39:04 +00:00
media Remove some unused dependencies (#34355) 2024-11-25 10:29:58 +00:00
metrics script_traits: Rename ConstellationControlMsg to ScriptThreadMessage (#35226) 2025-01-30 22:46:17 +00:00
net servoshell: Migrate to egui-file-dialog from tinyfiledialogs (#34823) 2025-02-04 18:24:24 +00:00
pixels Optimized unmultiply_inplace to remove fp ops (#33582) 2024-09-30 19:39:27 +00:00
profile script: Eliminate code duplication in the task queue (#34798) 2025-01-01 13:50:52 +00:00
rand crypto: Begin SubtleCrypto implementation (#33628) 2024-10-08 03:51:08 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script script: delay Mutation initialization (#35291) 2025-02-05 06:28:10 +00:00
script_bindings Move more foundational types to script_bindings (#35280) 2025-02-04 10:36:30 +00:00
servo libservo: Add WebViewDelegate and ServoDelegate and port winit_minimal (#35196) 2025-02-05 10:08:40 +00:00
shared libservo: Add WebViewDelegate and ServoDelegate and port winit_minimal (#35196) 2025-02-05 10:08:40 +00:00
timers script: Make timers per-process (#34581) 2024-12-24 09:53:35 +00:00
url Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
webdriver_server Include WebViewId into EmbedderMsg variants where possible (#35211) 2025-01-30 11:15:35 +00:00
webgpu webgpu: implement get image for webgpu canvas (#35237) 2025-01-31 15:24:33 +00:00
webxr Use surfman with glow bindings (#34328) 2025-02-05 06:13:21 +00:00