diff --git a/components/style/build_gecko.rs b/components/style/build_gecko.rs index 9c13780b8da..fb464c1f7b2 100644 --- a/components/style/build_gecko.rs +++ b/components/style/build_gecko.rs @@ -235,6 +235,7 @@ mod bindings { .include(add_include("mozilla/Keyframe.h")) .include(add_include("mozilla/ServoElementSnapshot.h")) .include(add_include("mozilla/dom/Element.h")) + .include(add_include("mozilla/dom/NameSpaceConstants.h")) .include(add_include("mozilla/ServoBindings.h")) .include(add_include("nsMediaFeatures.h")) .include(add_include("nsMediaList.h")) @@ -258,6 +259,7 @@ mod bindings { "BORDER_COLOR_.*", "BORDER_STYLE_.*", "mozilla::SERVO_PREF_.*", + "kNameSpaceID_.*", ]; let whitelist = [ "RawGecko.*", diff --git a/components/style/gecko/wrapper.rs b/components/style/gecko/wrapper.rs index 6456bfea90c..b73db50a50b 100644 --- a/components/style/gecko/wrapper.rs +++ b/components/style/gecko/wrapper.rs @@ -25,12 +25,12 @@ use gecko::snapshot_helpers; use gecko_bindings::bindings; use gecko_bindings::bindings::{Gecko_DropStyleChildrenIterator, Gecko_MaybeCreateStyleChildrenIterator}; use gecko_bindings::bindings::{Gecko_ElementState, Gecko_GetLastChild, Gecko_GetNextStyleChild}; -use gecko_bindings::bindings::{Gecko_GetServoDeclarationBlock, Gecko_IsHTMLElementInHTMLDocument}; use gecko_bindings::bindings::{Gecko_IsLink, Gecko_IsRootElement, Gecko_MatchesElement}; use gecko_bindings::bindings::{Gecko_IsUnvisitedLink, Gecko_IsVisitedLink, Gecko_Namespace}; use gecko_bindings::bindings::{Gecko_SetNodeFlags, Gecko_UnsetNodeFlags}; use gecko_bindings::bindings::Gecko_ClassOrClassList; use gecko_bindings::bindings::Gecko_GetAnimationRule; +use gecko_bindings::bindings::Gecko_GetServoDeclarationBlock; use gecko_bindings::bindings::Gecko_GetStyleContext; use gecko_bindings::structs; use gecko_bindings::structs::{RawGeckoElement, RawGeckoNode}; @@ -83,11 +83,20 @@ impl<'ln> GeckoNode<'ln> { GeckoNode(&content._base) } + fn flags(&self) -> u32 { + (self.0)._base._base_1.mFlags + } + fn node_info(&self) -> &structs::NodeInfo { debug_assert!(!self.0.mNodeInfo.mRawPtr.is_null()); unsafe { &*self.0.mNodeInfo.mRawPtr } } + fn owner_doc(&self) -> &structs::nsIDocument { + debug_assert!(!self.node_info().mDocument.is_null()); + unsafe { &*self.node_info().mDocument } + } + fn first_child(&self) -> Option> { unsafe { self.0.mFirstChild.as_ref().map(GeckoNode::from_content) } } @@ -103,6 +112,32 @@ impl<'ln> GeckoNode<'ln> { fn next_sibling(&self) -> Option> { unsafe { self.0.mNextSibling.as_ref().map(GeckoNode::from_content) } } + + /// WARNING: This logic is duplicated in Gecko's FlattenedTreeParentIsParent. + /// Make sure to mirror any modifications in both places. + fn flattened_tree_parent_is_parent(&self) -> bool { + use ::gecko_bindings::structs::*; + let flags = self.flags(); + if flags & (NODE_MAY_BE_IN_BINDING_MNGR as u32 | + NODE_IS_IN_SHADOW_TREE as u32) != 0 { + return false; + } + + let parent = unsafe { self.0.mParent.as_ref() }.map(GeckoNode); + let parent_el = parent.and_then(|p| p.as_element()); + if flags & (NODE_IS_NATIVE_ANONYMOUS_ROOT as u32) != 0 && + parent_el.map_or(false, |el| el.is_root()) + { + return false; + } + + if parent_el.map_or(false, |el| el.has_shadow_root()) { + return false; + } + + true + } + } impl<'ln> NodeInfo for GeckoNode<'ln> { @@ -168,7 +203,13 @@ impl<'ln> TNode for GeckoNode<'ln> { } fn parent_node(&self) -> Option { - unsafe { bindings::Gecko_GetParentNode(self.0).map(GeckoNode) } + let fast_path = self.flattened_tree_parent_is_parent(); + debug_assert!(fast_path == unsafe { bindings::Gecko_FlattenedTreeParentIsParent(self.0) }); + if fast_path { + unsafe { self.0.mParent.as_ref().map(GeckoNode) } + } else { + unsafe { bindings::Gecko_GetParentNode(self.0).map(GeckoNode) } + } } fn is_in_doc(&self) -> bool { @@ -278,6 +319,17 @@ impl<'le> GeckoElement<'le> { unsafe { Gecko_UnsetNodeFlags(self.as_node().0, flags) } } + /// Returns true if this element has a shadow root. + fn has_shadow_root(&self) -> bool { + self.get_dom_slots().map_or(false, |slots| !slots.mShadowRoot.mRawPtr.is_null()) + } + + /// Returns a reference to the DOM slots for this Element, if they exist. + fn get_dom_slots(&self) -> Option<&structs::FragmentOrElement_nsDOMSlots> { + let slots = self.as_node().0.mSlots as *const structs::FragmentOrElement_nsDOMSlots; + unsafe { slots.as_ref() } + } + /// Clear the element data for a given element. pub fn clear_data(&self) { let ptr = self.0.mServoData.get(); @@ -440,7 +492,8 @@ impl<'le> PresentationalHintsSynthetizer for GeckoElement<'le> { impl<'le> ::selectors::Element for GeckoElement<'le> { fn parent_element(&self) -> Option { - unsafe { bindings::Gecko_GetParentElement(self.0).map(GeckoElement) } + let parent_node = self.as_node().parent_node(); + parent_node.and_then(|n| n.as_element()) } fn first_child_element(&self) -> Option { @@ -565,9 +618,10 @@ impl<'le> ::selectors::Element for GeckoElement<'le> { } fn is_html_element_in_html_document(&self) -> bool { - unsafe { - Gecko_IsHTMLElementInHTMLDocument(self.0) - } + let node = self.as_node(); + let node_info = node.node_info(); + node_info.mInner.mNamespaceID == (structs::root::kNameSpaceID_XHTML as i32) && + node.owner_doc().mType == structs::root::nsIDocument_Type::eHTML } } diff --git a/components/style/gecko_bindings/bindings.rs b/components/style/gecko_bindings/bindings.rs index 0d690eba45f..c07885bee08 100644 --- a/components/style/gecko_bindings/bindings.rs +++ b/components/style/gecko_bindings/bindings.rs @@ -311,6 +311,10 @@ extern "C" { extern "C" { pub fn Gecko_IsInDocument(node: RawGeckoNodeBorrowed) -> bool; } +extern "C" { + pub fn Gecko_FlattenedTreeParentIsParent(node: RawGeckoNodeBorrowed) + -> bool; +} extern "C" { pub fn Gecko_GetParentNode(node: RawGeckoNodeBorrowed) -> RawGeckoNodeBorrowedOrNull; @@ -331,10 +335,6 @@ extern "C" { pub fn Gecko_GetNextSibling(node: RawGeckoNodeBorrowed) -> RawGeckoNodeBorrowedOrNull; } -extern "C" { - pub fn Gecko_GetParentElement(element: RawGeckoElementBorrowed) - -> RawGeckoElementBorrowedOrNull; -} extern "C" { pub fn Gecko_GetFirstChildElement(element: RawGeckoElementBorrowed) -> RawGeckoElementBorrowedOrNull; @@ -376,10 +376,6 @@ extern "C" { extern "C" { pub fn Gecko_ElementState(element: RawGeckoElementBorrowed) -> u16; } -extern "C" { - pub fn Gecko_IsHTMLElementInHTMLDocument(element: RawGeckoElementBorrowed) - -> bool; -} extern "C" { pub fn Gecko_IsLink(element: RawGeckoElementBorrowed) -> bool; } diff --git a/components/style/gecko_bindings/structs_debug.rs b/components/style/gecko_bindings/structs_debug.rs index 0b48243bff4..c32b2fca33a 100644 --- a/components/style/gecko_bindings/structs_debug.rs +++ b/components/style/gecko_bindings/structs_debug.rs @@ -224,6 +224,21 @@ pub mod root { pub const NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION: ::std::os::raw::c_uint = 250; + pub const kNameSpaceID_Unknown: ::std::os::raw::c_int = -1; + pub const kNameSpaceID_XMLNS: ::std::os::raw::c_uint = 1; + pub const kNameSpaceID_XML: ::std::os::raw::c_uint = 2; + pub const kNameSpaceID_XHTML: ::std::os::raw::c_uint = 3; + pub const kNameSpaceID_XLink: ::std::os::raw::c_uint = 4; + pub const kNameSpaceID_XSLT: ::std::os::raw::c_uint = 5; + pub const kNameSpaceID_XBL: ::std::os::raw::c_uint = 6; + pub const kNameSpaceID_MathML: ::std::os::raw::c_uint = 7; + pub const kNameSpaceID_RDF: ::std::os::raw::c_uint = 8; + pub const kNameSpaceID_XUL: ::std::os::raw::c_uint = 9; + pub const kNameSpaceID_SVG: ::std::os::raw::c_uint = 10; + pub const kNameSpaceID_disabled_MathML: ::std::os::raw::c_uint = 11; + pub const kNameSpaceID_disabled_SVG: ::std::os::raw::c_uint = 12; + pub const kNameSpaceID_LastBuiltin: ::std::os::raw::c_uint = 12; + pub const kNameSpaceID_Wildcard: ::std::os::raw::c_int = -2147483648; pub const NS_FONT_VARIANT_NORMAL: ::std::os::raw::c_uint = 0; pub const NS_FONT_VARIANT_SMALL_CAPS: ::std::os::raw::c_uint = 1; pub const NS_STYLE_STACK_SIZING_IGNORE: ::std::os::raw::c_uint = 0; @@ -3843,7 +3858,7 @@ pub mod root { * Enumeration that represents one of the two supported style system backends. */ #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBackendType { Gecko = 1, Servo = 2, } + pub enum StyleBackendType { None = 0, Gecko = 1, Servo = 2, } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum CORSMode { @@ -5461,6 +5476,7 @@ pub mod root { } pub type pair_first_type<_T1> = _T1; pub type pair_second_type<_T2> = _T2; + pub type pair__PCCP = [u8; 0usize]; #[repr(C)] #[derive(Debug)] pub struct atomic<_Tp> { @@ -7036,12 +7052,12 @@ pub mod root { ** A type for representing the size of objects. ************************************************************************/ pub type PRSize = usize; - pub const PR_FAILURE: root::_bindgen_ty_144 = _bindgen_ty_144::PR_FAILURE; - pub const PR_SUCCESS: root::_bindgen_ty_144 = _bindgen_ty_144::PR_SUCCESS; + pub const PR_FAILURE: root::_bindgen_ty_127 = _bindgen_ty_127::PR_FAILURE; + pub const PR_SUCCESS: root::_bindgen_ty_127 = _bindgen_ty_127::PR_SUCCESS; #[repr(i32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_144 { PR_FAILURE = -1, PR_SUCCESS = 0, } - pub use self::super::root::_bindgen_ty_144 as PRStatus; + pub enum _bindgen_ty_127 { PR_FAILURE = -1, PR_SUCCESS = 0, } + pub use self::super::root::_bindgen_ty_127 as PRStatus; pub type PRUword = ::std::os::raw::c_ulong; pub type PRTime = root::PRInt64; #[repr(C)] @@ -7099,6 +7115,68 @@ pub mod root { pub type nsWritingIterator_reference = [u8; 0usize]; #[repr(C)] #[derive(Debug)] + pub struct nsTSubstringSplitter_CharT { + pub mStr: *const root::nsAString_internal, + pub mArray: root::mozilla::UniquePtr<*mut root::nsAString_internal, + root::mozilla::DefaultDelete<*mut root::nsAString_internal>>, + pub mArraySize: root::nsAString_internal_size_type, + pub mDelim: root::nsAString_internal_char_type, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter { + pub mObj: *const root::nsTSubstringSplitter_CharT, + pub mPos: root::nsAString_internal_size_type, + } + #[test] + fn bindgen_test_layout_nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter() { + assert_eq!(::std::mem::size_of::() + , 16usize); + assert_eq!(::std::mem::align_of::() + , 8usize); + } + impl Clone for nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter { + fn clone(&self) -> Self { *self } + } + #[test] + fn bindgen_test_layout_nsTSubstringSplitter_CharT() { + assert_eq!(::std::mem::size_of::() , + 24usize); + assert_eq!(::std::mem::align_of::() , + 8usize); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsCSubstringSplitter { + pub mStr: *const root::nsACString_internal, + pub mArray: root::mozilla::UniquePtr<*mut root::nsACString_internal, + root::mozilla::DefaultDelete<*mut root::nsACString_internal>>, + pub mArraySize: root::nsACString_internal_size_type, + pub mDelim: root::nsACString_internal_char_type, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsCSubstringSplitter_nsTSubstringSplit_Iter { + pub mObj: *const root::nsCSubstringSplitter, + pub mPos: root::nsACString_internal_size_type, + } + #[test] + fn bindgen_test_layout_nsCSubstringSplitter_nsTSubstringSplit_Iter() { + assert_eq!(::std::mem::size_of::() + , 16usize); + assert_eq!(::std::mem::align_of::() + , 8usize); + } + impl Clone for nsCSubstringSplitter_nsTSubstringSplit_Iter { + fn clone(&self) -> Self { *self } + } + #[test] + fn bindgen_test_layout_nsCSubstringSplitter() { + assert_eq!(::std::mem::size_of::() , 24usize); + assert_eq!(::std::mem::align_of::() , 8usize); + } + #[repr(C)] + #[derive(Debug)] pub struct nsFixedString { pub _base: ::nsstring::nsStringRepr, pub mFixedCapacity: root::nsAString_internal_size_type, @@ -11256,6 +11334,7 @@ pub mod root { impl Clone for nsIRequestObserver { fn clone(&self) -> Self { *self } } + pub const kNameSpaceID_None: i32 = 0; #[repr(C)] #[derive(Debug)] pub struct nsNodeInfoManager { @@ -11974,63 +12053,63 @@ pub mod root { #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct nsDOMMutationObserver([u8; 0]); - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_IS_EDITABLE; - pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_MAY_HAVE_CLASS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_SHARED_RESTYLE_BIT_2; - pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_155 = - _bindgen_ty_155::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_IS_EDITABLE; + pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_MAY_HAVE_CLASS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_SHARED_RESTYLE_BIT_2; + pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_138 = + _bindgen_ty_138::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_155 { + pub enum _bindgen_ty_138 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -18995,290 +19074,304 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_30() { + assert_eq!(::std::mem::size_of::>() + , 1usize); + assert_eq!(::std::mem::align_of::>() + , 1usize); + } + #[test] + fn __bindgen_test_layout_template_31() { + assert_eq!(::std::mem::size_of::>() + , 1usize); + assert_eq!(::std::mem::align_of::>() + , 1usize); + } + #[test] + fn __bindgen_test_layout_template_32() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_31() { + fn __bindgen_test_layout_template_33() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_32() { + fn __bindgen_test_layout_template_34() { assert_eq!(::std::mem::size_of::>() , 32usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_33() { + fn __bindgen_test_layout_template_35() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_34() { + fn __bindgen_test_layout_template_36() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_35() { + fn __bindgen_test_layout_template_37() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_36() { + fn __bindgen_test_layout_template_38() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_37() { + fn __bindgen_test_layout_template_39() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_38() { + fn __bindgen_test_layout_template_40() { assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize); assert_eq!(::std::mem::align_of::<[u64; 29usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_39() { + fn __bindgen_test_layout_template_41() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_40() { + fn __bindgen_test_layout_template_42() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_41() { + fn __bindgen_test_layout_template_43() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_42() { + fn __bindgen_test_layout_template_44() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_43() { + fn __bindgen_test_layout_template_45() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_44() { + fn __bindgen_test_layout_template_46() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_45() { + fn __bindgen_test_layout_template_47() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_46() { + fn __bindgen_test_layout_template_48() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_47() { + fn __bindgen_test_layout_template_49() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_48() { + fn __bindgen_test_layout_template_50() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_49() { + fn __bindgen_test_layout_template_51() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_50() { + fn __bindgen_test_layout_template_52() { assert_eq!(::std::mem::size_of::() , 8usize); assert_eq!(::std::mem::align_of::() , 8usize); } #[test] - fn __bindgen_test_layout_template_51() { + fn __bindgen_test_layout_template_53() { assert_eq!(::std::mem::size_of::<[u64; 29usize]>() , 232usize); assert_eq!(::std::mem::align_of::<[u64; 29usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_52() { + fn __bindgen_test_layout_template_54() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_53() { + fn __bindgen_test_layout_template_55() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_54() { + fn __bindgen_test_layout_template_56() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize); assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_55() { + fn __bindgen_test_layout_template_57() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_56() { + fn __bindgen_test_layout_template_58() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_57() { + fn __bindgen_test_layout_template_59() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_58() { + fn __bindgen_test_layout_template_60() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_59() { + fn __bindgen_test_layout_template_61() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_60() { + fn __bindgen_test_layout_template_62() { assert_eq!(::std::mem::size_of::>() , 16usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_61() { + fn __bindgen_test_layout_template_63() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_62() { + fn __bindgen_test_layout_template_64() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_63() { + fn __bindgen_test_layout_template_65() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_64() { + fn __bindgen_test_layout_template_66() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_65() { + fn __bindgen_test_layout_template_67() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_66() { + fn __bindgen_test_layout_template_68() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_67() { + fn __bindgen_test_layout_template_69() { assert_eq!(::std::mem::size_of::>() , 24usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_68() { + fn __bindgen_test_layout_template_70() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_69() { + fn __bindgen_test_layout_template_71() { assert_eq!(::std::mem::size_of::>() , 24usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_70() { + fn __bindgen_test_layout_template_72() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_71() { + fn __bindgen_test_layout_template_73() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_72() { + fn __bindgen_test_layout_template_74() { assert_eq!(::std::mem::size_of::>>() , 8usize); @@ -19287,14 +19380,14 @@ pub mod root { , 8usize); } #[test] - fn __bindgen_test_layout_template_73() { + fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_74() { + fn __bindgen_test_layout_template_76() { assert_eq!(::std::mem::size_of::>>() , 8usize); @@ -19303,62 +19396,62 @@ pub mod root { , 8usize); } #[test] - fn __bindgen_test_layout_template_75() { + fn __bindgen_test_layout_template_77() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_76() { + fn __bindgen_test_layout_template_78() { assert_eq!(::std::mem::size_of::>() , 16usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_77() { + fn __bindgen_test_layout_template_79() { assert_eq!(::std::mem::size_of::<[u64; 6usize]>() , 48usize); assert_eq!(::std::mem::align_of::<[u64; 6usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_78() { + fn __bindgen_test_layout_template_80() { assert_eq!(::std::mem::size_of::>() , 16usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_79() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_80() { - assert_eq!(::std::mem::size_of::() , 8usize); - assert_eq!(::std::mem::align_of::() , 8usize); - } - #[test] fn __bindgen_test_layout_template_81() { assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); } #[test] fn __bindgen_test_layout_template_82() { + assert_eq!(::std::mem::size_of::() , 8usize); + assert_eq!(::std::mem::align_of::() , 8usize); + } + #[test] + fn __bindgen_test_layout_template_83() { + assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); + assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); + } + #[test] + fn __bindgen_test_layout_template_84() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_83() { + fn __bindgen_test_layout_template_85() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_84() { + fn __bindgen_test_layout_template_86() { assert_eq!(::std::mem::size_of::>>() , 8usize); @@ -19367,45 +19460,45 @@ pub mod root { , 8usize); } #[test] - fn __bindgen_test_layout_template_85() { + fn __bindgen_test_layout_template_87() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_86() { + fn __bindgen_test_layout_template_88() { assert_eq!(::std::mem::size_of::>() , 32usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_87() { + fn __bindgen_test_layout_template_89() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize); assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_88() { + fn __bindgen_test_layout_template_90() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_89() { + fn __bindgen_test_layout_template_91() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_90() { + fn __bindgen_test_layout_template_92() { assert_eq!(::std::mem::size_of::() , 8usize); assert_eq!(::std::mem::align_of::() , 8usize); } #[test] - fn __bindgen_test_layout_template_91() { + fn __bindgen_test_layout_template_93() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() diff --git a/components/style/gecko_bindings/structs_release.rs b/components/style/gecko_bindings/structs_release.rs index 3b19df22616..dcf94b0c7a8 100644 --- a/components/style/gecko_bindings/structs_release.rs +++ b/components/style/gecko_bindings/structs_release.rs @@ -224,6 +224,21 @@ pub mod root { pub const NS_THEME_MAC_ACTIVE_SOURCE_LIST_SELECTION: ::std::os::raw::c_uint = 250; + pub const kNameSpaceID_Unknown: ::std::os::raw::c_int = -1; + pub const kNameSpaceID_XMLNS: ::std::os::raw::c_uint = 1; + pub const kNameSpaceID_XML: ::std::os::raw::c_uint = 2; + pub const kNameSpaceID_XHTML: ::std::os::raw::c_uint = 3; + pub const kNameSpaceID_XLink: ::std::os::raw::c_uint = 4; + pub const kNameSpaceID_XSLT: ::std::os::raw::c_uint = 5; + pub const kNameSpaceID_XBL: ::std::os::raw::c_uint = 6; + pub const kNameSpaceID_MathML: ::std::os::raw::c_uint = 7; + pub const kNameSpaceID_RDF: ::std::os::raw::c_uint = 8; + pub const kNameSpaceID_XUL: ::std::os::raw::c_uint = 9; + pub const kNameSpaceID_SVG: ::std::os::raw::c_uint = 10; + pub const kNameSpaceID_disabled_MathML: ::std::os::raw::c_uint = 11; + pub const kNameSpaceID_disabled_SVG: ::std::os::raw::c_uint = 12; + pub const kNameSpaceID_LastBuiltin: ::std::os::raw::c_uint = 12; + pub const kNameSpaceID_Wildcard: ::std::os::raw::c_int = -2147483648; pub const NS_FONT_VARIANT_NORMAL: ::std::os::raw::c_uint = 0; pub const NS_FONT_VARIANT_SMALL_CAPS: ::std::os::raw::c_uint = 1; pub const NS_STYLE_STACK_SIZING_IGNORE: ::std::os::raw::c_uint = 0; @@ -3762,7 +3777,7 @@ pub mod root { * Enumeration that represents one of the two supported style system backends. */ #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum StyleBackendType { Gecko = 1, Servo = 2, } + pub enum StyleBackendType { None = 0, Gecko = 1, Servo = 2, } #[repr(u8)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] pub enum CORSMode { @@ -5377,6 +5392,7 @@ pub mod root { } pub type pair_first_type<_T1> = _T1; pub type pair_second_type<_T2> = _T2; + pub type pair__PCCP = [u8; 0usize]; #[repr(C)] #[derive(Debug)] pub struct atomic<_Tp> { @@ -6931,6 +6947,68 @@ pub mod root { pub type nsWritingIterator_reference = [u8; 0usize]; #[repr(C)] #[derive(Debug)] + pub struct nsTSubstringSplitter_CharT { + pub mStr: *const root::nsAString_internal, + pub mArray: root::mozilla::UniquePtr<*mut root::nsAString_internal, + root::mozilla::DefaultDelete<*mut root::nsAString_internal>>, + pub mArraySize: root::nsAString_internal_size_type, + pub mDelim: root::nsAString_internal_char_type, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter { + pub mObj: *const root::nsTSubstringSplitter_CharT, + pub mPos: root::nsAString_internal_size_type, + } + #[test] + fn bindgen_test_layout_nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter() { + assert_eq!(::std::mem::size_of::() + , 16usize); + assert_eq!(::std::mem::align_of::() + , 8usize); + } + impl Clone for nsTSubstringSplitter_CharT_nsTSubstringSplit_Iter { + fn clone(&self) -> Self { *self } + } + #[test] + fn bindgen_test_layout_nsTSubstringSplitter_CharT() { + assert_eq!(::std::mem::size_of::() , + 24usize); + assert_eq!(::std::mem::align_of::() , + 8usize); + } + #[repr(C)] + #[derive(Debug)] + pub struct nsCSubstringSplitter { + pub mStr: *const root::nsACString_internal, + pub mArray: root::mozilla::UniquePtr<*mut root::nsACString_internal, + root::mozilla::DefaultDelete<*mut root::nsACString_internal>>, + pub mArraySize: root::nsACString_internal_size_type, + pub mDelim: root::nsACString_internal_char_type, + } + #[repr(C)] + #[derive(Debug, Copy)] + pub struct nsCSubstringSplitter_nsTSubstringSplit_Iter { + pub mObj: *const root::nsCSubstringSplitter, + pub mPos: root::nsACString_internal_size_type, + } + #[test] + fn bindgen_test_layout_nsCSubstringSplitter_nsTSubstringSplit_Iter() { + assert_eq!(::std::mem::size_of::() + , 16usize); + assert_eq!(::std::mem::align_of::() + , 8usize); + } + impl Clone for nsCSubstringSplitter_nsTSubstringSplit_Iter { + fn clone(&self) -> Self { *self } + } + #[test] + fn bindgen_test_layout_nsCSubstringSplitter() { + assert_eq!(::std::mem::size_of::() , 24usize); + assert_eq!(::std::mem::align_of::() , 8usize); + } + #[repr(C)] + #[derive(Debug)] pub struct nsFixedString { pub _base: ::nsstring::nsStringRepr, pub mFixedCapacity: root::nsAString_internal_size_type, @@ -11042,6 +11120,7 @@ pub mod root { impl Clone for nsIRequestObserver { fn clone(&self) -> Self { *self } } + pub const kNameSpaceID_None: i32 = 0; #[repr(C)] #[derive(Debug)] pub struct nsNodeInfoManager { @@ -11755,63 +11834,63 @@ pub mod root { #[repr(C)] #[derive(Debug, Copy, Clone)] pub struct nsDOMMutationObserver([u8; 0]); - pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_LISTENERMANAGER; - pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_PROPERTIES; - pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_IS_ANONYMOUS_ROOT; - pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; - pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_IS_NATIVE_ANONYMOUS_ROOT; - pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_FORCE_XBL_BINDINGS; - pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_MAY_BE_IN_BINDING_MNGR; - pub const NODE_IS_EDITABLE: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_IS_EDITABLE; - pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_MAY_HAVE_CLASS; - pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_IS_IN_SHADOW_TREE; - pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_EMPTY_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_SLOW_SELECTOR; - pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_EDGE_CHILD_SELECTOR; - pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; - pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_ALL_SELECTOR_FLAGS; - pub const NODE_NEEDS_FRAME: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_NEEDS_FRAME; - pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_DESCENDANTS_NEED_FRAMES; - pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_ACCESSKEY; - pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_DIRECTION_RTL; - pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_HAS_DIRECTION_LTR; - pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_ALL_DIRECTION_FLAGS; - pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_CHROME_ONLY_ACCESS; - pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; - pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_SHARED_RESTYLE_BIT_2; - pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_SHARED_RESTYLE_BIT_1; - pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_136 = - _bindgen_ty_136::NODE_TYPE_SPECIFIC_BITS_OFFSET; + pub const NODE_HAS_LISTENERMANAGER: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_LISTENERMANAGER; + pub const NODE_HAS_PROPERTIES: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_PROPERTIES; + pub const NODE_IS_ANONYMOUS_ROOT: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_IS_ANONYMOUS_ROOT; + pub const NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE; + pub const NODE_IS_NATIVE_ANONYMOUS_ROOT: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_IS_NATIVE_ANONYMOUS_ROOT; + pub const NODE_FORCE_XBL_BINDINGS: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_FORCE_XBL_BINDINGS; + pub const NODE_MAY_BE_IN_BINDING_MNGR: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_MAY_BE_IN_BINDING_MNGR; + pub const NODE_IS_EDITABLE: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_IS_EDITABLE; + pub const NODE_MAY_HAVE_CLASS: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_MAY_HAVE_CLASS; + pub const NODE_IS_IN_SHADOW_TREE: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_IS_IN_SHADOW_TREE; + pub const NODE_HAS_EMPTY_SELECTOR: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_EMPTY_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_SLOW_SELECTOR; + pub const NODE_HAS_EDGE_CHILD_SELECTOR: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_EDGE_CHILD_SELECTOR; + pub const NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS; + pub const NODE_ALL_SELECTOR_FLAGS: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_ALL_SELECTOR_FLAGS; + pub const NODE_NEEDS_FRAME: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_NEEDS_FRAME; + pub const NODE_DESCENDANTS_NEED_FRAMES: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_DESCENDANTS_NEED_FRAMES; + pub const NODE_HAS_ACCESSKEY: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_ACCESSKEY; + pub const NODE_HAS_DIRECTION_RTL: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_DIRECTION_RTL; + pub const NODE_HAS_DIRECTION_LTR: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_HAS_DIRECTION_LTR; + pub const NODE_ALL_DIRECTION_FLAGS: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_ALL_DIRECTION_FLAGS; + pub const NODE_CHROME_ONLY_ACCESS: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_CHROME_ONLY_ACCESS; + pub const NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS; + pub const NODE_SHARED_RESTYLE_BIT_1: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_SHARED_RESTYLE_BIT_2: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_SHARED_RESTYLE_BIT_2; + pub const NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_SHARED_RESTYLE_BIT_1; + pub const NODE_TYPE_SPECIFIC_BITS_OFFSET: root::_bindgen_ty_119 = + _bindgen_ty_119::NODE_TYPE_SPECIFIC_BITS_OFFSET; #[repr(u32)] #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] - pub enum _bindgen_ty_136 { + pub enum _bindgen_ty_119 { NODE_HAS_LISTENERMANAGER = 4, NODE_HAS_PROPERTIES = 8, NODE_IS_ANONYMOUS_ROOT = 16, @@ -18765,290 +18844,304 @@ pub mod root { } #[test] fn __bindgen_test_layout_template_30() { + assert_eq!(::std::mem::size_of::>() + , 1usize); + assert_eq!(::std::mem::align_of::>() + , 1usize); + } + #[test] + fn __bindgen_test_layout_template_31() { + assert_eq!(::std::mem::size_of::>() + , 1usize); + assert_eq!(::std::mem::align_of::>() + , 1usize); + } + #[test] + fn __bindgen_test_layout_template_32() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_31() { + fn __bindgen_test_layout_template_33() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_32() { + fn __bindgen_test_layout_template_34() { assert_eq!(::std::mem::size_of::>() , 16usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_33() { + fn __bindgen_test_layout_template_35() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_34() { + fn __bindgen_test_layout_template_36() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_35() { + fn __bindgen_test_layout_template_37() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_36() { + fn __bindgen_test_layout_template_38() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_37() { + fn __bindgen_test_layout_template_39() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_38() { + fn __bindgen_test_layout_template_40() { assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize); assert_eq!(::std::mem::align_of::<[u64; 28usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_39() { + fn __bindgen_test_layout_template_41() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_40() { + fn __bindgen_test_layout_template_42() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_41() { + fn __bindgen_test_layout_template_43() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_42() { + fn __bindgen_test_layout_template_44() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_43() { + fn __bindgen_test_layout_template_45() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_44() { + fn __bindgen_test_layout_template_46() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_45() { + fn __bindgen_test_layout_template_47() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_46() { + fn __bindgen_test_layout_template_48() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_47() { + fn __bindgen_test_layout_template_49() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_48() { + fn __bindgen_test_layout_template_50() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_49() { + fn __bindgen_test_layout_template_51() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_50() { + fn __bindgen_test_layout_template_52() { assert_eq!(::std::mem::size_of::() , 8usize); assert_eq!(::std::mem::align_of::() , 8usize); } #[test] - fn __bindgen_test_layout_template_51() { + fn __bindgen_test_layout_template_53() { assert_eq!(::std::mem::size_of::<[u64; 28usize]>() , 224usize); assert_eq!(::std::mem::align_of::<[u64; 28usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_52() { + fn __bindgen_test_layout_template_54() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_53() { + fn __bindgen_test_layout_template_55() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_54() { + fn __bindgen_test_layout_template_56() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize); assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_55() { + fn __bindgen_test_layout_template_57() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_56() { + fn __bindgen_test_layout_template_58() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_57() { + fn __bindgen_test_layout_template_59() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_58() { + fn __bindgen_test_layout_template_60() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_59() { + fn __bindgen_test_layout_template_61() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_60() { + fn __bindgen_test_layout_template_62() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_61() { + fn __bindgen_test_layout_template_63() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_62() { + fn __bindgen_test_layout_template_64() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_63() { + fn __bindgen_test_layout_template_65() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_64() { + fn __bindgen_test_layout_template_66() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_65() { + fn __bindgen_test_layout_template_67() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_66() { + fn __bindgen_test_layout_template_68() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_67() { + fn __bindgen_test_layout_template_69() { assert_eq!(::std::mem::size_of::>() , 24usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_68() { + fn __bindgen_test_layout_template_70() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_69() { + fn __bindgen_test_layout_template_71() { assert_eq!(::std::mem::size_of::>() , 24usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_70() { + fn __bindgen_test_layout_template_72() { assert_eq!(::std::mem::size_of::>>() , 8usize); assert_eq!(::std::mem::align_of::>>() , 8usize); } #[test] - fn __bindgen_test_layout_template_71() { + fn __bindgen_test_layout_template_73() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_72() { + fn __bindgen_test_layout_template_74() { assert_eq!(::std::mem::size_of::>>() , 8usize); @@ -19057,14 +19150,14 @@ pub mod root { , 8usize); } #[test] - fn __bindgen_test_layout_template_73() { + fn __bindgen_test_layout_template_75() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_74() { + fn __bindgen_test_layout_template_76() { assert_eq!(::std::mem::size_of::>>() , 8usize); @@ -19073,62 +19166,62 @@ pub mod root { , 8usize); } #[test] - fn __bindgen_test_layout_template_75() { + fn __bindgen_test_layout_template_77() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_76() { + fn __bindgen_test_layout_template_78() { assert_eq!(::std::mem::size_of::>() , 16usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_77() { + fn __bindgen_test_layout_template_79() { assert_eq!(::std::mem::size_of::<[u64; 5usize]>() , 40usize); assert_eq!(::std::mem::align_of::<[u64; 5usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_78() { + fn __bindgen_test_layout_template_80() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_79() { - assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); - assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); - } - #[test] - fn __bindgen_test_layout_template_80() { - assert_eq!(::std::mem::size_of::() , 8usize); - assert_eq!(::std::mem::align_of::() , 8usize); - } - #[test] fn __bindgen_test_layout_template_81() { assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); } #[test] fn __bindgen_test_layout_template_82() { + assert_eq!(::std::mem::size_of::() , 8usize); + assert_eq!(::std::mem::align_of::() , 8usize); + } + #[test] + fn __bindgen_test_layout_template_83() { + assert_eq!(::std::mem::size_of::<[u64; 2usize]>() , 16usize); + assert_eq!(::std::mem::align_of::<[u64; 2usize]>() , 8usize); + } + #[test] + fn __bindgen_test_layout_template_84() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_83() { + fn __bindgen_test_layout_template_85() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_84() { + fn __bindgen_test_layout_template_86() { assert_eq!(::std::mem::size_of::>>() , 8usize); @@ -19137,45 +19230,45 @@ pub mod root { , 8usize); } #[test] - fn __bindgen_test_layout_template_85() { + fn __bindgen_test_layout_template_87() { assert_eq!(::std::mem::size_of::>() , 1usize); assert_eq!(::std::mem::align_of::>() , 1usize); } #[test] - fn __bindgen_test_layout_template_86() { + fn __bindgen_test_layout_template_88() { assert_eq!(::std::mem::size_of::>() , 32usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_87() { + fn __bindgen_test_layout_template_89() { assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize); assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize); } #[test] - fn __bindgen_test_layout_template_88() { + fn __bindgen_test_layout_template_90() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_89() { + fn __bindgen_test_layout_template_91() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>() , 8usize); } #[test] - fn __bindgen_test_layout_template_90() { + fn __bindgen_test_layout_template_92() { assert_eq!(::std::mem::size_of::() , 8usize); assert_eq!(::std::mem::align_of::() , 8usize); } #[test] - fn __bindgen_test_layout_template_91() { + fn __bindgen_test_layout_template_93() { assert_eq!(::std::mem::size_of::>() , 8usize); assert_eq!(::std::mem::align_of::>()