diff options
author | Gregory Terzian <2792687+gterzian@users.noreply.github.com> | 2024-05-13 17:23:03 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-13 09:23:03 +0000 |
commit | 1d66ea2b2795cb7afcac787be1014f28dc7ad029 (patch) | |
tree | cdefc34614daec6f1b42624cc22fc28b3f1f5990 /components/shared/script | |
parent | 77c50ad3565966861de35cb501100a1c25c505a4 (diff) | |
download | servo-1d66ea2b2795cb7afcac787be1014f28dc7ad029.tar.gz servo-1d66ea2b2795cb7afcac787be1014f28dc7ad029.zip |
script: Start rework to better match the specification HTML event loop (#31505)
* Fix the HTML event-loop: add a update the rendering task
add rendering task source
sketch structure to update the rendering
resize steps
composition events
fix warnings in rendering task source
refactor handling of composition events: put window and doc for pipeline on top
set script as user interacting in update the rendering task
fmt
add todos for other steps, put all compositor handling logic in one place
update the rendering: evaluate media queries and report changes
update the rendering: update animations and send events
update the rendering: run animation frames
update the rendering: order docs
put rendering related info on documents map
tidy
update the rendering: add issue numbers to todos
update the rendering: reflow as last step
update the rendering: add todo for top layer removals
note rendering opportunity when ticking animations for testing
fix double borrow crash in css/basic-transition
fix faster reversing of transitions test
undo ordering of docs
bypass not fully-active pipeline task throttling for rendering tasks
ensure tasks are dequed from task queue
prioritize update the rendering task
remove servo media stuff from set activity
tidy
debug
update the rendering: perform microtask checkpoint after task
tidy-up
only run evaluate media queries if resized
re-add evaluation of media queries for each rendering task, re-prioritize rendering tasks, re-add microtask checkpoint for all sequential messages
re-structure resize steps, and their interaction with evaluating media queries and reacting to environment changes
update the rendering: remove reflow call at the end
update webmessaging expectations
update to FAIL /html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html
update to FAIL load-pageshow-events-window-open.html
add issue number for ordering of docs
nits
move batching of mouse move event to document info
nits
add doc for mouse move event index
reset mouse move event index when taking pending compositor events
fix replacing mouse move event
nits
* move update the rendering related data to document
* move re-taking of tasks to try_recv
* address nits
* change task queue try_recv into take_tasks_and_recv, with nits
* refactor process_pending_compositor_events
* when updating the rendering, return early if script cannot continue running
* use an instant for the last render opportunity time
* nits
* remove handle_tick_all_animations
* use a vec for pending resize and compositor events
* fix spec links
* Fix a few other nits before landing
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
Diffstat (limited to 'components/shared/script')
-rw-r--r-- | components/shared/script/lib.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/components/shared/script/lib.rs b/components/shared/script/lib.rs index 43010955aff..35f7520684e 100644 --- a/components/shared/script/lib.rs +++ b/components/shared/script/lib.rs @@ -762,7 +762,7 @@ pub struct IFrameLoadInfoWithData { } bitflags! { - #[derive(Deserialize, Serialize)] + #[derive(Default, Deserialize, Serialize)] /// Specifies if rAF should be triggered and/or CSS Animations and Transitions. pub struct AnimationTickType: u8 { /// Trigger a call to requestAnimationFrame. |