servo/components/script
Martin Robinson 471d3572b7
script: No longer do explicit reflows for display (#34599)
These all happen now in *update the rendering*, typically after the
message that triggered this code is processed, though in two cases
reflow needs to be triggered explicitly. This makes `ReflowReason`
redundant though perhaps `ReflowCondition` can be expanded later to give
more insight into why the page is dirty.

- Handling of the "reflow timer" concept has been explained a bit more via
  data structures and rustdoc comments.
- Theme changes are cleaned up a little to simplify what happens during
  reflow and to avoid unecessary reflows when the theme doesn't change.

Notably, layout queries and scrolling still trigger normal reflows and
don't update the rendering. This needs more investigation as it's
unclear to me currently whether or not they should update the rendering
and simply delay event dispatch or only reflow.

In general, this is a simplfication of the code.

Fixes #31871.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2024-12-13 13:25:47 +00:00
..
docs Update branch name to main (#30877) 2023-12-16 09:32:20 +00:00
dom script: No longer do explicit reflows for display (#34599) 2024-12-13 13:25:47 +00:00
layout_dom script: Remove 'pending reflow' concept and some explicit reflows (#34558) 2024-12-11 12:58:37 +00:00
task_source script: Remove note_rendering_opportunity and rendering_opportunity (#34575) 2024-12-12 08:43:58 +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 build: upgrade rustc to 1.81.0 (#34270) 2024-12-12 07:26:16 +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: No longer do explicit reflows for display (#34599) 2024-12-13 13:25:47 +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
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 build: upgrade rustc to 1.81.0 (#34270) 2024-12-12 07:26:16 +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 Allow running testharness/testdriver/reftests in servodriver (#34550) 2024-12-11 19:18:44 +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