зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #12339 - stylo: Implement dirtyness tracking for stylo (from emilio:stylo-node-dirtying); r=heycam
<!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors <!-- Either: --> - [x] These changes do not require tests because geckolib-only changes. <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> r? @bholley Source-Repo: https://github.com/servo/servo Source-Revision: 4a5a0a417bb55971fe70e7066c8d8c9a0ab36b3b
This commit is contained in:
Родитель
f1d49799db
Коммит
77d1e7f00d
|
@ -12,7 +12,6 @@ dependencies = [
|
|||
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"selectors 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"string_cache 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"style 0.0.1",
|
||||
"style_traits 0.0.1",
|
||||
|
|
|
@ -21,7 +21,6 @@ libc = "0.2"
|
|||
log = {version = "0.3.5", features = ["release_max_level_info"]}
|
||||
num_cpus = "0.2.2"
|
||||
selectors = "0.7"
|
||||
smallvec = "0.1"
|
||||
string_cache = {version = "0.2.20", features = ["unstable"]}
|
||||
style = {path = "../../components/style", features = ["gecko"]}
|
||||
style_traits = {path = "../../components/style_traits"}
|
||||
|
|
|
@ -240,6 +240,9 @@ extern "C" {
|
|||
principal: *mut ThreadSafePrincipalHolder);
|
||||
pub fn Gecko_CopyMozBindingFrom(des: *mut nsStyleDisplay,
|
||||
src: *const nsStyleDisplay);
|
||||
pub fn Gecko_GetNodeFlags(node: *mut RawGeckoNode) -> u32;
|
||||
pub fn Gecko_SetNodeFlags(node: *mut RawGeckoNode, flags: u32);
|
||||
pub fn Gecko_UnsetNodeFlags(node: *mut RawGeckoNode, flags: u32);
|
||||
pub fn Servo_StylesheetFromUTF8Bytes(bytes: *const u8, length: u32,
|
||||
parsing_mode: SheetParsingMode,
|
||||
base: *mut ThreadSafeURIHolder,
|
||||
|
|
|
@ -188,6 +188,10 @@ pub const NS_ERROR_MODULE_BASE_OFFSET: ::std::os::raw::c_uint = 69;
|
|||
pub const MOZ_STRING_WITH_OBSOLETE_API: ::std::os::raw::c_uint = 1;
|
||||
pub const NSID_LENGTH: ::std::os::raw::c_uint = 39;
|
||||
pub const NS_NUMBER_OF_FLAGS_IN_REFCNT: ::std::os::raw::c_uint = 2;
|
||||
pub const _STL_PAIR_H: ::std::os::raw::c_uint = 1;
|
||||
pub const _GLIBCXX_UTILITY: ::std::os::raw::c_uint = 1;
|
||||
pub const DOM_USER_DATA: ::std::os::raw::c_uint = 1;
|
||||
pub const SMIL_MAPPED_ATTR_ANIMVAL: ::std::os::raw::c_uint = 2;
|
||||
pub const TWIPS_PER_POINT_INT: ::std::os::raw::c_uint = 20;
|
||||
pub const POINTS_PER_INCH_INT: ::std::os::raw::c_uint = 72;
|
||||
pub const NS_FONT_VARIANT_NORMAL: ::std::os::raw::c_uint = 0;
|
||||
|
@ -2760,6 +2764,84 @@ pub enum SheetParsingMode {
|
|||
pub struct HandleRefPtr<T> {
|
||||
pub mHandle: T,
|
||||
}
|
||||
pub enum nsAttrAndChildArray { }
|
||||
pub enum nsChildContentList { }
|
||||
pub enum nsCSSSelectorList { }
|
||||
pub enum nsDOMAttributeMap { }
|
||||
pub enum nsIAnimationObserver { }
|
||||
pub enum nsIDOMElement { }
|
||||
pub enum nsIDOMNodeList { }
|
||||
pub enum nsIEditor { }
|
||||
pub enum nsIFrame { }
|
||||
pub enum nsINodeList { }
|
||||
pub enum nsNodeSupportsWeakRefTearoff { }
|
||||
pub enum nsNodeWeakReference { }
|
||||
pub enum nsDOMMutationObserver { }
|
||||
pub enum ServoNodeData { }
|
||||
pub enum EventListenerManager { }
|
||||
pub enum BoxQuadOptions { }
|
||||
pub enum ConvertCoordinateOptions { }
|
||||
pub enum DOMPoint { }
|
||||
pub enum DOMQuad { }
|
||||
pub enum DOMRectReadOnly { }
|
||||
pub enum Element { }
|
||||
pub enum Text { }
|
||||
pub enum TextOrElementOrDocument { }
|
||||
pub enum DOMPointInit { }
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum NodeFlags {
|
||||
NODE_HAS_LISTENERMANAGER = 4,
|
||||
NODE_HAS_PROPERTIES = 8,
|
||||
NODE_IS_ANONYMOUS_ROOT = 16,
|
||||
NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE = 32,
|
||||
NODE_IS_NATIVE_ANONYMOUS_ROOT = 64,
|
||||
NODE_FORCE_XBL_BINDINGS = 128,
|
||||
NODE_MAY_BE_IN_BINDING_MNGR = 256,
|
||||
NODE_IS_EDITABLE = 512,
|
||||
NODE_MAY_HAVE_CLASS = 1024,
|
||||
NODE_IS_IN_SHADOW_TREE = 2048,
|
||||
NODE_HAS_EMPTY_SELECTOR = 4096,
|
||||
NODE_HAS_SLOW_SELECTOR = 8192,
|
||||
NODE_HAS_EDGE_CHILD_SELECTOR = 16384,
|
||||
NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS = 32768,
|
||||
NODE_ALL_SELECTOR_FLAGS = 61440,
|
||||
NODE_NEEDS_FRAME = 65536,
|
||||
NODE_DESCENDANTS_NEED_FRAMES = 131072,
|
||||
NODE_HAS_ACCESSKEY = 262144,
|
||||
NODE_HAS_DIRECTION_RTL = 524288,
|
||||
NODE_HAS_DIRECTION_LTR = 1048576,
|
||||
NODE_ALL_DIRECTION_FLAGS = 1572864,
|
||||
NODE_CHROME_ONLY_ACCESS = 2097152,
|
||||
NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS = 4194304,
|
||||
NODE_IS_DIRTY_FOR_SERVO = 8388608,
|
||||
NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO = 16777216,
|
||||
NODE_TYPE_SPECIFIC_BITS_OFFSET = 23,
|
||||
}
|
||||
/**
|
||||
* Class used to detect unexpected mutations. To use the class create an
|
||||
* nsMutationGuard on the stack before unexpected mutations could occur.
|
||||
* You can then at any time call Mutated to check if any unexpected mutations
|
||||
* have occurred.
|
||||
*/
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsMutationGuard {
|
||||
pub mStartingGeneration: u64,
|
||||
}
|
||||
impl ::std::clone::Clone for nsMutationGuard {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsMutationGuard() {
|
||||
assert_eq!(::std::mem::size_of::<nsMutationGuard>() , 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsMutationGuard>() , 8usize);
|
||||
}
|
||||
extern "C" {
|
||||
#[link_name = "_ZN15nsMutationGuard11sGenerationE"]
|
||||
pub static mut nsMutationGuard_consts_sGeneration:
|
||||
::std::os::raw::c_ulong;
|
||||
}
|
||||
pub type Float = f32;
|
||||
#[repr(i8)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
|
@ -2991,7 +3073,7 @@ pub type gfxImageFormat = SurfaceFormat;
|
|||
pub struct RectCorner;
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum RectCorner_Types_h_unnamed_8 {
|
||||
pub enum RectCorner_Types_h_unnamed_10 {
|
||||
TopLeft = 0,
|
||||
TopRight = 1,
|
||||
BottomRight = 2,
|
||||
|
@ -4222,14 +4304,14 @@ pub enum nsCSSUnit {
|
|||
#[derive(Debug)]
|
||||
pub struct nsCSSValue {
|
||||
pub mUnit: nsCSSUnit,
|
||||
pub mValue: nsCSSValue_nsCSSValue_h_unnamed_10,
|
||||
pub mValue: nsCSSValue_nsCSSValue_h_unnamed_12,
|
||||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum nsCSSValue_Serialization { eNormalized = 0, eAuthorSpecified = 1, }
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsCSSValue_nsCSSValue_h_unnamed_10 {
|
||||
pub struct nsCSSValue_nsCSSValue_h_unnamed_12 {
|
||||
pub mInt: __BindgenUnionField<i32>,
|
||||
pub mFloat: __BindgenUnionField<f32>,
|
||||
pub mString: __BindgenUnionField<*mut nsStringBuffer>,
|
||||
|
@ -4252,15 +4334,15 @@ pub struct nsCSSValue_nsCSSValue_h_unnamed_10 {
|
|||
pub mFontFamilyList: __BindgenUnionField<*mut FontFamilyListRefCnt>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsCSSValue_nsCSSValue_h_unnamed_10 { }
|
||||
impl ::std::clone::Clone for nsCSSValue_nsCSSValue_h_unnamed_10 {
|
||||
impl nsCSSValue_nsCSSValue_h_unnamed_12 { }
|
||||
impl ::std::clone::Clone for nsCSSValue_nsCSSValue_h_unnamed_12 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsCSSValue_nsCSSValue_h_unnamed_10() {
|
||||
assert_eq!(::std::mem::size_of::<nsCSSValue_nsCSSValue_h_unnamed_10>() ,
|
||||
fn bindgen_test_layout_nsCSSValue_nsCSSValue_h_unnamed_12() {
|
||||
assert_eq!(::std::mem::size_of::<nsCSSValue_nsCSSValue_h_unnamed_12>() ,
|
||||
8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsCSSValue_nsCSSValue_h_unnamed_10>() ,
|
||||
assert_eq!(::std::mem::align_of::<nsCSSValue_nsCSSValue_h_unnamed_12>() ,
|
||||
8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -4581,7 +4663,7 @@ pub struct ArenaRefPtr<T> {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_11 {
|
||||
pub enum gfxFontConstants_h_unnamed_13 {
|
||||
eFeatureAlternates_historical = 0,
|
||||
eFeatureAlternates_stylistic = 1,
|
||||
eFeatureAlternates_styleset = 2,
|
||||
|
@ -4593,7 +4675,7 @@ pub enum gfxFontConstants_h_unnamed_11 {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_12 {
|
||||
pub enum gfxFontConstants_h_unnamed_14 {
|
||||
eFeatureEastAsian_jis78 = 0,
|
||||
eFeatureEastAsian_jis83 = 1,
|
||||
eFeatureEastAsian_jis90 = 2,
|
||||
|
@ -4607,7 +4689,7 @@ pub enum gfxFontConstants_h_unnamed_12 {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_13 {
|
||||
pub enum gfxFontConstants_h_unnamed_15 {
|
||||
eFeatureLigatures_none = 0,
|
||||
eFeatureLigatures_common = 1,
|
||||
eFeatureLigatures_no_common = 2,
|
||||
|
@ -4621,7 +4703,7 @@ pub enum gfxFontConstants_h_unnamed_13 {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_14 {
|
||||
pub enum gfxFontConstants_h_unnamed_16 {
|
||||
eFeatureNumeric_lining = 0,
|
||||
eFeatureNumeric_oldstyle = 1,
|
||||
eFeatureNumeric_proportional = 2,
|
||||
|
@ -4708,22 +4790,22 @@ pub enum nsStyleUnit {
|
|||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleCoord_h_unnamed_15 {
|
||||
pub struct nsStyleCoord_h_unnamed_17 {
|
||||
pub mInt: __BindgenUnionField<i32>,
|
||||
pub mFloat: __BindgenUnionField<f32>,
|
||||
pub mPointer: __BindgenUnionField<*mut ::std::os::raw::c_void>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleCoord_h_unnamed_15 { }
|
||||
impl ::std::clone::Clone for nsStyleCoord_h_unnamed_15 {
|
||||
impl nsStyleCoord_h_unnamed_17 { }
|
||||
impl ::std::clone::Clone for nsStyleCoord_h_unnamed_17 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleCoord_h_unnamed_15() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleCoord_h_unnamed_15>() , 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleCoord_h_unnamed_15>() , 8usize);
|
||||
fn bindgen_test_layout_nsStyleCoord_h_unnamed_17() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleCoord_h_unnamed_17>() , 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleCoord_h_unnamed_17>() , 8usize);
|
||||
}
|
||||
pub type nsStyleUnion = nsStyleCoord_h_unnamed_15;
|
||||
pub type nsStyleUnion = nsStyleCoord_h_unnamed_17;
|
||||
/**
|
||||
* Class that hold a single size specification used by the style
|
||||
* system. The size specification consists of two parts -- a number
|
||||
|
@ -4839,7 +4921,6 @@ fn bindgen_test_layout_imgRequestProxyStatic() {
|
|||
assert_eq!(::std::mem::size_of::<imgRequestProxyStatic>() , 128usize);
|
||||
assert_eq!(::std::mem::align_of::<imgRequestProxyStatic>() , 8usize);
|
||||
}
|
||||
pub enum nsIFrame { }
|
||||
pub enum nsStyleContext { }
|
||||
pub enum nsTextFrame { }
|
||||
#[repr(C)]
|
||||
|
@ -4917,27 +4998,27 @@ pub enum nsStyleImageType {
|
|||
pub struct nsStyleImage {
|
||||
pub mSubImages: u64,
|
||||
pub mType: nsStyleImageType,
|
||||
pub nsStyleImage_nsStyleStruct_h_unnamed_18: nsStyleImage_nsStyleStruct_h_unnamed_18,
|
||||
pub nsStyleImage_nsStyleStruct_h_unnamed_20: nsStyleImage_nsStyleStruct_h_unnamed_20,
|
||||
pub mCropRect: nsAutoPtr<nsStyleSides>,
|
||||
pub mImageTracked: bool,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleImage_nsStyleStruct_h_unnamed_18 {
|
||||
pub struct nsStyleImage_nsStyleStruct_h_unnamed_20 {
|
||||
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
|
||||
pub mGradient: __BindgenUnionField<*mut nsStyleGradient>,
|
||||
pub mElementId: __BindgenUnionField<*mut ::std::os::raw::c_ushort>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleImage_nsStyleStruct_h_unnamed_18 { }
|
||||
impl ::std::clone::Clone for nsStyleImage_nsStyleStruct_h_unnamed_18 {
|
||||
impl nsStyleImage_nsStyleStruct_h_unnamed_20 { }
|
||||
impl ::std::clone::Clone for nsStyleImage_nsStyleStruct_h_unnamed_20 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleImage_nsStyleStruct_h_unnamed_18() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleImage_nsStyleStruct_h_unnamed_18>()
|
||||
fn bindgen_test_layout_nsStyleImage_nsStyleStruct_h_unnamed_20() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleImage_nsStyleStruct_h_unnamed_20>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleImage_nsStyleStruct_h_unnamed_18>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleImage_nsStyleStruct_h_unnamed_20>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -4987,7 +5068,7 @@ pub struct nsStyleImageLayers {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum nsStyleImageLayers_nsStyleStruct_h_unnamed_19 {
|
||||
pub enum nsStyleImageLayers_nsStyleStruct_h_unnamed_21 {
|
||||
shorthand = 0,
|
||||
color = 1,
|
||||
image = 2,
|
||||
|
@ -5454,7 +5535,7 @@ fn bindgen_test_layout_nsStyleVisibility() {
|
|||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction {
|
||||
pub mType: nsTimingFunction_Type,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_20: nsTimingFunction_nsStyleStruct_h_unnamed_20,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_22: nsTimingFunction_nsStyleStruct_h_unnamed_22,
|
||||
}
|
||||
#[repr(i32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
|
@ -5481,56 +5562,56 @@ pub enum nsTimingFunction_StepSyntax {
|
|||
pub enum nsTimingFunction_Keyword { Implicit = 0, Explicit = 1, }
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_20 {
|
||||
pub mFunc: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21>,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22>,
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_22 {
|
||||
pub mFunc: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23>,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24>,
|
||||
pub _bindgen_data_: [u32; 4usize],
|
||||
}
|
||||
impl nsTimingFunction_nsStyleStruct_h_unnamed_20 { }
|
||||
impl ::std::clone::Clone for nsTimingFunction_nsStyleStruct_h_unnamed_20 {
|
||||
impl nsTimingFunction_nsStyleStruct_h_unnamed_22 { }
|
||||
impl ::std::clone::Clone for nsTimingFunction_nsStyleStruct_h_unnamed_22 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_20() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20>()
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_22() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22>()
|
||||
, 16usize);
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20>()
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22>()
|
||||
, 4usize);
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21 {
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23 {
|
||||
pub mX1: f32,
|
||||
pub mY1: f32,
|
||||
pub mX2: f32,
|
||||
pub mY2: f32,
|
||||
}
|
||||
impl ::std::clone::Clone for
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21 {
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21>()
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23>()
|
||||
, 16usize);
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21>()
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23>()
|
||||
, 4usize);
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22 {
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24 {
|
||||
pub mStepSyntax: nsTimingFunction_StepSyntax,
|
||||
pub mSteps: u32,
|
||||
}
|
||||
impl ::std::clone::Clone for
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22 {
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22>()
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22>()
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24>()
|
||||
, 4usize);
|
||||
}
|
||||
impl ::std::clone::Clone for nsTimingFunction {
|
||||
|
@ -5675,26 +5756,26 @@ pub enum nsStyleContentType {
|
|||
#[derive(Debug)]
|
||||
pub struct nsStyleContentData {
|
||||
pub mType: nsStyleContentType,
|
||||
pub mContent: nsStyleContentData_nsStyleStruct_h_unnamed_23,
|
||||
pub mContent: nsStyleContentData_nsStyleStruct_h_unnamed_25,
|
||||
pub mImageTracked: bool,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleContentData_nsStyleStruct_h_unnamed_23 {
|
||||
pub struct nsStyleContentData_nsStyleStruct_h_unnamed_25 {
|
||||
pub mString: __BindgenUnionField<*mut ::std::os::raw::c_ushort>,
|
||||
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
|
||||
pub mCounters: __BindgenUnionField<*mut Array>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleContentData_nsStyleStruct_h_unnamed_23 { }
|
||||
impl ::std::clone::Clone for nsStyleContentData_nsStyleStruct_h_unnamed_23 {
|
||||
impl nsStyleContentData_nsStyleStruct_h_unnamed_25 { }
|
||||
impl ::std::clone::Clone for nsStyleContentData_nsStyleStruct_h_unnamed_25 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleContentData_nsStyleStruct_h_unnamed_23() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleContentData_nsStyleStruct_h_unnamed_23>()
|
||||
fn bindgen_test_layout_nsStyleContentData_nsStyleStruct_h_unnamed_25() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleContentData_nsStyleStruct_h_unnamed_25>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleContentData_nsStyleStruct_h_unnamed_23>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleContentData_nsStyleStruct_h_unnamed_25>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -5828,26 +5909,26 @@ pub enum nsStyleSVGOpacitySource {
|
|||
#[repr(C)]
|
||||
#[derive(Debug)]
|
||||
pub struct nsStyleSVGPaint {
|
||||
pub mPaint: nsStyleSVGPaint_nsStyleStruct_h_unnamed_24,
|
||||
pub mPaint: nsStyleSVGPaint_nsStyleStruct_h_unnamed_26,
|
||||
pub mType: nsStyleSVGPaintType,
|
||||
pub mFallbackColor: nscolor,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleSVGPaint_nsStyleStruct_h_unnamed_24 {
|
||||
pub struct nsStyleSVGPaint_nsStyleStruct_h_unnamed_26 {
|
||||
pub mColor: __BindgenUnionField<nscolor>,
|
||||
pub mPaintServer: __BindgenUnionField<*mut nsIURI>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleSVGPaint_nsStyleStruct_h_unnamed_24 { }
|
||||
impl ::std::clone::Clone for nsStyleSVGPaint_nsStyleStruct_h_unnamed_24 {
|
||||
impl nsStyleSVGPaint_nsStyleStruct_h_unnamed_26 { }
|
||||
impl ::std::clone::Clone for nsStyleSVGPaint_nsStyleStruct_h_unnamed_26 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleSVGPaint_nsStyleStruct_h_unnamed_24() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_24>()
|
||||
fn bindgen_test_layout_nsStyleSVGPaint_nsStyleStruct_h_unnamed_26() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_26>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_24>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_26>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -5882,7 +5963,7 @@ pub struct nsStyleSVG {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum nsStyleSVG_nsStyleStruct_h_unnamed_25 {
|
||||
pub enum nsStyleSVG_nsStyleStruct_h_unnamed_27 {
|
||||
FILL_OPACITY_SOURCE_MASK = 3,
|
||||
STROKE_OPACITY_SOURCE_MASK = 12,
|
||||
STROKE_DASHARRAY_CONTEXT = 16,
|
||||
|
@ -5924,25 +6005,25 @@ fn bindgen_test_layout_nsStyleBasicShape() {
|
|||
#[derive(Debug)]
|
||||
pub struct nsStyleClipPath {
|
||||
pub mType: i32,
|
||||
pub nsStyleClipPath_nsStyleStruct_h_unnamed_26: nsStyleClipPath_nsStyleStruct_h_unnamed_26,
|
||||
pub nsStyleClipPath_nsStyleStruct_h_unnamed_28: nsStyleClipPath_nsStyleStruct_h_unnamed_28,
|
||||
pub mSizingBox: u8,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleClipPath_nsStyleStruct_h_unnamed_26 {
|
||||
pub struct nsStyleClipPath_nsStyleStruct_h_unnamed_28 {
|
||||
pub mBasicShape: __BindgenUnionField<*mut nsStyleBasicShape>,
|
||||
pub mURL: __BindgenUnionField<*mut nsIURI>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleClipPath_nsStyleStruct_h_unnamed_26 { }
|
||||
impl ::std::clone::Clone for nsStyleClipPath_nsStyleStruct_h_unnamed_26 {
|
||||
impl nsStyleClipPath_nsStyleStruct_h_unnamed_28 { }
|
||||
impl ::std::clone::Clone for nsStyleClipPath_nsStyleStruct_h_unnamed_28 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleClipPath_nsStyleStruct_h_unnamed_26() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_26>()
|
||||
fn bindgen_test_layout_nsStyleClipPath_nsStyleStruct_h_unnamed_28() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_28>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_26>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_28>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -5955,24 +6036,24 @@ fn bindgen_test_layout_nsStyleClipPath() {
|
|||
pub struct nsStyleFilter {
|
||||
pub mType: i32,
|
||||
pub mFilterParameter: nsStyleCoord,
|
||||
pub nsStyleFilter_nsStyleStruct_h_unnamed_27: nsStyleFilter_nsStyleStruct_h_unnamed_27,
|
||||
pub nsStyleFilter_nsStyleStruct_h_unnamed_29: nsStyleFilter_nsStyleStruct_h_unnamed_29,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleFilter_nsStyleStruct_h_unnamed_27 {
|
||||
pub struct nsStyleFilter_nsStyleStruct_h_unnamed_29 {
|
||||
pub mURL: __BindgenUnionField<*mut nsIURI>,
|
||||
pub mDropShadow: __BindgenUnionField<*mut nsCSSShadowArray>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleFilter_nsStyleStruct_h_unnamed_27 { }
|
||||
impl ::std::clone::Clone for nsStyleFilter_nsStyleStruct_h_unnamed_27 {
|
||||
impl nsStyleFilter_nsStyleStruct_h_unnamed_29 { }
|
||||
impl ::std::clone::Clone for nsStyleFilter_nsStyleStruct_h_unnamed_29 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleFilter_nsStyleStruct_h_unnamed_27() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleFilter_nsStyleStruct_h_unnamed_27>()
|
||||
fn bindgen_test_layout_nsStyleFilter_nsStyleStruct_h_unnamed_29() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleFilter_nsStyleStruct_h_unnamed_29>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleFilter_nsStyleStruct_h_unnamed_27>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleFilter_nsStyleStruct_h_unnamed_29>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
|
|
@ -188,6 +188,10 @@ pub const NS_ERROR_MODULE_BASE_OFFSET: ::std::os::raw::c_uint = 69;
|
|||
pub const MOZ_STRING_WITH_OBSOLETE_API: ::std::os::raw::c_uint = 1;
|
||||
pub const NSID_LENGTH: ::std::os::raw::c_uint = 39;
|
||||
pub const NS_NUMBER_OF_FLAGS_IN_REFCNT: ::std::os::raw::c_uint = 2;
|
||||
pub const _STL_PAIR_H: ::std::os::raw::c_uint = 1;
|
||||
pub const _GLIBCXX_UTILITY: ::std::os::raw::c_uint = 1;
|
||||
pub const DOM_USER_DATA: ::std::os::raw::c_uint = 1;
|
||||
pub const SMIL_MAPPED_ATTR_ANIMVAL: ::std::os::raw::c_uint = 2;
|
||||
pub const TWIPS_PER_POINT_INT: ::std::os::raw::c_uint = 20;
|
||||
pub const POINTS_PER_INCH_INT: ::std::os::raw::c_uint = 72;
|
||||
pub const NS_FONT_VARIANT_NORMAL: ::std::os::raw::c_uint = 0;
|
||||
|
@ -2739,6 +2743,84 @@ pub enum SheetParsingMode {
|
|||
pub struct HandleRefPtr<T> {
|
||||
pub mHandle: T,
|
||||
}
|
||||
pub enum nsAttrAndChildArray { }
|
||||
pub enum nsChildContentList { }
|
||||
pub enum nsCSSSelectorList { }
|
||||
pub enum nsDOMAttributeMap { }
|
||||
pub enum nsIAnimationObserver { }
|
||||
pub enum nsIDOMElement { }
|
||||
pub enum nsIDOMNodeList { }
|
||||
pub enum nsIEditor { }
|
||||
pub enum nsIFrame { }
|
||||
pub enum nsINodeList { }
|
||||
pub enum nsNodeSupportsWeakRefTearoff { }
|
||||
pub enum nsNodeWeakReference { }
|
||||
pub enum nsDOMMutationObserver { }
|
||||
pub enum ServoNodeData { }
|
||||
pub enum EventListenerManager { }
|
||||
pub enum BoxQuadOptions { }
|
||||
pub enum ConvertCoordinateOptions { }
|
||||
pub enum DOMPoint { }
|
||||
pub enum DOMQuad { }
|
||||
pub enum DOMRectReadOnly { }
|
||||
pub enum Element { }
|
||||
pub enum Text { }
|
||||
pub enum TextOrElementOrDocument { }
|
||||
pub enum DOMPointInit { }
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum NodeFlags {
|
||||
NODE_HAS_LISTENERMANAGER = 4,
|
||||
NODE_HAS_PROPERTIES = 8,
|
||||
NODE_IS_ANONYMOUS_ROOT = 16,
|
||||
NODE_IS_IN_NATIVE_ANONYMOUS_SUBTREE = 32,
|
||||
NODE_IS_NATIVE_ANONYMOUS_ROOT = 64,
|
||||
NODE_FORCE_XBL_BINDINGS = 128,
|
||||
NODE_MAY_BE_IN_BINDING_MNGR = 256,
|
||||
NODE_IS_EDITABLE = 512,
|
||||
NODE_MAY_HAVE_CLASS = 1024,
|
||||
NODE_IS_IN_SHADOW_TREE = 2048,
|
||||
NODE_HAS_EMPTY_SELECTOR = 4096,
|
||||
NODE_HAS_SLOW_SELECTOR = 8192,
|
||||
NODE_HAS_EDGE_CHILD_SELECTOR = 16384,
|
||||
NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS = 32768,
|
||||
NODE_ALL_SELECTOR_FLAGS = 61440,
|
||||
NODE_NEEDS_FRAME = 65536,
|
||||
NODE_DESCENDANTS_NEED_FRAMES = 131072,
|
||||
NODE_HAS_ACCESSKEY = 262144,
|
||||
NODE_HAS_DIRECTION_RTL = 524288,
|
||||
NODE_HAS_DIRECTION_LTR = 1048576,
|
||||
NODE_ALL_DIRECTION_FLAGS = 1572864,
|
||||
NODE_CHROME_ONLY_ACCESS = 2097152,
|
||||
NODE_IS_ROOT_OF_CHROME_ONLY_ACCESS = 4194304,
|
||||
NODE_IS_DIRTY_FOR_SERVO = 8388608,
|
||||
NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO = 16777216,
|
||||
NODE_TYPE_SPECIFIC_BITS_OFFSET = 23,
|
||||
}
|
||||
/**
|
||||
* Class used to detect unexpected mutations. To use the class create an
|
||||
* nsMutationGuard on the stack before unexpected mutations could occur.
|
||||
* You can then at any time call Mutated to check if any unexpected mutations
|
||||
* have occurred.
|
||||
*/
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsMutationGuard {
|
||||
pub mStartingGeneration: u64,
|
||||
}
|
||||
impl ::std::clone::Clone for nsMutationGuard {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsMutationGuard() {
|
||||
assert_eq!(::std::mem::size_of::<nsMutationGuard>() , 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsMutationGuard>() , 8usize);
|
||||
}
|
||||
extern "C" {
|
||||
#[link_name = "_ZN15nsMutationGuard11sGenerationE"]
|
||||
pub static mut nsMutationGuard_consts_sGeneration:
|
||||
::std::os::raw::c_ulong;
|
||||
}
|
||||
pub type Float = f32;
|
||||
#[repr(i8)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
|
@ -2970,7 +3052,7 @@ pub type gfxImageFormat = SurfaceFormat;
|
|||
pub struct RectCorner;
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum RectCorner_Types_h_unnamed_8 {
|
||||
pub enum RectCorner_Types_h_unnamed_10 {
|
||||
TopLeft = 0,
|
||||
TopRight = 1,
|
||||
BottomRight = 2,
|
||||
|
@ -4201,14 +4283,14 @@ pub enum nsCSSUnit {
|
|||
#[derive(Debug)]
|
||||
pub struct nsCSSValue {
|
||||
pub mUnit: nsCSSUnit,
|
||||
pub mValue: nsCSSValue_nsCSSValue_h_unnamed_10,
|
||||
pub mValue: nsCSSValue_nsCSSValue_h_unnamed_12,
|
||||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum nsCSSValue_Serialization { eNormalized = 0, eAuthorSpecified = 1, }
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsCSSValue_nsCSSValue_h_unnamed_10 {
|
||||
pub struct nsCSSValue_nsCSSValue_h_unnamed_12 {
|
||||
pub mInt: __BindgenUnionField<i32>,
|
||||
pub mFloat: __BindgenUnionField<f32>,
|
||||
pub mString: __BindgenUnionField<*mut nsStringBuffer>,
|
||||
|
@ -4231,15 +4313,15 @@ pub struct nsCSSValue_nsCSSValue_h_unnamed_10 {
|
|||
pub mFontFamilyList: __BindgenUnionField<*mut FontFamilyListRefCnt>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsCSSValue_nsCSSValue_h_unnamed_10 { }
|
||||
impl ::std::clone::Clone for nsCSSValue_nsCSSValue_h_unnamed_10 {
|
||||
impl nsCSSValue_nsCSSValue_h_unnamed_12 { }
|
||||
impl ::std::clone::Clone for nsCSSValue_nsCSSValue_h_unnamed_12 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsCSSValue_nsCSSValue_h_unnamed_10() {
|
||||
assert_eq!(::std::mem::size_of::<nsCSSValue_nsCSSValue_h_unnamed_10>() ,
|
||||
fn bindgen_test_layout_nsCSSValue_nsCSSValue_h_unnamed_12() {
|
||||
assert_eq!(::std::mem::size_of::<nsCSSValue_nsCSSValue_h_unnamed_12>() ,
|
||||
8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsCSSValue_nsCSSValue_h_unnamed_10>() ,
|
||||
assert_eq!(::std::mem::align_of::<nsCSSValue_nsCSSValue_h_unnamed_12>() ,
|
||||
8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -4560,7 +4642,7 @@ pub struct ArenaRefPtr<T> {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_11 {
|
||||
pub enum gfxFontConstants_h_unnamed_13 {
|
||||
eFeatureAlternates_historical = 0,
|
||||
eFeatureAlternates_stylistic = 1,
|
||||
eFeatureAlternates_styleset = 2,
|
||||
|
@ -4572,7 +4654,7 @@ pub enum gfxFontConstants_h_unnamed_11 {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_12 {
|
||||
pub enum gfxFontConstants_h_unnamed_14 {
|
||||
eFeatureEastAsian_jis78 = 0,
|
||||
eFeatureEastAsian_jis83 = 1,
|
||||
eFeatureEastAsian_jis90 = 2,
|
||||
|
@ -4586,7 +4668,7 @@ pub enum gfxFontConstants_h_unnamed_12 {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_13 {
|
||||
pub enum gfxFontConstants_h_unnamed_15 {
|
||||
eFeatureLigatures_none = 0,
|
||||
eFeatureLigatures_common = 1,
|
||||
eFeatureLigatures_no_common = 2,
|
||||
|
@ -4600,7 +4682,7 @@ pub enum gfxFontConstants_h_unnamed_13 {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum gfxFontConstants_h_unnamed_14 {
|
||||
pub enum gfxFontConstants_h_unnamed_16 {
|
||||
eFeatureNumeric_lining = 0,
|
||||
eFeatureNumeric_oldstyle = 1,
|
||||
eFeatureNumeric_proportional = 2,
|
||||
|
@ -4687,22 +4769,22 @@ pub enum nsStyleUnit {
|
|||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleCoord_h_unnamed_15 {
|
||||
pub struct nsStyleCoord_h_unnamed_17 {
|
||||
pub mInt: __BindgenUnionField<i32>,
|
||||
pub mFloat: __BindgenUnionField<f32>,
|
||||
pub mPointer: __BindgenUnionField<*mut ::std::os::raw::c_void>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleCoord_h_unnamed_15 { }
|
||||
impl ::std::clone::Clone for nsStyleCoord_h_unnamed_15 {
|
||||
impl nsStyleCoord_h_unnamed_17 { }
|
||||
impl ::std::clone::Clone for nsStyleCoord_h_unnamed_17 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleCoord_h_unnamed_15() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleCoord_h_unnamed_15>() , 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleCoord_h_unnamed_15>() , 8usize);
|
||||
fn bindgen_test_layout_nsStyleCoord_h_unnamed_17() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleCoord_h_unnamed_17>() , 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleCoord_h_unnamed_17>() , 8usize);
|
||||
}
|
||||
pub type nsStyleUnion = nsStyleCoord_h_unnamed_15;
|
||||
pub type nsStyleUnion = nsStyleCoord_h_unnamed_17;
|
||||
/**
|
||||
* Class that hold a single size specification used by the style
|
||||
* system. The size specification consists of two parts -- a number
|
||||
|
@ -4818,7 +4900,6 @@ fn bindgen_test_layout_imgRequestProxyStatic() {
|
|||
assert_eq!(::std::mem::size_of::<imgRequestProxyStatic>() , 128usize);
|
||||
assert_eq!(::std::mem::align_of::<imgRequestProxyStatic>() , 8usize);
|
||||
}
|
||||
pub enum nsIFrame { }
|
||||
pub enum nsStyleContext { }
|
||||
pub enum nsTextFrame { }
|
||||
#[repr(C)]
|
||||
|
@ -4896,26 +4977,26 @@ pub enum nsStyleImageType {
|
|||
pub struct nsStyleImage {
|
||||
pub mSubImages: u64,
|
||||
pub mType: nsStyleImageType,
|
||||
pub nsStyleImage_nsStyleStruct_h_unnamed_18: nsStyleImage_nsStyleStruct_h_unnamed_18,
|
||||
pub nsStyleImage_nsStyleStruct_h_unnamed_20: nsStyleImage_nsStyleStruct_h_unnamed_20,
|
||||
pub mCropRect: nsAutoPtr<nsStyleSides>,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleImage_nsStyleStruct_h_unnamed_18 {
|
||||
pub struct nsStyleImage_nsStyleStruct_h_unnamed_20 {
|
||||
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
|
||||
pub mGradient: __BindgenUnionField<*mut nsStyleGradient>,
|
||||
pub mElementId: __BindgenUnionField<*mut ::std::os::raw::c_ushort>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleImage_nsStyleStruct_h_unnamed_18 { }
|
||||
impl ::std::clone::Clone for nsStyleImage_nsStyleStruct_h_unnamed_18 {
|
||||
impl nsStyleImage_nsStyleStruct_h_unnamed_20 { }
|
||||
impl ::std::clone::Clone for nsStyleImage_nsStyleStruct_h_unnamed_20 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleImage_nsStyleStruct_h_unnamed_18() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleImage_nsStyleStruct_h_unnamed_18>()
|
||||
fn bindgen_test_layout_nsStyleImage_nsStyleStruct_h_unnamed_20() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleImage_nsStyleStruct_h_unnamed_20>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleImage_nsStyleStruct_h_unnamed_18>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleImage_nsStyleStruct_h_unnamed_20>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -4965,7 +5046,7 @@ pub struct nsStyleImageLayers {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum nsStyleImageLayers_nsStyleStruct_h_unnamed_19 {
|
||||
pub enum nsStyleImageLayers_nsStyleStruct_h_unnamed_21 {
|
||||
shorthand = 0,
|
||||
color = 1,
|
||||
image = 2,
|
||||
|
@ -5432,7 +5513,7 @@ fn bindgen_test_layout_nsStyleVisibility() {
|
|||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction {
|
||||
pub mType: nsTimingFunction_Type,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_20: nsTimingFunction_nsStyleStruct_h_unnamed_20,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_22: nsTimingFunction_nsStyleStruct_h_unnamed_22,
|
||||
}
|
||||
#[repr(i32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
|
@ -5459,56 +5540,56 @@ pub enum nsTimingFunction_StepSyntax {
|
|||
pub enum nsTimingFunction_Keyword { Implicit = 0, Explicit = 1, }
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_20 {
|
||||
pub mFunc: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21>,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22>,
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_22 {
|
||||
pub mFunc: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23>,
|
||||
pub nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24: __BindgenUnionField<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24>,
|
||||
pub _bindgen_data_: [u32; 4usize],
|
||||
}
|
||||
impl nsTimingFunction_nsStyleStruct_h_unnamed_20 { }
|
||||
impl ::std::clone::Clone for nsTimingFunction_nsStyleStruct_h_unnamed_20 {
|
||||
impl nsTimingFunction_nsStyleStruct_h_unnamed_22 { }
|
||||
impl ::std::clone::Clone for nsTimingFunction_nsStyleStruct_h_unnamed_22 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_20() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20>()
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_22() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22>()
|
||||
, 16usize);
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20>()
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22>()
|
||||
, 4usize);
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21 {
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23 {
|
||||
pub mX1: f32,
|
||||
pub mY1: f32,
|
||||
pub mX2: f32,
|
||||
pub mY2: f32,
|
||||
}
|
||||
impl ::std::clone::Clone for
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21 {
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21>()
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23>()
|
||||
, 16usize);
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_21>()
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_23>()
|
||||
, 4usize);
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22 {
|
||||
pub struct nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24 {
|
||||
pub mStepSyntax: nsTimingFunction_StepSyntax,
|
||||
pub mSteps: u32,
|
||||
}
|
||||
impl ::std::clone::Clone for
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22 {
|
||||
nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22>()
|
||||
fn bindgen_test_layout_nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24() {
|
||||
assert_eq!(::std::mem::size_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_20_nsStyleStruct_h_unnamed_22>()
|
||||
assert_eq!(::std::mem::align_of::<nsTimingFunction_nsStyleStruct_h_unnamed_22_nsStyleStruct_h_unnamed_24>()
|
||||
, 4usize);
|
||||
}
|
||||
impl ::std::clone::Clone for nsTimingFunction {
|
||||
|
@ -5653,25 +5734,25 @@ pub enum nsStyleContentType {
|
|||
#[derive(Debug)]
|
||||
pub struct nsStyleContentData {
|
||||
pub mType: nsStyleContentType,
|
||||
pub mContent: nsStyleContentData_nsStyleStruct_h_unnamed_23,
|
||||
pub mContent: nsStyleContentData_nsStyleStruct_h_unnamed_25,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleContentData_nsStyleStruct_h_unnamed_23 {
|
||||
pub struct nsStyleContentData_nsStyleStruct_h_unnamed_25 {
|
||||
pub mString: __BindgenUnionField<*mut ::std::os::raw::c_ushort>,
|
||||
pub mImage: __BindgenUnionField<*mut imgRequestProxy>,
|
||||
pub mCounters: __BindgenUnionField<*mut Array>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleContentData_nsStyleStruct_h_unnamed_23 { }
|
||||
impl ::std::clone::Clone for nsStyleContentData_nsStyleStruct_h_unnamed_23 {
|
||||
impl nsStyleContentData_nsStyleStruct_h_unnamed_25 { }
|
||||
impl ::std::clone::Clone for nsStyleContentData_nsStyleStruct_h_unnamed_25 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleContentData_nsStyleStruct_h_unnamed_23() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleContentData_nsStyleStruct_h_unnamed_23>()
|
||||
fn bindgen_test_layout_nsStyleContentData_nsStyleStruct_h_unnamed_25() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleContentData_nsStyleStruct_h_unnamed_25>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleContentData_nsStyleStruct_h_unnamed_23>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleContentData_nsStyleStruct_h_unnamed_25>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -5805,26 +5886,26 @@ pub enum nsStyleSVGOpacitySource {
|
|||
#[repr(C)]
|
||||
#[derive(Debug)]
|
||||
pub struct nsStyleSVGPaint {
|
||||
pub mPaint: nsStyleSVGPaint_nsStyleStruct_h_unnamed_24,
|
||||
pub mPaint: nsStyleSVGPaint_nsStyleStruct_h_unnamed_26,
|
||||
pub mType: nsStyleSVGPaintType,
|
||||
pub mFallbackColor: nscolor,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleSVGPaint_nsStyleStruct_h_unnamed_24 {
|
||||
pub struct nsStyleSVGPaint_nsStyleStruct_h_unnamed_26 {
|
||||
pub mColor: __BindgenUnionField<nscolor>,
|
||||
pub mPaintServer: __BindgenUnionField<*mut nsIURI>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleSVGPaint_nsStyleStruct_h_unnamed_24 { }
|
||||
impl ::std::clone::Clone for nsStyleSVGPaint_nsStyleStruct_h_unnamed_24 {
|
||||
impl nsStyleSVGPaint_nsStyleStruct_h_unnamed_26 { }
|
||||
impl ::std::clone::Clone for nsStyleSVGPaint_nsStyleStruct_h_unnamed_26 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleSVGPaint_nsStyleStruct_h_unnamed_24() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_24>()
|
||||
fn bindgen_test_layout_nsStyleSVGPaint_nsStyleStruct_h_unnamed_26() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_26>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_24>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleSVGPaint_nsStyleStruct_h_unnamed_26>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -5859,7 +5940,7 @@ pub struct nsStyleSVG {
|
|||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)]
|
||||
pub enum nsStyleSVG_nsStyleStruct_h_unnamed_25 {
|
||||
pub enum nsStyleSVG_nsStyleStruct_h_unnamed_27 {
|
||||
FILL_OPACITY_SOURCE_MASK = 3,
|
||||
STROKE_OPACITY_SOURCE_MASK = 12,
|
||||
STROKE_DASHARRAY_CONTEXT = 16,
|
||||
|
@ -5901,25 +5982,25 @@ fn bindgen_test_layout_nsStyleBasicShape() {
|
|||
#[derive(Debug)]
|
||||
pub struct nsStyleClipPath {
|
||||
pub mType: i32,
|
||||
pub nsStyleClipPath_nsStyleStruct_h_unnamed_26: nsStyleClipPath_nsStyleStruct_h_unnamed_26,
|
||||
pub nsStyleClipPath_nsStyleStruct_h_unnamed_28: nsStyleClipPath_nsStyleStruct_h_unnamed_28,
|
||||
pub mSizingBox: u8,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleClipPath_nsStyleStruct_h_unnamed_26 {
|
||||
pub struct nsStyleClipPath_nsStyleStruct_h_unnamed_28 {
|
||||
pub mBasicShape: __BindgenUnionField<*mut nsStyleBasicShape>,
|
||||
pub mURL: __BindgenUnionField<*mut nsIURI>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleClipPath_nsStyleStruct_h_unnamed_26 { }
|
||||
impl ::std::clone::Clone for nsStyleClipPath_nsStyleStruct_h_unnamed_26 {
|
||||
impl nsStyleClipPath_nsStyleStruct_h_unnamed_28 { }
|
||||
impl ::std::clone::Clone for nsStyleClipPath_nsStyleStruct_h_unnamed_28 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleClipPath_nsStyleStruct_h_unnamed_26() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_26>()
|
||||
fn bindgen_test_layout_nsStyleClipPath_nsStyleStruct_h_unnamed_28() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_28>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_26>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleClipPath_nsStyleStruct_h_unnamed_28>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
@ -5932,24 +6013,24 @@ fn bindgen_test_layout_nsStyleClipPath() {
|
|||
pub struct nsStyleFilter {
|
||||
pub mType: i32,
|
||||
pub mFilterParameter: nsStyleCoord,
|
||||
pub nsStyleFilter_nsStyleStruct_h_unnamed_27: nsStyleFilter_nsStyleStruct_h_unnamed_27,
|
||||
pub nsStyleFilter_nsStyleStruct_h_unnamed_29: nsStyleFilter_nsStyleStruct_h_unnamed_29,
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy)]
|
||||
pub struct nsStyleFilter_nsStyleStruct_h_unnamed_27 {
|
||||
pub struct nsStyleFilter_nsStyleStruct_h_unnamed_29 {
|
||||
pub mURL: __BindgenUnionField<*mut nsIURI>,
|
||||
pub mDropShadow: __BindgenUnionField<*mut nsCSSShadowArray>,
|
||||
pub _bindgen_data_: u64,
|
||||
}
|
||||
impl nsStyleFilter_nsStyleStruct_h_unnamed_27 { }
|
||||
impl ::std::clone::Clone for nsStyleFilter_nsStyleStruct_h_unnamed_27 {
|
||||
impl nsStyleFilter_nsStyleStruct_h_unnamed_29 { }
|
||||
impl ::std::clone::Clone for nsStyleFilter_nsStyleStruct_h_unnamed_29 {
|
||||
fn clone(&self) -> Self { *self }
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_nsStyleFilter_nsStyleStruct_h_unnamed_27() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleFilter_nsStyleStruct_h_unnamed_27>()
|
||||
fn bindgen_test_layout_nsStyleFilter_nsStyleStruct_h_unnamed_29() {
|
||||
assert_eq!(::std::mem::size_of::<nsStyleFilter_nsStyleStruct_h_unnamed_29>()
|
||||
, 8usize);
|
||||
assert_eq!(::std::mem::align_of::<nsStyleFilter_nsStyleStruct_h_unnamed_27>()
|
||||
assert_eq!(::std::mem::align_of::<nsStyleFilter_nsStyleStruct_h_unnamed_29>()
|
||||
, 8usize);
|
||||
}
|
||||
#[test]
|
||||
|
|
|
@ -74,7 +74,8 @@ COMPILATION_TARGETS = {
|
|||
"nsDataHashtable.h", "nsCSSScanner.h", "utility", "nsTArray",
|
||||
"pair", "SheetParsingMode.h", "StaticPtr.h", "nsProxyRelease.h",
|
||||
"mozilla/dom/AnimationEffectReadOnlyBinding.h",
|
||||
"/Types.h", # <- Disallow UnionTypes.h
|
||||
"/Types.h", # <- Disallow UnionTypes.h
|
||||
"nsINode.h", # <- For `NodeFlags`.
|
||||
],
|
||||
"blacklist": [
|
||||
"IsDestructibleFallbackImpl", "IsDestructibleFallback",
|
||||
|
@ -84,6 +85,7 @@ COMPILATION_TARGETS = {
|
|||
"_Itup_cat", "AnimationEffectTimingProperties",
|
||||
"FastAnimationEffectTimingProperties", "ComputedTimingProperties",
|
||||
"FastComputedTimingProperties",
|
||||
"nsINode",
|
||||
],
|
||||
"opaque_types": [
|
||||
"nsIntMargin", "nsIntPoint", "nsIntRect", "nsCOMArray",
|
||||
|
|
|
@ -15,7 +15,6 @@ extern crate libc;
|
|||
extern crate log;
|
||||
extern crate num_cpus;
|
||||
extern crate selectors;
|
||||
extern crate smallvec;
|
||||
#[macro_use(atom, ns)]
|
||||
extern crate string_cache;
|
||||
extern crate style;
|
||||
|
|
|
@ -14,6 +14,7 @@ use gecko_bindings::bindings::{Gecko_ElementState, Gecko_GetDocumentElement};
|
|||
use gecko_bindings::bindings::{Gecko_GetFirstChild, Gecko_GetFirstChildElement};
|
||||
use gecko_bindings::bindings::{Gecko_GetLastChild, Gecko_GetLastChildElement};
|
||||
use gecko_bindings::bindings::{Gecko_GetNextSibling, Gecko_GetNextSiblingElement};
|
||||
use gecko_bindings::bindings::{Gecko_GetNodeFlags, Gecko_SetNodeFlags, Gecko_UnsetNodeFlags};
|
||||
use gecko_bindings::bindings::{Gecko_GetParentElement, Gecko_GetParentNode};
|
||||
use gecko_bindings::bindings::{Gecko_GetPrevSibling, Gecko_GetPrevSiblingElement};
|
||||
use gecko_bindings::bindings::{Gecko_GetServoDeclarationBlock, Gecko_IsHTMLElementInHTMLDocument};
|
||||
|
@ -30,12 +31,10 @@ use selector_impl::{GeckoSelectorImpl, NonTSPseudoClass, PrivateStyleData};
|
|||
use selectors::Element;
|
||||
use selectors::matching::DeclarationBlock;
|
||||
use selectors::parser::{AttrSelector, NamespaceConstraint};
|
||||
use smallvec::VecLike;
|
||||
use std::marker::PhantomData;
|
||||
use std::ops::BitOr;
|
||||
use std::ptr;
|
||||
use std::slice;
|
||||
use std::str::from_utf8_unchecked;
|
||||
use std::sync::Arc;
|
||||
use string_cache::{Atom, BorrowedAtom, BorrowedNamespace, Namespace};
|
||||
use style::dom::{OpaqueNode, PresentationalHintsSynthetizer};
|
||||
|
@ -185,21 +184,44 @@ impl<'ln> TNode for GeckoNode<'ln> {
|
|||
}
|
||||
|
||||
fn is_dirty(&self) -> bool {
|
||||
// FIXME(bholley)
|
||||
true
|
||||
use gecko_bindings::structs::NodeFlags::*;
|
||||
// Return true unconditionally if we're not yet styled. This is a hack
|
||||
// and should go away soon.
|
||||
if unsafe { Gecko_GetNodeData(self.node) }.is_null() {
|
||||
return true;
|
||||
}
|
||||
|
||||
let flags = unsafe { Gecko_GetNodeFlags(self.node) };
|
||||
flags & (NODE_IS_DIRTY_FOR_SERVO as u32) != 0
|
||||
}
|
||||
|
||||
unsafe fn set_dirty(&self, _value: bool) {
|
||||
unimplemented!()
|
||||
unsafe fn set_dirty(&self, value: bool) {
|
||||
use gecko_bindings::structs::NodeFlags::*;
|
||||
if value {
|
||||
Gecko_SetNodeFlags(self.node, NODE_IS_DIRTY_FOR_SERVO as u32)
|
||||
} else {
|
||||
Gecko_UnsetNodeFlags(self.node, NODE_IS_DIRTY_FOR_SERVO as u32)
|
||||
}
|
||||
}
|
||||
|
||||
fn has_dirty_descendants(&self) -> bool {
|
||||
// FIXME(bholley)
|
||||
true
|
||||
use gecko_bindings::structs::NodeFlags::*;
|
||||
// Return true unconditionally if we're not yet styled. This is a hack
|
||||
// and should go away soon.
|
||||
if unsafe { Gecko_GetNodeData(self.node) }.is_null() {
|
||||
return true;
|
||||
}
|
||||
let flags = unsafe { Gecko_GetNodeFlags(self.node) };
|
||||
flags & (NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO as u32) != 0
|
||||
}
|
||||
|
||||
unsafe fn set_dirty_descendants(&self, _value: bool) {
|
||||
unimplemented!()
|
||||
unsafe fn set_dirty_descendants(&self, value: bool) {
|
||||
use gecko_bindings::structs::NodeFlags::*;
|
||||
if value {
|
||||
Gecko_SetNodeFlags(self.node, NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO as u32)
|
||||
} else {
|
||||
Gecko_UnsetNodeFlags(self.node, NODE_HAS_DIRTY_DESCENDANTS_FOR_SERVO as u32)
|
||||
}
|
||||
}
|
||||
|
||||
fn can_be_fragmented(&self) -> bool {
|
||||
|
@ -430,7 +452,8 @@ impl<'le> ::selectors::Element for GeckoElement<'le> {
|
|||
}
|
||||
|
||||
fn is_empty(&self) -> bool {
|
||||
unimplemented!()
|
||||
// XXX(emilio): Implement this properly.
|
||||
false
|
||||
}
|
||||
|
||||
fn get_local_name<'a>(&'a self) -> BorrowedAtom<'a> {
|
||||
|
@ -616,7 +639,3 @@ impl<'le> ElementExt for GeckoElement<'le> {
|
|||
self.match_non_ts_pseudo_class(NonTSPseudoClass::AnyLink)
|
||||
}
|
||||
}
|
||||
|
||||
unsafe fn reinterpret_string<'a>(ptr: *const ::libc::c_char, length: u32) -> Option<&'a str> {
|
||||
(ptr as *const u8).as_ref().map(|p| from_utf8_unchecked(slice::from_raw_parts(p, length as usize)))
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче