mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Better computation of animation keyframes
This begins to address #26625 by properly applying CSS variables during keyframe computation and no longer using `apply_declarations`. Instead, walk the declarations, combining them into IntermediateComputedKeyframe, maintaining declarations that modify CSS custom properties. Then compute a set of AnimationValues for each keyframe and use those to produce interpolated animation values.
This commit is contained in:
parent
83fa1b9eaa
commit
b875f14e86
69 changed files with 269 additions and 1609 deletions
|
@ -64,7 +64,7 @@ use crate::properties::{ComputedValues, LonghandId};
|
|||
use crate::properties::{Importance, PropertyDeclaration, PropertyDeclarationBlock};
|
||||
use crate::rule_tree::CascadeLevel as ServoCascadeLevel;
|
||||
use crate::selector_parser::{AttrValue, HorizontalDirection, Lang};
|
||||
use crate::shared_lock::Locked;
|
||||
use crate::shared_lock::{Locked, SharedRwLock};
|
||||
use crate::string_cache::{Atom, Namespace, WeakAtom, WeakNamespace};
|
||||
use crate::stylist::CascadeData;
|
||||
use crate::values::computed::font::GenericFontFamily;
|
||||
|
@ -139,6 +139,10 @@ impl<'ld> TDocument for GeckoDocument<'ld> {
|
|||
bindings::Gecko_Document_GetElementsWithId(self.0, id.as_ptr())
|
||||
}))
|
||||
}
|
||||
|
||||
fn shared_lock(&self) -> &SharedRwLock {
|
||||
&GLOBAL_STYLE_DATA.shared_lock
|
||||
}
|
||||
}
|
||||
|
||||
/// A simple wrapper over `ShadowRoot`.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue