mirror of
https://github.com/servo/servo.git
synced 2025-08-15 18:35:33 +01:00
script: Properly root nodes with animating images (#37689)
This change fixes an issue and makes a few more minor improvements to the `ImageAnimationState`: 1. Image rooting and unrooted now happens in one step from `Window::update_animations_post_reflow`. 2. The `node_to_animating_image_map` is now stored as a shared `RwLock` so that it doesn't need to be taken and then replaced in the `ImageAnimationState` during reflow. This should prevent a hypothetical issue where image animations are restarted during empty reflows. 3. General naming and idiomatic Rust usage improvements. Testing: This doesn't really have any obvious behavioral changes, because all reflows currently trigger a restyle. It becomes a serious problem with #37677 and this change fixes the failing test there. Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
parent
b89a44c539
commit
a66a257b38
10 changed files with 107 additions and 118 deletions
18
Cargo.lock
generated
18
Cargo.lock
generated
|
@ -1358,7 +1358,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2384,7 +2384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -3003,7 +3003,7 @@ dependencies = [
|
|||
"gobject-sys",
|
||||
"libc",
|
||||
"system-deps",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -4507,7 +4507,7 @@ checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9"
|
|||
dependencies = [
|
||||
"hermit-abi 0.5.0",
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -4735,6 +4735,7 @@ dependencies = [
|
|||
"libc",
|
||||
"malloc_size_of_derive",
|
||||
"net_traits",
|
||||
"parking_lot",
|
||||
"pixels",
|
||||
"profile_traits",
|
||||
"range",
|
||||
|
@ -4803,7 +4804,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"windows-targets 0.48.5",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -6898,7 +6899,7 @@ dependencies = [
|
|||
"errno",
|
||||
"libc",
|
||||
"linux-raw-sys 0.4.15",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -7078,6 +7079,7 @@ dependencies = [
|
|||
"nom",
|
||||
"num-traits",
|
||||
"num_cpus",
|
||||
"parking_lot",
|
||||
"percent-encoding",
|
||||
"phf",
|
||||
"pixels",
|
||||
|
@ -8289,7 +8291,7 @@ dependencies = [
|
|||
"getrandom 0.2.16",
|
||||
"once_cell",
|
||||
"rustix 0.38.44",
|
||||
"windows-sys 0.52.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -9732,7 +9734,7 @@ version = "0.1.9"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
|
||||
dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
"windows-sys 0.59.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue