From c0de5ebd21b1c9c656356cb3176dec3de0bc1183 Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Fri, 11 Aug 2017 12:54:35 -0700 Subject: [PATCH 1/3] Process normal traversal for throttled animation flush as well. MozReview-Commit-ID: BirD8BDMifp --- components/style/traversal_flags.rs | 5 +++++ ports/geckolib/glue.rs | 7 ------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/components/style/traversal_flags.rs b/components/style/traversal_flags.rs index 2e3e0f4c2ad..473b576a456 100644 --- a/components/style/traversal_flags.rs +++ b/components/style/traversal_flags.rs @@ -34,6 +34,10 @@ bitflags! { /// Allows the traversal to run in parallel if there are sufficient cores on /// the machine. 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 => ClearAnimationOnlyDirtyDescendants, ServoTraversalFlags_ParallelTraversal => ParallelTraversal, + ServoTraversalFlags_FlushThrottledAnimations => FlushThrottledAnimations, } } diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 0d0ff0db9be..fddc9676ca5 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -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, raw_data, traversal_flags, From 015a249afc392d7f14f7ba5a517afafd0120d858 Mon Sep 17 00:00:00 2001 From: Hiroyuki Ikezoe Date: Fri, 11 Aug 2017 12:55:32 -0700 Subject: [PATCH 2/3] Cleanup code that was used for verifying styling results for throttled animation flush in post traversal. Now that we do process normal traversal even in the case of throttled animation flush so that we don't need to do special handling for the case. Note about the comment in has_current_styles(): the remaining animation hints is not caused by either this patch or the previous patch in this patch series, it's been there in the first place, but it should be fixed somehow later. See bug 1389675. MozReview-Commit-ID: JojHufxNCiS --- components/style/dom.rs | 22 ++++++++++++++++++++++ ports/geckolib/glue.rs | 30 +++--------------------------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/components/style/dom.rs b/components/style/dom.rs index d2ed5ae3d99..7df9c850fd4 100644 --- a/components/style/dom.rs +++ b/components/style/dom.rs @@ -462,6 +462,28 @@ pub trait TElement : Eq + PartialEq + Debug + Hash + Sized + Copy + Clone + 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. /// /// Only safe to call with exclusive access to the element. diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index fddc9676ca5..d20fce6fb13 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -2775,10 +2775,8 @@ pub extern "C" fn Servo_NoteExplicitHints(element: RawGeckoElementBorrowed, #[no_mangle] pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, - raw_flags: ServoTraversalFlags, was_restyled: *mut bool) -> nsChangeHint { - let flags = TraversalFlags::from_bits_truncate(raw_flags); let mut was_restyled = unsafe { was_restyled.as_mut().unwrap() }; let element = GeckoElement(element); @@ -2787,25 +2785,7 @@ pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, *was_restyled = data.restyle.is_restyle(); let damage = data.restyle.damage; - if flags.for_animation_only() { - 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(); - } + data.clear_restyle_state(); damage } None => { @@ -2821,11 +2801,9 @@ pub extern "C" fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, #[no_mangle] pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, - _raw_data: RawServoStyleSetBorrowed, - raw_flags: ServoTraversalFlags) + _raw_data: RawServoStyleSetBorrowed) -> ServoStyleContextStrong { - let flags = TraversalFlags::from_bits_truncate(raw_flags); let element = GeckoElement(element); debug!("Servo_ResolveStyle: {:?}", element); let data = @@ -2833,9 +2811,7 @@ pub extern "C" fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, // TODO(emilio): Downgrade to debug assertions when close to release. assert!(data.has_styles(), "Resolving style on unstyled element"); - // In the case where we process for throttled animation, there remaings - // restyle hints other than animation hints. - debug_assert!(element.has_current_styles_for_traversal(&*data, flags), + debug_assert!(element.has_current_styles(&*data), "Resolving style on {:?} without current styles: {:?}", element, data); data.styles.primary().clone().into() } From 657878d8a5399cce5d02b5ad45d447930c70a7a9 Mon Sep 17 00:00:00 2001 From: Bobby Holley Date: Fri, 11 Aug 2017 19:14:33 -0700 Subject: [PATCH 3/3] Update bindings. --- components/style/gecko/generated/bindings.rs | 4 +- .../style/gecko/generated/structs_debug.rs | 67 +++++++++---------- .../style/gecko/generated/structs_release.rs | 67 +++++++++---------- 3 files changed, 65 insertions(+), 73 deletions(-) diff --git a/components/style/gecko/generated/bindings.rs b/components/style/gecko/generated/bindings.rs index 86d0d763899..e9e012a3a89 100644 --- a/components/style/gecko/generated/bindings.rs +++ b/components/style/gecko/generated/bindings.rs @@ -2815,13 +2815,11 @@ extern "C" { } extern "C" { pub fn Servo_TakeChangeHint(element: RawGeckoElementBorrowed, - flags: ServoTraversalFlags, was_restyled: *mut bool) -> nsChangeHint; } extern "C" { pub fn Servo_ResolveStyle(element: RawGeckoElementBorrowed, - set: RawServoStyleSetBorrowed, - flags: ServoTraversalFlags) + set: RawServoStyleSetBorrowed) -> ServoStyleContextStrong; } extern "C" { diff --git a/components/style/gecko/generated/structs_debug.rs b/components/style/gecko/generated/structs_debug.rs index 1a871409077..ead3685edd3 100644 --- a/components/style/gecko/generated/structs_debug.rs +++ b/components/style/gecko/generated/structs_debug.rs @@ -4944,6 +4944,9 @@ pub mod root { pub const ServoTraversalFlags_ParallelTraversal: root::mozilla::ServoTraversalFlags = 128; + pub const ServoTraversalFlags_FlushThrottledAnimations: + root::mozilla::ServoTraversalFlags = + 256; pub type ServoTraversalFlags = u32; #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -6644,12 +6647,6 @@ pub mod root { Standard = 1, Layer = 2, } - #[repr(i32)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum EffectCompositor_AnimationRestyleType { - Throttled = 0, - Full = 1, - } #[repr(C)] #[derive(Debug)] pub struct EffectCompositor_AnimationStyleRuleProcessor { @@ -33560,7 +33557,7 @@ pub mod root { root::nsTArray ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33916,7 +33913,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34077,7 +34074,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[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::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34303,7 +34300,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34371,7 +34368,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34483,7 +34480,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34865,7 +34862,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34955,7 +34952,7 @@ pub mod root { ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35056,7 +35053,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35145,7 +35142,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35156,7 +35153,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35213,7 +35210,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35861,7 +35858,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35940,7 +35937,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35973,7 +35970,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35984,7 +35981,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36006,7 +36003,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36085,7 +36082,7 @@ pub mod root { ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36280,7 +36277,7 @@ pub mod root { root::nsTArray ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36385,7 +36382,7 @@ pub mod root { root::nsRefPtrHashKey ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37086,7 +37083,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37323,7 +37320,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37334,7 +37331,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37422,7 +37419,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37709,7 +37706,7 @@ pub mod root { ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37731,7 +37728,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37742,7 +37739,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37874,7 +37871,7 @@ pub mod root { root::nsTArray ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37885,7 +37882,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( diff --git a/components/style/gecko/generated/structs_release.rs b/components/style/gecko/generated/structs_release.rs index d726fa9f827..be299f97ee7 100644 --- a/components/style/gecko/generated/structs_release.rs +++ b/components/style/gecko/generated/structs_release.rs @@ -4832,6 +4832,9 @@ pub mod root { pub const ServoTraversalFlags_ParallelTraversal: root::mozilla::ServoTraversalFlags = 128; + pub const ServoTraversalFlags_FlushThrottledAnimations: + root::mozilla::ServoTraversalFlags = + 256; pub type ServoTraversalFlags = u32; #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] @@ -6524,12 +6527,6 @@ pub mod root { Standard = 1, Layer = 2, } - #[repr(i32)] - #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum EffectCompositor_AnimationRestyleType { - Throttled = 0, - Full = 1, - } #[repr(C)] #[derive(Debug)] pub struct EffectCompositor_AnimationStyleRuleProcessor { @@ -33068,7 +33065,7 @@ pub mod root { root::nsTArray ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33424,7 +33421,7 @@ pub mod root { root::mozilla::binding_danger::TErrorResult ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33585,7 +33582,7 @@ pub mod root { root::JS::DeletePolicy ) )); } #[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::() , 1usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33811,7 +33808,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33879,7 +33876,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -33991,7 +33988,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34371,7 +34368,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34461,7 +34458,7 @@ pub mod root { ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34562,7 +34559,7 @@ pub mod root { root::nsTArray<::nsstring::nsStringRepr> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34651,7 +34648,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34662,7 +34659,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -34719,7 +34716,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35354,7 +35351,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35433,7 +35430,7 @@ pub mod root { root::mozilla::DefaultDelete ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35466,7 +35463,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35477,7 +35474,7 @@ pub mod root { root::JS::Heap<*mut root::JSObject> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35499,7 +35496,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35578,7 +35575,7 @@ pub mod root { ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35773,7 +35770,7 @@ pub mod root { root::nsTArray ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -35878,7 +35875,7 @@ pub mod root { root::nsRefPtrHashKey ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36579,7 +36576,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36816,7 +36813,7 @@ pub mod root { root::nsCOMPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36827,7 +36824,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -36915,7 +36912,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37202,7 +37199,7 @@ pub mod root { ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37224,7 +37221,7 @@ pub mod root { root::RefPtr ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37235,7 +37232,7 @@ pub mod root { root::nsTArray<*mut root::nsIContent> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37367,7 +37364,7 @@ pub mod root { root::nsTArray ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! ( @@ -37378,7 +37375,7 @@ pub mod root { root::nsTArray<*mut root::mozilla::css::DocumentRule> ) )); } #[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::>() , 8usize , concat ! ( "Size of template specialization: " , stringify ! (