servo/components/script
Martin Robinson 3f85a27097
script: Remove 'pending reflow' concept and some explicit reflows (#34558)
The `pending reflow` concept isn't necessary now that *update the
rendering* is taking care of triggering reflows at the correct time.
`Window::reflow` already avoids reflows if the page is not dirty, so
pending reflows is now just an extraneous check as long as *update the
rendering* runs properly.

This change also removes some explicit reflows, which now wait until the
appropriate moment during *update the rendering*. This should remove
some extra reflows that are not necessary.

Servo needs some way to track that resizing the web view needs to
re-layout due to the initial containing block changing. Move handling
of `Document::needs_paint` to the script thread and use this, expanding
the rustdoc to explain what it is for a bit more clearly.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-12-11 12:58:37 +00:00
..
docs Update branch name to main (#30877) 2023-12-16 09:32:20 +00:00
dom script: Remove 'pending reflow' concept and some explicit reflows (#34558) 2024-12-11 12:58:37 +00:00
layout_dom script: Remove 'pending reflow' concept and some explicit reflows (#34558) 2024-12-11 12:58:37 +00:00
task_source CanGc fixes in several files (#33958) 2024-10-21 21:32:22 +00:00
xpath Add XPath parser/evaluator (#34463) 2024-12-08 02:01:50 +00:00
animation_timeline.rs script: Start replacing time with std::time and chrono (#30639) 2024-01-16 12:23:18 +00:00
animations.rs script: Update animations once per-Document during update_the_rendering() (#34489) 2024-12-05 16:37:59 +00:00
body.rs Consistently use Dom in native promise handlers (#34167) 2024-11-07 12:11:33 +00:00
build.rs use rerun-if-changed in script/build.rs (#33502) 2024-09-30 11:31:05 +00:00
canvas_state.rs CanGc changes from fontfaceset.rs (#33920) 2024-10-21 12:28:56 +00:00
Cargo.toml Add XPath parser/evaluator (#34463) 2024-12-08 02:01:50 +00:00
clipboard_provider.rs
conversions.rs Rewrite From/TryFrom conversions on generated types to avoid future orphan rule violations (#34554) 2024-12-11 05:52:48 +00:00
devtools.rs script: Update the rendering when receiving IPC messages instead of just reflowing (#34486) 2024-12-09 11:33:58 +00:00
document_collection.rs script: Update the rendering when receiving IPC messages instead of just reflowing (#34486) 2024-12-09 11:33:58 +00:00
document_loader.rs Fix GC borrow hazards triggered by LoadBlocker::terminate (#34122) 2024-11-04 22:27:41 +00:00
drag_data_store.rs Implement DataTransfer and related interfaces (#34205) 2024-11-25 10:49:04 +00:00
fetch.rs Implement PolicyContainer and update the default ReferrerPolicy (#33977) 2024-11-08 07:19:23 +00:00
image_listener.rs Use ROUTER::add_typed_route instead of ROUTER::add_route everywhere (#33866) 2024-10-18 10:47:52 +00:00
init.rs Create two-phase initialization for generated JS engine bindings (#34366) 2024-12-06 07:34:24 +00:00
layout_image.rs CanGc fixes from EventTarget::fire_event (#33985) 2024-10-23 22:48:19 +00:00
lib.rs Rewrite From/TryFrom conversions on generated types to avoid future orphan rule violations (#34554) 2024-12-11 05:52:48 +00:00
links.rs CanGc fixes from constantsourcenode.rs & window.rs (#33931) 2024-10-20 19:54:02 +00:00
mem.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
microtask.rs Make CanGc derive Copy and Clone (#33407) 2024-09-12 10:24:44 +00:00
network_listener.rs CanGc fixes from EventTarget::fire_event (#33985) 2024-10-23 22:48:19 +00:00
realms.rs clippy: components/script/realms (#32859) 2024-07-26 10:15:02 +00:00
script_module.rs Remove referrer policy from document (#34263) 2024-11-19 12:45:10 +00:00
script_runtime.rs Add webgpu feature flag (#34444) 2024-12-05 16:07:27 +00:00
script_thread.rs script: Remove 'pending reflow' concept and some explicit reflows (#34558) 2024-12-11 12:58:37 +00:00
security_manager.rs Rewrite From/TryFrom conversions on generated types to avoid future orphan rule violations (#34554) 2024-12-11 05:52:48 +00:00
serviceworker_manager.rs Prevent moving CanGc values between threads/tasks (#33902) 2024-10-18 17:26:54 +00:00
stylesheet_loader.rs Remove referrer policy from document (#34263) 2024-11-19 12:45:10 +00:00
stylesheet_set.rs
task.rs ensure clean shutdown of all threads running JS 2020-06-30 13:22:38 +08:00
task_manager.rs script: Start rework to better match the specification HTML event loop (#31505) 2024-05-13 09:23:03 +00:00
task_queue.rs clippy: Fix suggestions in script, libservo, and servoshell (#33453) 2024-09-14 08:41:13 +00:00
test.rs Strict import formatting (grouping and granularity) (#30325) 2023-09-11 19:16:54 +00:00
textinput.rs remove usage of legacy numeric operations in script (#33095) 2024-08-16 21:30:13 +00:00
timers.rs Use out parameter for generated methods returning JSVal (#34087) 2024-11-05 08:29:08 +00:00
unminify.rs Unminify module scripts. (#34206) 2024-11-12 13:06:55 +00:00
unpremultiplytable.rs
webdriver_handlers.rs script: Update the rendering when receiving IPC messages instead of just reflowing (#34486) 2024-12-09 11:33:58 +00:00
window_named_properties.rs Replace the lazy_static crate whth std::sync::LazyLock in components/script (#33004) 2024-08-12 07:30:35 +00:00