servo: Merge #18054 - Simplify throttled animation flushes (from bholley:simplify_throttled_animation_flushes); r=bholley

https://bugzilla.mozilla.org/show_bug.cgi?id=1388031

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ddf6dbd153969e990d05298bc25a06be868319c

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : cb73239244fdabd42ab4e7e86a2be5c2ba9d9cea
This commit is contained in:
Bobby Holley 2017-08-11 21:15:12 -05:00
Родитель f27fc91bf7
Коммит ef89ccb456
6 изменённых файлов: 95 добавлений и 107 удалений

Просмотреть файл

@ -462,6 +462,28 @@ pub trait TElement : Eq + PartialEq + Debug + Hash + Sized + Copy + Clone +
data.has_styles() && !data.restyle.hint.has_non_animation_invalidations() data.has_styles() && !data.restyle.hint.has_non_animation_invalidations()
} }
/// Returns whether the element's styles are up-to-date after traversal
/// (i.e. in post traversal).
fn has_current_styles(&self, data: &ElementData) -> bool {
if self.has_snapshot() && !self.handled_snapshot() {
return false;
}
data.has_styles() &&
// TODO(hiro): When an animating element moved into subtree of
// contenteditable element, there remains animation restyle hints in
// post traversal. It's generally harmless since the hints will be
// processed in a next styling but ideally it should be processed soon.
//
// Without this, we get failures in:
// layout/style/crashtests/1383319.html
// layout/style/crashtests/1383001.html
//
// https://bugzilla.mozilla.org/show_bug.cgi?id=1389675 tracks fixing
// this.
!data.restyle.hint.has_non_animation_invalidations()
}
/// Flag that this element has a descendant for style processing. /// Flag that this element has a descendant for style processing.
/// ///
/// Only safe to call with exclusive access to the element. /// Only safe to call with exclusive access to the element.

Просмотреть файл

@ -2815,13 +2815,11 @@ extern "C" {
} }
extern "C" { extern "C" {
pub fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, pub fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed,
flags: ServoTraversalFlags,
was_restyled: *mut bool) -> nsChangeHint; was_restyled: *mut bool) -> nsChangeHint;
} }
extern "C" { extern "C" {
pub fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, pub fn Servo_ResolveStyle(element: RawGeckoElementBorrowed,
set: RawServoStyleSetBorrowed, set: RawServoStyleSetBorrowed)
flags: ServoTraversalFlags)
-> ServoStyleContextStrong; -> ServoStyleContextStrong;
} }
extern "C" { extern "C" {

Просмотреть файл

@ -4944,6 +4944,9 @@ pub mod root {
pub const ServoTraversalFlags_ParallelTraversal: pub const ServoTraversalFlags_ParallelTraversal:
root::mozilla::ServoTraversalFlags = root::mozilla::ServoTraversalFlags =
128; 128;
pub const ServoTraversalFlags_FlushThrottledAnimations:
root::mozilla::ServoTraversalFlags =
256;
pub type ServoTraversalFlags = u32; pub type ServoTraversalFlags = u32;
#[repr(i32)] #[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@ -6644,12 +6647,6 @@ pub mod root {
Standard = 1, Standard = 1,
Layer = 2, Layer = 2,
} }
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum EffectCompositor_AnimationRestyleType {
Throttled = 0,
Full = 1,
}
#[repr(C)] #[repr(C)]
#[derive(Debug)] #[derive(Debug)]
pub struct EffectCompositor_AnimationStyleRuleProcessor { pub struct EffectCompositor_AnimationStyleRuleProcessor {
@ -33560,7 +33557,7 @@ pub mod root {
root::nsTArray<root::mozilla::gfx::FontVariation> ) )); root::nsTArray<root::mozilla::gfx::FontVariation> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_200547_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_200542_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsCSSSelector>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsCSSSelector>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -33916,7 +33913,7 @@ pub mod root {
root::mozilla::binding_danger::TErrorResult ) )); root::mozilla::binding_danger::TErrorResult ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_202364_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_202359_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34077,7 +34074,7 @@ pub mod root {
root::JS::DeletePolicy ) )); root::JS::DeletePolicy ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_207983__bindgen_ty_id_207990_close0_instantiation() { fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_207978__bindgen_ty_id_207985_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize , assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize ,
concat ! ( concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34303,7 +34300,7 @@ pub mod root {
root::RefPtr<root::mozilla::StyleSheet> ) )); root::RefPtr<root::mozilla::StyleSheet> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210468_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210463_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34371,7 +34368,7 @@ pub mod root {
root::nsCOMPtr<root::nsIObserver> ) )); root::nsCOMPtr<root::nsIObserver> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210770_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210765_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34483,7 +34480,7 @@ pub mod root {
root::RefPtr<root::mozilla::URLExtraData> ) )); root::RefPtr<root::mozilla::URLExtraData> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_211312_close0_instantiation() { fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_211307_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34865,7 +34862,7 @@ pub mod root {
root::RefPtr<root::mozilla::StyleSheet> ) )); root::RefPtr<root::mozilla::StyleSheet> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211727_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211722_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34955,7 +34952,7 @@ pub mod root {
) )); ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_212126_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_212121_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35056,7 +35053,7 @@ pub mod root {
root::nsTArray<::nsstring::nsStringRepr> ) )); root::nsTArray<::nsstring::nsStringRepr> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213091_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213085_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35145,7 +35142,7 @@ pub mod root {
root::RefPtr<root::nsCSSFontFaceRule> ) )); root::RefPtr<root::nsCSSFontFaceRule> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213396_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213390_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35156,7 +35153,7 @@ pub mod root {
root::nsTArray<*mut root::nsIContent> ) )); root::nsTArray<*mut root::nsIContent> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213401_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213395_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35213,7 +35210,7 @@ pub mod root {
root::RefPtr<root::mozilla::CSSStyleSheet> ) )); root::RefPtr<root::mozilla::CSSStyleSheet> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213892_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213886_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35861,7 +35858,7 @@ pub mod root {
root::nsCOMPtr<root::nsIWeakReference> ) )); root::nsCOMPtr<root::nsIWeakReference> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_216753_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_216747_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut ::std::os::raw::c_void>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut ::std::os::raw::c_void>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35940,7 +35937,7 @@ pub mod root {
root::mozilla::DefaultDelete ) )); root::mozilla::DefaultDelete ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_223015_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_223009_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::AudioContext>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::AudioContext>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35973,7 +35970,7 @@ pub mod root {
root::RefPtr<root::mozilla::dom::CallbackObject> ) )); root::RefPtr<root::mozilla::dom::CallbackObject> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_224176_close0_instantiation() { fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_224170_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35984,7 +35981,7 @@ pub mod root {
root::JS::Heap<*mut root::JSObject> ) )); root::JS::Heap<*mut root::JSObject> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_224180_close0_instantiation() { fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_224174_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36006,7 +36003,7 @@ pub mod root {
root::nsCOMPtr<root::nsIGlobalObject> ) )); root::nsCOMPtr<root::nsIGlobalObject> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_224187_close0_instantiation() { fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_224181_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize ,
concat ! ( concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36085,7 +36082,7 @@ pub mod root {
) )); ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_225360_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_225354_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36280,7 +36277,7 @@ pub mod root {
root::nsTArray<f64> ) )); root::nsTArray<f64> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_226808_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_226802_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36385,7 +36382,7 @@ pub mod root {
root::nsRefPtrHashKey<root::nsIAtom> ) )); root::nsRefPtrHashKey<root::nsIAtom> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_229231_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_229225_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::CounterStyle>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::CounterStyle>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37086,7 +37083,7 @@ pub mod root {
root::RefPtr<root::nsStyleImageRequest> ) )); root::RefPtr<root::nsStyleImageRequest> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_231784_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_231778_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37323,7 +37320,7 @@ pub mod root {
root::nsCOMPtr<root::nsIURI> ) )); root::nsCOMPtr<root::nsIURI> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239592_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239586_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37334,7 +37331,7 @@ pub mod root {
root::nsTArray<*mut root::nsIContent> ) )); root::nsTArray<*mut root::nsIContent> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239597_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239591_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37422,7 +37419,7 @@ pub mod root {
root::RefPtr<root::mozilla::dom::ShadowRoot> ) )); root::RefPtr<root::mozilla::dom::ShadowRoot> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239710_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_239704_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37709,7 +37706,7 @@ pub mod root {
) )); ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241296_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241290_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37731,7 +37728,7 @@ pub mod root {
root::RefPtr<root::mozilla::dom::Element> ) )); root::RefPtr<root::mozilla::dom::Element> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241458_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241452_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37742,7 +37739,7 @@ pub mod root {
root::nsTArray<*mut root::nsIContent> ) )); root::nsTArray<*mut root::nsIContent> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241463_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_241457_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37874,7 +37871,7 @@ pub mod root {
root::nsTArray<root::mozilla::gfx::FontVariation> ) )); root::nsTArray<root::mozilla::gfx::FontVariation> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_243547_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_243541_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37885,7 +37882,7 @@ pub mod root {
root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); root::nsTArray<*mut root::mozilla::css::DocumentRule> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_243555_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_243549_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (

Просмотреть файл

@ -4832,6 +4832,9 @@ pub mod root {
pub const ServoTraversalFlags_ParallelTraversal: pub const ServoTraversalFlags_ParallelTraversal:
root::mozilla::ServoTraversalFlags = root::mozilla::ServoTraversalFlags =
128; 128;
pub const ServoTraversalFlags_FlushThrottledAnimations:
root::mozilla::ServoTraversalFlags =
256;
pub type ServoTraversalFlags = u32; pub type ServoTraversalFlags = u32;
#[repr(i32)] #[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
@ -6524,12 +6527,6 @@ pub mod root {
Standard = 1, Standard = 1,
Layer = 2, Layer = 2,
} }
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum EffectCompositor_AnimationRestyleType {
Throttled = 0,
Full = 1,
}
#[repr(C)] #[repr(C)]
#[derive(Debug)] #[derive(Debug)]
pub struct EffectCompositor_AnimationStyleRuleProcessor { pub struct EffectCompositor_AnimationStyleRuleProcessor {
@ -33068,7 +33065,7 @@ pub mod root {
root::nsTArray<root::mozilla::gfx::FontVariation> ) )); root::nsTArray<root::mozilla::gfx::FontVariation> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_198186_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_198181_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsCSSSelector>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsCSSSelector>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -33424,7 +33421,7 @@ pub mod root {
root::mozilla::binding_danger::TErrorResult ) )); root::mozilla::binding_danger::TErrorResult ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_199969_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_199964_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -33585,7 +33582,7 @@ pub mod root {
root::JS::DeletePolicy ) )); root::JS::DeletePolicy ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_205560__bindgen_ty_id_205567_close0_instantiation() { fn __bindgen_test_layout_iterator_open0_input_iterator_tag_UniquePtr_open1_JSErrorNotes_Note_DeletePolicy_open2_JSErrorNotes_Note_close2_close1_long__bindgen_ty_id_205555__bindgen_ty_id_205562_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize , assert_eq!(::std::mem::size_of::<root::std::iterator>() , 1usize ,
concat ! ( concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -33811,7 +33808,7 @@ pub mod root {
root::RefPtr<root::mozilla::StyleSheet> ) )); root::RefPtr<root::mozilla::StyleSheet> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_208043_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_208038_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -33879,7 +33876,7 @@ pub mod root {
root::nsCOMPtr ) )); root::nsCOMPtr ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_208345_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_208340_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -33991,7 +33988,7 @@ pub mod root {
root::RefPtr<root::mozilla::URLExtraData> ) )); root::RefPtr<root::mozilla::URLExtraData> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_208887_close0_instantiation() { fn __bindgen_test_layout_NotNull_open0__bindgen_ty_id_208882_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>() assert_eq!(::std::mem::size_of::<root::mozilla::NotNull<*const root::mozilla::Encoding>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34371,7 +34368,7 @@ pub mod root {
root::RefPtr<root::mozilla::StyleSheet> ) )); root::RefPtr<root::mozilla::StyleSheet> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209300_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209295_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34461,7 +34458,7 @@ pub mod root {
) )); ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209697_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_209692_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34562,7 +34559,7 @@ pub mod root {
root::nsTArray<::nsstring::nsStringRepr> ) )); root::nsTArray<::nsstring::nsStringRepr> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210652_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210646_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34651,7 +34648,7 @@ pub mod root {
root::RefPtr<root::nsCSSFontFaceRule> ) )); root::RefPtr<root::nsCSSFontFaceRule> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210955_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210949_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34662,7 +34659,7 @@ pub mod root {
root::nsTArray<*mut root::nsIContent> ) )); root::nsTArray<*mut root::nsIContent> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210960_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210954_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -34719,7 +34716,7 @@ pub mod root {
root::RefPtr<root::mozilla::CSSStyleSheet> ) )); root::RefPtr<root::mozilla::CSSStyleSheet> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211435_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_211429_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35354,7 +35351,7 @@ pub mod root {
root::nsCOMPtr ) )); root::nsCOMPtr ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_214266_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_214260_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut ::std::os::raw::c_void>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut ::std::os::raw::c_void>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35433,7 +35430,7 @@ pub mod root {
root::mozilla::DefaultDelete ) )); root::mozilla::DefaultDelete ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_220511_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_220505_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::AudioContext>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::AudioContext>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35466,7 +35463,7 @@ pub mod root {
root::RefPtr<root::mozilla::dom::CallbackObject> ) )); root::RefPtr<root::mozilla::dom::CallbackObject> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_221672_close0_instantiation() { fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_221666_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35477,7 +35474,7 @@ pub mod root {
root::JS::Heap<*mut root::JSObject> ) )); root::JS::Heap<*mut root::JSObject> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_221676_close0_instantiation() { fn __bindgen_test_layout_Heap_open0__bindgen_ty_id_221670_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>() assert_eq!(::std::mem::size_of::<root::JS::Heap<*mut root::JSObject>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35499,7 +35496,7 @@ pub mod root {
root::nsCOMPtr ) )); root::nsCOMPtr ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_221683_close0_instantiation() { fn __bindgen_test_layout_TenuredHeap_open0__bindgen_ty_id_221677_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize , assert_eq!(::std::mem::size_of::<root::JS::TenuredHeap>() , 8usize ,
concat ! ( concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35578,7 +35575,7 @@ pub mod root {
) )); ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_222856_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_222850_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35773,7 +35770,7 @@ pub mod root {
root::nsTArray<f64> ) )); root::nsTArray<f64> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_224304_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_224298_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::dom::Element>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -35878,7 +35875,7 @@ pub mod root {
root::nsRefPtrHashKey<root::nsIAtom> ) )); root::nsRefPtrHashKey<root::nsIAtom> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_226692_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_226686_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::CounterStyle>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::CounterStyle>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36579,7 +36576,7 @@ pub mod root {
root::RefPtr<root::nsStyleImageRequest> ) )); root::RefPtr<root::nsStyleImageRequest> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_229169_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_229163_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsISupports>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36816,7 +36813,7 @@ pub mod root {
root::nsCOMPtr ) )); root::nsCOMPtr ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_236977_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_236971_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36827,7 +36824,7 @@ pub mod root {
root::nsTArray<*mut root::nsIContent> ) )); root::nsTArray<*mut root::nsIContent> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_236982_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_236976_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -36915,7 +36912,7 @@ pub mod root {
root::RefPtr<root::mozilla::dom::ShadowRoot> ) )); root::RefPtr<root::mozilla::dom::ShadowRoot> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_237095_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_237089_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37202,7 +37199,7 @@ pub mod root {
) )); ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238675_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238669_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37224,7 +37221,7 @@ pub mod root {
root::RefPtr<root::mozilla::dom::Element> ) )); root::RefPtr<root::mozilla::dom::Element> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238833_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238827_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37235,7 +37232,7 @@ pub mod root {
root::nsTArray<*mut root::nsIContent> ) )); root::nsTArray<*mut root::nsIContent> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238838_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_238832_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::nsIContent>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37367,7 +37364,7 @@ pub mod root {
root::nsTArray<root::mozilla::gfx::FontVariation> ) )); root::nsTArray<root::mozilla::gfx::FontVariation> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240912_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240906_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (
@ -37378,7 +37375,7 @@ pub mod root {
root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); root::nsTArray<*mut root::mozilla::css::DocumentRule> ) ));
} }
#[test] #[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240918_close0_instantiation() { fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_240912_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>() assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
, 8usize , concat ! ( , 8usize , concat ! (
"Size of template specialization: " , stringify ! ( "Size of template specialization: " , stringify ! (

Просмотреть файл

@ -34,6 +34,10 @@ bitflags! {
/// Allows the traversal to run in parallel if there are sufficient cores on /// Allows the traversal to run in parallel if there are sufficient cores on
/// the machine. /// the machine.
const ParallelTraversal = 1 << 7, const ParallelTraversal = 1 << 7,
/// Flush throttled animations. By default, we only update throttled animations
/// when we have other non-throttled work to do. With this flag, we
/// unconditionally tick and process them.
const FlushThrottledAnimations = 1 << 8,
} }
} }
@ -67,6 +71,7 @@ pub fn assert_traversal_flags_match() {
ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants => ServoTraversalFlags_ClearAnimationOnlyDirtyDescendants =>
ClearAnimationOnlyDirtyDescendants, ClearAnimationOnlyDirtyDescendants,
ServoTraversalFlags_ParallelTraversal => ParallelTraversal, ServoTraversalFlags_ParallelTraversal => ParallelTraversal,
ServoTraversalFlags_FlushThrottledAnimations => FlushThrottledAnimations,
} }
} }

Просмотреть файл

@ -278,13 +278,6 @@ pub extern "C" fn Servo_TraverseSubtree(root: RawGeckoElementBorrowed,
} }
} }
if traversal_flags.for_animation_only() {
debug!("Servo_TraverseSubtree complete (animation-only, aodd={})",
element.has_animation_only_dirty_descendants());
return element.has_animation_only_dirty_descendants() ||
element.borrow_data().unwrap().restyle.is_restyle();
}
traverse_subtree(element, traverse_subtree(element,
raw_data, raw_data,
traversal_flags, traversal_flags,
@ -2782,10 +2775,8 @@ pub extern "C" fn Servo_NoteExplicitHints(element: RawGeckoElementBorrowed,
#[no_mangle] #[no_mangle]
pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed,
raw_flags: ServoTraversalFlags,
was_restyled: *mut bool) -> nsChangeHint was_restyled: *mut bool) -> nsChangeHint
{ {
let flags = TraversalFlags::from_bits_truncate(raw_flags);
let mut was_restyled = unsafe { was_restyled.as_mut().unwrap() }; let mut was_restyled = unsafe { was_restyled.as_mut().unwrap() };
let element = GeckoElement(element); let element = GeckoElement(element);
@ -2794,25 +2785,7 @@ pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed,
*was_restyled = data.restyle.is_restyle(); *was_restyled = data.restyle.is_restyle();
let damage = data.restyle.damage; let damage = data.restyle.damage;
if flags.for_animation_only() { data.clear_restyle_state();
if !*was_restyled {
// Don't touch elements if the element was not restyled
// in throttled animation flush.
debug!("Skip post traversal for throttled animation flush {:?} restyle={:?}",
element, data.restyle);
return nsChangeHint(0);
}
// In the case where we call this function for post traversal for
// flusing throttled animations (i.e. without normal restyle
// traversal), we need to preserve restyle hints for normal restyle
// traversal. Restyle hints for animations have been already
// removed during animation-only traversal.
debug_assert!(!data.restyle.hint.has_animation_hint(),
"Animation restyle hints should have been already removed");
data.clear_restyle_flags_and_damage();
} else {
data.clear_restyle_state();
}
damage damage
} }
None => { None => {
@ -2828,11 +2801,9 @@ pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed,
#[no_mangle] #[no_mangle]
pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed,
_raw_data: RawServoStyleSetBorrowed, _raw_data: RawServoStyleSetBorrowed)
raw_flags: ServoTraversalFlags)
-> ServoStyleContextStrong -> ServoStyleContextStrong
{ {
let flags = TraversalFlags::from_bits_truncate(raw_flags);
let element = GeckoElement(element); let element = GeckoElement(element);
debug!("Servo_ResolveStyle: {:?}", element); debug!("Servo_ResolveStyle: {:?}", element);
let data = let data =
@ -2840,9 +2811,7 @@ pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed,
// TODO(emilio): Downgrade to debug assertions when close to release. // TODO(emilio): Downgrade to debug assertions when close to release.
assert!(data.has_styles(), "Resolving style on unstyled element"); assert!(data.has_styles(), "Resolving style on unstyled element");
// In the case where we process for throttled animation, there remaings debug_assert!(element.has_current_styles(&*data),
// restyle hints other than animation hints.
debug_assert!(element.has_current_styles_for_traversal(&*data, flags),
"Resolving style on {:?} without current styles: {:?}", element, data); "Resolving style on {:?} without current styles: {:?}", element, data);
data.styles.primary().clone().into() data.styles.primary().clone().into()
} }