Bug 1339314: stylo: update bindings for clip-path changes from bug 1336905; r?heycam draft
authorManish Goregaokar <manishearth@gmail.com>
Tue, 14 Feb 2017 00:25:04 -0800
changeset 487525 1ba84040aa1e8ebf945ea453d46896c30f9963c9
parent 487524 d0cdf97e7f210fddc63ca28f4cac7def30850769
child 546474 ab10a532dde6c1ded6ab96729810a505755f122c
push id46239
push userbmo:manishearth@gmail.com
push dateTue, 21 Feb 2017 17:39:43 +0000
reviewersheycam
bugs1339314, 1336905
milestone54.0a1
Bug 1339314: stylo: update bindings for clip-path changes from bug 1336905; r?heycam MozReview-Commit-ID: I6DFbn5VsEi
servo/components/style/build_gecko.rs
servo/components/style/gecko_bindings/bindings.rs
servo/components/style/gecko_bindings/structs_debug.rs
servo/components/style/gecko_bindings/structs_release.rs
servo/components/style/properties/gecko.mako.rs
--- a/servo/components/style/build_gecko.rs
+++ b/servo/components/style/build_gecko.rs
@@ -386,18 +386,18 @@ mod bindings {
             "ServoAttrSnapshot",
             "ServoBundledURI",
             "ServoElementSnapshot",
             "SheetParsingMode",
             "StaticRefPtr",
             "StyleAnimation",
             "StyleBasicShape",
             "StyleBasicShapeType",
-            "StyleClipPath",
             "StyleGeometryBox",
+            "StyleShapeSource",
             "StyleTransition",
             "mozilla::UniquePtr",
             "mozilla::DefaultDelete",
             "mozilla::Side",
             "mozilla::binding_danger::AssertAndSuppressCleanupPolicy",
             "RawServoAnimationValueBorrowedListBorrowed",
         ];
         let opaque_types = [
@@ -526,17 +526,17 @@ mod bindings {
             "FontFamilyList",
             "FontFamilyType",
             "Keyframe",
             "ServoBundledURI",
             "ServoElementSnapshot",
             "SheetParsingMode",
             "StyleBasicShape",
             "StyleBasicShapeType",
-            "StyleClipPath",
+            "StyleShapeSource",
             "nsCSSKeyword",
             "nsCSSPropertyID",
             "nsCSSShadowArray",
             "nsCSSValue",
             "nsCSSValueSharedList",
             "nsChangeHint",
             "nsCursorImage",
             "nsFont",
--- a/servo/components/style/gecko_bindings/bindings.rs
+++ b/servo/components/style/gecko_bindings/bindings.rs
@@ -21,17 +21,17 @@ use gecko_bindings::structs::TraversalRo
 use gecko_bindings::structs::FontFamilyList;
 use gecko_bindings::structs::FontFamilyType;
 use gecko_bindings::structs::Keyframe;
 use gecko_bindings::structs::ServoBundledURI;
 use gecko_bindings::structs::ServoElementSnapshot;
 use gecko_bindings::structs::SheetParsingMode;
 use gecko_bindings::structs::StyleBasicShape;
 use gecko_bindings::structs::StyleBasicShapeType;
-use gecko_bindings::structs::StyleClipPath;
+use gecko_bindings::structs::StyleShapeSource;
 use gecko_bindings::structs::nsCSSKeyword;
 use gecko_bindings::structs::nsCSSPropertyID;
 use gecko_bindings::structs::nsCSSShadowArray;
 use gecko_bindings::structs::nsCSSValue;
 use gecko_bindings::structs::nsCSSValueSharedList;
 use gecko_bindings::structs::nsChangeHint;
 use gecko_bindings::structs::nsCursorImage;
 use gecko_bindings::structs::nsFont;
@@ -686,28 +686,28 @@ extern "C" {
                                  value: *mut nsStyleUnion);
 }
 extern "C" {
     pub fn Gecko_SetStyleCoordCalcValue(unit: *mut nsStyleUnit,
                                         value: *mut nsStyleUnion,
                                         calc: nsStyleCoord_CalcValue);
 }
 extern "C" {
-    pub fn Gecko_CopyClipPathValueFrom(dst: *mut StyleClipPath,
-                                       src: *const StyleClipPath);
+    pub fn Gecko_CopyClipPathValueFrom(dst: *mut StyleShapeSource,
+                                       src: *const StyleShapeSource);
 }
 extern "C" {
-    pub fn Gecko_DestroyClipPath(clip: *mut StyleClipPath);
+    pub fn Gecko_DestroyClipPath(clip: *mut StyleShapeSource);
 }
 extern "C" {
     pub fn Gecko_NewBasicShape(type_: StyleBasicShapeType)
      -> *mut StyleBasicShape;
 }
 extern "C" {
-    pub fn Gecko_StyleClipPath_SetURLValue(clip: *mut StyleClipPath,
+    pub fn Gecko_StyleClipPath_SetURLValue(clip: *mut StyleShapeSource,
                                            uri: ServoBundledURI);
 }
 extern "C" {
     pub fn Gecko_ResetFilters(effects: *mut nsStyleEffects, new_len: usize);
 }
 extern "C" {
     pub fn Gecko_CopyFiltersFrom(aSrc: *mut nsStyleEffects,
                                  aDest: *mut nsStyleEffects);
--- a/servo/components/style/gecko_bindings/structs_debug.rs
+++ b/servo/components/style/gecko_bindings/structs_debug.rs
@@ -5714,25 +5714,16 @@ pub mod root {
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleFloatEdge { ContentBox = 0, MarginBox = 1, }
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleHyphens { None = 0, Manual = 1, Auto = 2, }
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-        pub enum StyleShapeOutsideShapeBox {
-            NoBox = 0,
-            Content = 1,
-            Padding = 2,
-            Border = 3,
-            Margin = 4,
-        }
-        #[repr(u8)]
-        #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleShapeRadius { ClosestSide = 0, FarthestSide = 1, }
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleShapeSourceType {
             None = 0,
             URL = 1,
             Shape = 2,
             Box = 3,
@@ -7008,33 +6999,76 @@ pub mod root {
             assert_eq! (unsafe {
                         & ( * ( 0 as * const StyleBasicShape ) ) . mRadius as
                         * const _ as usize } , 48usize , concat ! (
                         "Alignment of field: " , stringify ! ( StyleBasicShape
                         ) , "::" , stringify ! ( mRadius ) ));
         }
         #[repr(C)]
         #[derive(Debug)]
-        pub struct StyleShapeSource<ReferenceBox> {
-            pub __bindgen_anon_1: root::mozilla::StyleShapeSource__bindgen_ty_1<ReferenceBox>,
+        pub struct StyleShapeSource {
+            pub __bindgen_anon_1: root::mozilla::StyleShapeSource__bindgen_ty_1,
             pub mType: root::mozilla::StyleShapeSourceType,
-            pub mReferenceBox: ReferenceBox,
-        }
-        #[repr(C)]
-        #[derive(Debug, Copy, Clone)]
-        pub struct StyleShapeSource__bindgen_ty_1<ReferenceBox> {
+            pub mReferenceBox: root::mozilla::StyleGeometryBox,
+        }
+        #[repr(C)]
+        #[derive(Debug, Copy)]
+        pub struct StyleShapeSource__bindgen_ty_1 {
             pub mBasicShape: root::__BindgenUnionField<*mut root::mozilla::StyleBasicShape>,
             pub mURL: root::__BindgenUnionField<*mut root::mozilla::css::URLValue>,
             pub bindgen_union_field: u64,
-            pub _phantom_0: ::std::marker::PhantomData<ReferenceBox>,
-        }
-        pub type StyleClipPath =
-            root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>;
-        pub type StyleShapeOutside =
-            root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>;
+        }
+        #[test]
+        fn bindgen_test_layout_StyleShapeSource__bindgen_ty_1() {
+            assert_eq!(::std::mem::size_of::<StyleShapeSource__bindgen_ty_1>()
+                       , 8usize , concat ! (
+                       "Size of: " , stringify ! (
+                       StyleShapeSource__bindgen_ty_1 ) ));
+            assert_eq! (::std::mem::align_of::<StyleShapeSource__bindgen_ty_1>()
+                        , 8usize , concat ! (
+                        "Alignment of " , stringify ! (
+                        StyleShapeSource__bindgen_ty_1 ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource__bindgen_ty_1 )
+                        ) . mBasicShape as * const _ as usize } , 0usize ,
+                        concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource__bindgen_ty_1 ) , "::" , stringify !
+                        ( mBasicShape ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource__bindgen_ty_1 )
+                        ) . mURL as * const _ as usize } , 0usize , concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource__bindgen_ty_1 ) , "::" , stringify !
+                        ( mURL ) ));
+        }
+        impl Clone for StyleShapeSource__bindgen_ty_1 {
+            fn clone(&self) -> Self { *self }
+        }
+        #[test]
+        fn bindgen_test_layout_StyleShapeSource() {
+            assert_eq!(::std::mem::size_of::<StyleShapeSource>() , 16usize ,
+                       concat ! (
+                       "Size of: " , stringify ! ( StyleShapeSource ) ));
+            assert_eq! (::std::mem::align_of::<StyleShapeSource>() , 8usize ,
+                        concat ! (
+                        "Alignment of " , stringify ! ( StyleShapeSource ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource ) ) . mType as *
+                        const _ as usize } , 8usize , concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource ) , "::" , stringify ! ( mType ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource ) ) .
+                        mReferenceBox as * const _ as usize } , 9usize ,
+                        concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource ) , "::" , stringify ! (
+                        mReferenceBox ) ));
+        }
         /**
  * A property-value pair specified on a keyframe.
  */
         #[repr(C)]
         #[derive(Debug)]
         pub struct PropertyValuePair {
             pub mProperty: root::nsCSSPropertyID,
             pub mValue: root::nsCSSValue,
@@ -21279,17 +21313,17 @@ pub mod root {
         pub mAnimationTimingFunctionCount: u32,
         pub mAnimationDurationCount: u32,
         pub mAnimationDelayCount: u32,
         pub mAnimationNameCount: u32,
         pub mAnimationDirectionCount: u32,
         pub mAnimationFillModeCount: u32,
         pub mAnimationPlayStateCount: u32,
         pub mAnimationIterationCountCount: u32,
-        pub mShapeOutside: root::mozilla::StyleShapeOutside,
+        pub mShapeOutside: root::mozilla::StyleShapeSource,
     }
     #[test]
     fn bindgen_test_layout_nsStyleDisplay() {
         assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat
                    ! ( "Size of: " , stringify ! ( nsStyleDisplay ) ));
         assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat
                     ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) ));
         assert_eq! (unsafe {
@@ -24956,17 +24990,17 @@ pub mod root {
                     as * const _ as usize } , 8usize , concat ! (
                     "Alignment of field: " , stringify ! ( nsStyleFilter ) ,
                     "::" , stringify ! ( mFilterParameter ) ));
     }
     #[repr(C)]
     #[derive(Debug)]
     pub struct nsStyleSVGReset {
         pub mMask: root::nsStyleImageLayers,
-        pub mClipPath: root::mozilla::StyleClipPath,
+        pub mClipPath: root::mozilla::StyleShapeSource,
         pub mStopColor: root::nscolor,
         pub mFloodColor: root::nscolor,
         pub mLightingColor: root::nscolor,
         pub mStopOpacity: f32,
         pub mFloodOpacity: f32,
         pub mDominantBaseline: u8,
         pub mVectorEffect: u8,
         pub mMaskType: u8,
@@ -27016,86 +27050,60 @@ pub mod root {
                                                       ::nsstring::nsStringRepr>>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>
                    ) ));
     }
     #[test]
     fn __bindgen_test_layout_template_98() {
-        assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>()
-                   , 16usize , concat ! (
-                   "Size of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>
-                   ) ));
-        assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>()
-                   , 8usize , concat ! (
-                   "Alignment of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>
-                   ) ));
-    }
-    #[test]
-    fn __bindgen_test_layout_template_99() {
-        assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>()
-                   , 16usize , concat ! (
-                   "Size of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>
-                   ) ));
-        assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>()
-                   , 8usize , concat ! (
-                   "Alignment of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>
-                   ) ));
-    }
-    #[test]
-    fn __bindgen_test_layout_template_100() {
         assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat
                    ! (
                    "Size of template specialization: " , stringify ! (
                    [u64; 18usize] ) ));
         assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat
                    ! (
                    "Alignment of template specialization: " , stringify ! (
                    [u64; 18usize] ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_101() {
+    fn __bindgen_test_layout_template_99() {
         assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>()
                    , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! (
                    root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>
                    ) ));
         assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>
                    ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_102() {
+    fn __bindgen_test_layout_template_100() {
         assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>()
                    , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! (
                    root::RefPtr<root::mozilla::dom::DOMRect> ) ));
         assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMRect>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::RefPtr<root::mozilla::dom::DOMRect> ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_103() {
+    fn __bindgen_test_layout_template_101() {
         assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! ( u64 )
                    ));
         assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    u64 ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_104() {
+    fn __bindgen_test_layout_template_102() {
         assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
                    , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! (
                    root::nsTArray<*mut root::mozilla::css::DocumentRule> ) ));
         assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::nsTArray<*mut root::mozilla::css::DocumentRule> ) ));
--- a/servo/components/style/gecko_bindings/structs_release.rs
+++ b/servo/components/style/gecko_bindings/structs_release.rs
@@ -5554,25 +5554,16 @@ pub mod root {
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleFloatEdge { ContentBox = 0, MarginBox = 1, }
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleHyphens { None = 0, Manual = 1, Auto = 2, }
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
-        pub enum StyleShapeOutsideShapeBox {
-            NoBox = 0,
-            Content = 1,
-            Padding = 2,
-            Border = 3,
-            Margin = 4,
-        }
-        #[repr(u8)]
-        #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleShapeRadius { ClosestSide = 0, FarthestSide = 1, }
         #[repr(u8)]
         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
         pub enum StyleShapeSourceType {
             None = 0,
             URL = 1,
             Shape = 2,
             Box = 3,
@@ -6821,33 +6812,76 @@ pub mod root {
             assert_eq! (unsafe {
                         & ( * ( 0 as * const StyleBasicShape ) ) . mRadius as
                         * const _ as usize } , 48usize , concat ! (
                         "Alignment of field: " , stringify ! ( StyleBasicShape
                         ) , "::" , stringify ! ( mRadius ) ));
         }
         #[repr(C)]
         #[derive(Debug)]
-        pub struct StyleShapeSource<ReferenceBox> {
-            pub __bindgen_anon_1: root::mozilla::StyleShapeSource__bindgen_ty_1<ReferenceBox>,
+        pub struct StyleShapeSource {
+            pub __bindgen_anon_1: root::mozilla::StyleShapeSource__bindgen_ty_1,
             pub mType: root::mozilla::StyleShapeSourceType,
-            pub mReferenceBox: ReferenceBox,
-        }
-        #[repr(C)]
-        #[derive(Debug, Copy, Clone)]
-        pub struct StyleShapeSource__bindgen_ty_1<ReferenceBox> {
+            pub mReferenceBox: root::mozilla::StyleGeometryBox,
+        }
+        #[repr(C)]
+        #[derive(Debug, Copy)]
+        pub struct StyleShapeSource__bindgen_ty_1 {
             pub mBasicShape: root::__BindgenUnionField<*mut root::mozilla::StyleBasicShape>,
             pub mURL: root::__BindgenUnionField<*mut root::mozilla::css::URLValue>,
             pub bindgen_union_field: u64,
-            pub _phantom_0: ::std::marker::PhantomData<ReferenceBox>,
-        }
-        pub type StyleClipPath =
-            root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>;
-        pub type StyleShapeOutside =
-            root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>;
+        }
+        #[test]
+        fn bindgen_test_layout_StyleShapeSource__bindgen_ty_1() {
+            assert_eq!(::std::mem::size_of::<StyleShapeSource__bindgen_ty_1>()
+                       , 8usize , concat ! (
+                       "Size of: " , stringify ! (
+                       StyleShapeSource__bindgen_ty_1 ) ));
+            assert_eq! (::std::mem::align_of::<StyleShapeSource__bindgen_ty_1>()
+                        , 8usize , concat ! (
+                        "Alignment of " , stringify ! (
+                        StyleShapeSource__bindgen_ty_1 ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource__bindgen_ty_1 )
+                        ) . mBasicShape as * const _ as usize } , 0usize ,
+                        concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource__bindgen_ty_1 ) , "::" , stringify !
+                        ( mBasicShape ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource__bindgen_ty_1 )
+                        ) . mURL as * const _ as usize } , 0usize , concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource__bindgen_ty_1 ) , "::" , stringify !
+                        ( mURL ) ));
+        }
+        impl Clone for StyleShapeSource__bindgen_ty_1 {
+            fn clone(&self) -> Self { *self }
+        }
+        #[test]
+        fn bindgen_test_layout_StyleShapeSource() {
+            assert_eq!(::std::mem::size_of::<StyleShapeSource>() , 16usize ,
+                       concat ! (
+                       "Size of: " , stringify ! ( StyleShapeSource ) ));
+            assert_eq! (::std::mem::align_of::<StyleShapeSource>() , 8usize ,
+                        concat ! (
+                        "Alignment of " , stringify ! ( StyleShapeSource ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource ) ) . mType as *
+                        const _ as usize } , 8usize , concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource ) , "::" , stringify ! ( mType ) ));
+            assert_eq! (unsafe {
+                        & ( * ( 0 as * const StyleShapeSource ) ) .
+                        mReferenceBox as * const _ as usize } , 9usize ,
+                        concat ! (
+                        "Alignment of field: " , stringify ! (
+                        StyleShapeSource ) , "::" , stringify ! (
+                        mReferenceBox ) ));
+        }
         /**
  * A property-value pair specified on a keyframe.
  */
         #[repr(C)]
         #[derive(Debug)]
         pub struct PropertyValuePair {
             pub mProperty: root::nsCSSPropertyID,
             pub mValue: root::nsCSSValue,
@@ -20678,17 +20712,17 @@ pub mod root {
         pub mAnimationTimingFunctionCount: u32,
         pub mAnimationDurationCount: u32,
         pub mAnimationDelayCount: u32,
         pub mAnimationNameCount: u32,
         pub mAnimationDirectionCount: u32,
         pub mAnimationFillModeCount: u32,
         pub mAnimationPlayStateCount: u32,
         pub mAnimationIterationCountCount: u32,
-        pub mShapeOutside: root::mozilla::StyleShapeOutside,
+        pub mShapeOutside: root::mozilla::StyleShapeSource,
     }
     #[test]
     fn bindgen_test_layout_nsStyleDisplay() {
         assert_eq!(::std::mem::size_of::<nsStyleDisplay>() , 416usize , concat
                    ! ( "Size of: " , stringify ! ( nsStyleDisplay ) ));
         assert_eq! (::std::mem::align_of::<nsStyleDisplay>() , 8usize , concat
                     ! ( "Alignment of " , stringify ! ( nsStyleDisplay ) ));
         assert_eq! (unsafe {
@@ -24354,17 +24388,17 @@ pub mod root {
                     as * const _ as usize } , 8usize , concat ! (
                     "Alignment of field: " , stringify ! ( nsStyleFilter ) ,
                     "::" , stringify ! ( mFilterParameter ) ));
     }
     #[repr(C)]
     #[derive(Debug)]
     pub struct nsStyleSVGReset {
         pub mMask: root::nsStyleImageLayers,
-        pub mClipPath: root::mozilla::StyleClipPath,
+        pub mClipPath: root::mozilla::StyleShapeSource,
         pub mStopColor: root::nscolor,
         pub mFloodColor: root::nscolor,
         pub mLightingColor: root::nscolor,
         pub mStopOpacity: f32,
         pub mFloodOpacity: f32,
         pub mDominantBaseline: u8,
         pub mVectorEffect: u8,
         pub mMaskType: u8,
@@ -26414,86 +26448,60 @@ pub mod root {
                                                       ::nsstring::nsStringRepr>>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::nsTArray<root::std::pair<::nsstring::nsStringRepr, ::nsstring::nsStringRepr>>
                    ) ));
     }
     #[test]
     fn __bindgen_test_layout_template_98() {
-        assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>()
-                   , 16usize , concat ! (
-                   "Size of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>
-                   ) ));
-        assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>>()
-                   , 8usize , concat ! (
-                   "Alignment of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleGeometryBox>
-                   ) ));
-    }
-    #[test]
-    fn __bindgen_test_layout_template_99() {
-        assert_eq!(::std::mem::size_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>()
-                   , 16usize , concat ! (
-                   "Size of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>
-                   ) ));
-        assert_eq!(::std::mem::align_of::<root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>>()
-                   , 8usize , concat ! (
-                   "Alignment of template specialization: " , stringify ! (
-                   root::mozilla::StyleShapeSource<root::mozilla::StyleShapeOutsideShapeBox>
-                   ) ));
-    }
-    #[test]
-    fn __bindgen_test_layout_template_100() {
         assert_eq!(::std::mem::size_of::<[u64; 18usize]>() , 144usize , concat
                    ! (
                    "Size of template specialization: " , stringify ! (
                    [u64; 18usize] ) ));
         assert_eq!(::std::mem::align_of::<[u64; 18usize]>() , 8usize , concat
                    ! (
                    "Alignment of template specialization: " , stringify ! (
                    [u64; 18usize] ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_101() {
+    fn __bindgen_test_layout_template_99() {
         assert_eq!(::std::mem::size_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>()
                    , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! (
                    root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>
                    ) ));
         assert_eq!(::std::mem::align_of::<root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::nsTArray<root::mozilla::DisplayItemClip_RoundedRect>
                    ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_102() {
+    fn __bindgen_test_layout_template_100() {
         assert_eq!(::std::mem::size_of::<root::RefPtr<root::mozilla::dom::DOMRect>>()
                    , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! (
                    root::RefPtr<root::mozilla::dom::DOMRect> ) ));
         assert_eq!(::std::mem::align_of::<root::RefPtr<root::mozilla::dom::DOMRect>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::RefPtr<root::mozilla::dom::DOMRect> ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_103() {
+    fn __bindgen_test_layout_template_101() {
         assert_eq!(::std::mem::size_of::<u64>() , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! ( u64 )
                    ));
         assert_eq!(::std::mem::align_of::<u64>() , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    u64 ) ));
     }
     #[test]
-    fn __bindgen_test_layout_template_104() {
+    fn __bindgen_test_layout_template_102() {
         assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
                    , 8usize , concat ! (
                    "Size of template specialization: " , stringify ! (
                    root::nsTArray<*mut root::mozilla::css::DocumentRule> ) ));
         assert_eq!(::std::mem::align_of::<root::nsTArray<*mut root::mozilla::css::DocumentRule>>()
                    , 8usize , concat ! (
                    "Alignment of template specialization: " , stringify ! (
                    root::nsTArray<*mut root::mozilla::css::DocumentRule> ) ));
--- a/servo/components/style/properties/gecko.mako.rs
+++ b/servo/components/style/properties/gecko.mako.rs
@@ -2756,17 +2756,17 @@ clip-path
             T::intersect => structs::NS_STYLE_MASK_COMPOSITE_INTERSECT as u8,
             T::exclude => structs::NS_STYLE_MASK_COMPOSITE_EXCLUDE as u8,
         }
     </%self:simple_image_array_property>
     pub fn set_clip_path(&mut self, v: longhands::clip_path::computed_value::T) {
         use gecko_bindings::bindings::{Gecko_NewBasicShape, Gecko_DestroyClipPath};
         use gecko_bindings::structs::StyleGeometryBox;
         use gecko_bindings::structs::{StyleBasicShape, StyleBasicShapeType, StyleShapeSourceType};
-        use gecko_bindings::structs::{StyleClipPath, StyleFillRule};
+        use gecko_bindings::structs::{StyleFillRule, StyleShapeSource};
         use gecko::conversions::basic_shape::set_corners_from_radius;
         use gecko::values::GeckoStyleCoordConvertible;
         use values::computed::basic_shape::*;
         let ref mut clip_path = self.gecko.mClipPath;
         // clean up existing struct
         unsafe { Gecko_DestroyClipPath(clip_path) };
 
         clip_path.mType = StyleShapeSourceType::None;
@@ -2784,17 +2784,17 @@ clip-path
                 clip_path.mReferenceBox = reference.into();
                 clip_path.mType = StyleShapeSourceType::Box;
             }
             ShapeSource::Shape(servo_shape, maybe_box) => {
                 clip_path.mReferenceBox = maybe_box.map(Into::into)
                                                    .unwrap_or(StyleGeometryBox::NoBox);
                 clip_path.mType = StyleShapeSourceType::Shape;
 
-                fn init_shape(clip_path: &mut StyleClipPath, ty: StyleBasicShapeType) -> &mut StyleBasicShape {
+                fn init_shape(clip_path: &mut StyleShapeSource, ty: StyleBasicShapeType) -> &mut StyleBasicShape {
                     unsafe {
                         // We have to be very careful to avoid a copy here!
                         let ref mut union = clip_path.__bindgen_anon_1;
                         let mut shape: &mut *mut StyleBasicShape = union.mBasicShape.as_mut();
                         *shape = Gecko_NewBasicShape(ty);
                         &mut **shape
                     }
                 }