servo/components/script
Josh Matthews b4079b3ff3
Move generated bindings to script_bindings (#36323)
This is the final step of #1799, where the majority of the generated
code for the JS bindings is now compiled as part of the script_bindings
build step. The remaining pieces in script must live there because they
refer to concrete DOM types; all code in script_bindings is generic over
the
[DomTypes](https://doc.servo.org/script/dom/bindings/codegen/DomTypes/trait.DomTypes.html)
trait.

My testing with incremental builds shows me a 12 second reduction in
build times on my 2024 M4 Macbook Pro when modifying code in the script
crate after these changes. Before this PR those changes took 20 seconds
to rebuild Servo, and now they take 8 seconds.

Testing: Existing WPT tests ensure no regressions.
Fixes: #1799

---------

Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-04-04 06:45:08 +00:00
..
docs doc: fix broken link to UnrootedMustRoot plugin (#36198) 2025-03-28 10:23:41 +00:00
dom Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
layout_dom fix: root element not establishing stacking context (#35390) (#36174) 2025-04-03 17:30:42 +00:00
svgpath Add Path2D (#35783) 2025-03-26 12:12:44 +00:00
xpath Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
animation_timeline.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
animations.rs Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
body.rs Consume BOM in the text() method of fetch bodies (#36192) 2025-03-28 19:02:48 +00:00
build.rs script: Move code generation and webidl files to new script_bindings crate. (#35157) 2025-01-24 20:47:43 +00:00
canvas_context.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
canvas_state.rs canvas: Implement line dash setters and getters (#36257) 2025-04-01 11:22:00 +00:00
Cargo.toml Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
clipboard_provider.rs libservo: Add a ClipboardDelegate and a default implementation (#35297) 2025-02-07 10:43:46 +00:00
conversions.rs suppress build warnings when disabling webgpu and webxr (#35379) 2025-02-08 08:16:21 +00:00
devtools.rs Hide servo internal shadow roots from the inspector by default (#35958) 2025-03-13 13:08:24 +00:00
document_collection.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
document_loader.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
drag_data_store.rs DataTransferItem: improve spec compliance (#35418) 2025-02-16 18:53:35 +00:00
fetch.rs Implement nonce attribute to pass more CSP checks (#35876) 2025-03-10 09:25:34 +00:00
iframe_collection.rs Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
image_animation.rs Animation: Aggregate Animated Image Info to Document (#36141) 2025-03-28 23:19:49 +00:00
init.rs Make generated bindings generic over DOM types (#35169) 2025-01-25 05:08:49 +00:00
layout_image.rs Move various reflector types and traits to script_bindings (#35279) 2025-02-04 06:58:08 +00:00
lib.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
links.rs script: Allow opening links in a new WebView (#35017) 2025-03-23 10:59:19 +00:00
messaging.rs metrics: Simplify ProgressiveWebMetrics (#35985) 2025-03-21 14:55:00 +00:00
microtask.rs script: Mark callback methods with CanGc. (#35753) 2025-03-03 12:17:25 +00:00
navigation.rs Create a constellation_traits crate (#36088) 2025-03-22 15:49:08 +00:00
network_listener.rs Propagate CanGc arguments through callers in constructors (#35541) 2025-02-20 16:17:45 +00:00
realms.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
routed_promise.rs webgpu: leverage routed_promise in calls returning promises (#35859) 2025-03-23 18:52:46 +00:00
script_module.rs Use explicit reborrows with mozjs::MutableHandle (#35892) 2025-03-23 01:23:52 +00:00
script_runtime.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
script_thread.rs Webdriver delete cookie (#36306) 2025-04-04 05:24:47 +00:00
security_manager.rs Cleanups for future script crate split (#35987) 2025-03-16 13:46:14 +00:00
serviceworker_manager.rs Make DOMPoint and DOMPointReadOnly serializable (#35989) 2025-03-27 01:35:02 +00:00
stylesheet_loader.rs Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
stylesheet_set.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
task.rs Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
task_manager.rs dom: Implement minimal IntersectionObserver workflow (#35551) 2025-03-18 11:09:44 +00:00
task_queue.rs Use strum to iterate through enum variants and get their names (#35933) 2025-03-13 12:00:31 +00:00
task_source.rs dom: Implement minimal IntersectionObserver workflow (#35551) 2025-03-18 11:09:44 +00:00
test.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
textinput.rs Fix Backspace deleting entire previous line in <textarea> (#36112) 2025-03-26 18:37:48 +00:00
timers.rs script: Mark callback methods with CanGc. (#35753) 2025-03-03 12:17:25 +00:00
unminify.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
webdriver_handlers.rs Move generated bindings to script_bindings (#36323) 2025-04-04 06:45:08 +00:00
window_named_properties.rs Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00