servo/components/script
sagudev 9b5b26386c
canvas: Use wrapped kurbo::BezPath for path everywhere (#37967)
This PR removes existing path(segment) abstractions in favor of
`kurbo::BezPath`, well actually wrapped `kurbo::BezPath`, to ensure
building of valid paths. This allows us better Path2D building in script
and doing all validation and segmentation there and also allows us
remove blocking is_point_in_path on Path2D as we can now do this in
script. Current path is still done on canvas thread side as it will be
harder to move to script (will be done as a follow up), but it now uses
this new path abstraction.

Using kurbo also allows us to ditch our manual svgpath parser with the
one provided by kurbo.

Same code is stolen from: https://github.com/servo/servo/pull/36821.

Testing: Existing WPT tests
Fixes: #37904

wpt run: https://github.com/sagudev/servo/actions/runs/16172191716

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-07-12 10:37:47 +00:00
..
docs
dom canvas: Use wrapped kurbo::BezPath for path everywhere (#37967) 2025-07-12 10:37:47 +00:00
layout_dom script: Wrapping unsafe code in unsafe blocks for basic DOM types (#37997) 2025-07-11 11:38:02 +00:00
resources Embed user agent stylesheets and media control resouces in libservo (#36803) 2025-05-04 18:48:09 +00:00
xpath script: Update name validation for attribute, element, and doctype (#37747) 2025-07-11 02:45:52 +00:00
animation_timeline.rs
animations.rs Fix potential clippy warning for NodeDamage enum variant (#37391) 2025-06-11 09:53:15 +00:00
body.rs Consistently use Dom in native promise handlers (#37226) 2025-06-03 07:41:34 +00:00
build.rs
canvas_context.rs canvas: Make OffscreenCanvas transferable (without placeholder) (#37872) 2025-07-08 14:47:29 +00:00
canvas_state.rs canvas: Use wrapped kurbo::BezPath for path everywhere (#37967) 2025-07-12 10:37:47 +00:00
Cargo.toml canvas: Use wrapped kurbo::BezPath for path everywhere (#37967) 2025-07-12 10:37:47 +00:00
clipboard_provider.rs
conversions.rs
devtools.rs script: Upgrade node_ids to pipeline_to_node_ids to track the owner pipeline of the node (#37213) 2025-06-02 12:26:45 +00:00
document_collection.rs
document_loader.rs
drag_data_store.rs Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
fetch.rs Return correct source position for element CSP violations (#37970) 2025-07-11 08:42:51 +00:00
iframe_collection.rs script: Clean up Window::force_reflow a little (#37725) 2025-06-27 12:27:15 +00:00
image_animation.rs script: Properly root nodes with animating images (#37689) 2025-06-25 13:52:11 +00:00
init.rs
layout_image.rs Return correct source position for element CSP violations (#37970) 2025-07-11 08:42:51 +00:00
lib.rs canvas: Use wrapped kurbo::BezPath for path everywhere (#37967) 2025-07-12 10:37:47 +00:00
links.rs
messaging.rs Add a basic caching mechanism for ImageKeys. (#37369) 2025-07-03 13:16:43 +00:00
microtask.rs Implement MicrotaskRunnable for DefaultTeeReadRequestMicrotask (#37404) 2025-06-12 10:46:31 +00:00
mime.rs
navigation.rs constellation: Pass system theme to new Pipelines (#37132) 2025-05-26 12:05:38 +00:00
network_listener.rs
realms.rs
routed_promise.rs script: add TaskSource argument to route_promise (#36831) 2025-05-04 17:05:27 +00:00
script_module.rs Return correct source position for element CSP violations (#37970) 2025-07-11 08:42:51 +00:00
script_runtime.rs script: const initialize LIVE_REFERENCES (#37688) 2025-06-25 11:27:56 +00:00
script_thread.rs script: Wrapping unsafe code in unsafe blocks for basic DOM types (#37997) 2025-07-11 11:38:02 +00:00
security_manager.rs Return correct source position for element CSP violations (#37970) 2025-07-11 08:42:51 +00:00
serviceworker_manager.rs
stylesheet_loader.rs Return correct source position for element CSP violations (#37970) 2025-07-11 08:42:51 +00:00
stylesheet_set.rs
task.rs
task_manager.rs Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
task_queue.rs
task_source.rs Initial IndexedDB Support (#33044) 2025-06-19 05:19:07 +00:00
test.rs script: Refactor dom/headers to match spec better (#36943) 2025-05-21 19:07:32 +00:00
textinput.rs Send synthetic keydown/keyup at ime_insert_text (#37175) 2025-05-30 02:06:15 +00:00
timers.rs Move CSP code into one entrypoint (#37604) 2025-06-24 08:50:30 +00:00
unminify.rs
webdriver_handlers.rs Webdriver: Implement calculate the absolute position for Get Element Rect (#37847) 2025-07-04 07:22:29 +00:00
window_named_properties.rs