Skip to content
Permalink
Browse files

Backed out changeset 5b56ebe80e22 (bug 1400438) for heap write hazard…

…. r=backout

Backs out #18574
  • Loading branch information...
Gecko Backout authored and moz-servo-sync committed Sep 20, 2017
1 parent 98e3bb3 commit 7bcd57d3c6f395f870c0c432d95d0f05ed01239b
@@ -71,6 +71,7 @@ use gecko_bindings::structs::StyleBasicShapeType;
use gecko_bindings::structs::StyleShapeSource;
use gecko_bindings::structs::StyleTransition;
use gecko_bindings::structs::gfxFontFeatureValueSet;
use gecko_bindings::structs::nsBorderColors;
use gecko_bindings::structs::nsCSSCounterStyleRule;
use gecko_bindings::structs::nsCSSFontFaceRule;
use gecko_bindings::structs::nsCSSKeyword;
@@ -875,10 +876,22 @@ extern "C" {
extern "C" {
pub fn Gecko_EnsureMozBorderColors(aBorder: *mut nsStyleBorder);
}
extern "C" {
pub fn Gecko_ClearMozBorderColors(aBorder: *mut nsStyleBorder,
aSide: Side);
}
extern "C" {
pub fn Gecko_AppendMozBorderColors(aBorder: *mut nsStyleBorder,
aSide: Side, aColor: nscolor);
}
extern "C" {
pub fn Gecko_CopyMozBorderColors(aDest: *mut nsStyleBorder,
aSrc: *const nsStyleBorder, aSide: Side);
}
extern "C" {
pub fn Gecko_GetMozBorderColors(aBorder: *const nsStyleBorder,
aSide: Side) -> *const nsBorderColors;
}
extern "C" {
pub fn Gecko_FontFamilyList_Clear(aList: *mut FontFamilyList);
}
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleBorder {
pub mBorderColors: root::mozilla::UniquePtr<root::nsBorderColors>,
pub mBorderColors: *mut *mut root::nsBorderColors,
pub mBorderRadius: root::nsStyleCorners,
pub mBorderImageSource: root::nsStyleImage,
pub mBorderImageSlice: root::nsStyleSides,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsBorderColors {
pub mNext: *mut root::nsBorderColors,
pub mColor: root::nscolor,
}
#[test]
fn bindgen_test_layout_nsBorderColors() {
assert_eq!(::std::mem::size_of::<nsBorderColors>() , 16usize , concat
! ( "Size of: " , stringify ! ( nsBorderColors ) ));
assert_eq! (::std::mem::align_of::<nsBorderColors>() , 8usize , concat
! ( "Alignment of " , stringify ! ( nsBorderColors ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const nsBorderColors ) ) . mNext as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( nsBorderColors ) ,
"::" , stringify ! ( mNext ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const nsBorderColors ) ) . mColor as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( nsBorderColors ) ,
"::" , stringify ! ( mColor ) ));
}
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSShadowItem {
pub mXOffset: root::nscoord,
pub mYOffset: root::nscoord,
"Alignment of field: " , stringify ! ( nsCSSShadowArray )
, "::" , stringify ! ( mArray ) ));
}
#[repr(C)]
#[derive(Debug)]
pub struct nsBorderColors {
pub mColors: [root::nsTArray<::std::os::raw::c_uint>; 4usize],
}
#[test]
fn bindgen_test_layout_nsBorderColors() {
assert_eq!(::std::mem::size_of::<nsBorderColors>() , 32usize , concat
! ( "Size of: " , stringify ! ( nsBorderColors ) ));
assert_eq! (::std::mem::align_of::<nsBorderColors>() , 8usize , concat
! ( "Alignment of " , stringify ! ( nsBorderColors ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const nsBorderColors ) ) . mColors as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( nsBorderColors ) ,
"::" , stringify ! ( mColors ) ));
}
/// An object that allows sharing of arrays that store 'quotes' property
/// values. This is particularly important for inheritance, where we want
/// to share the same 'quotes' value with a parent style context.
root::RefPtr<root::nsCSSValueSharedList> ) ));
}
#[test]
fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsBorderColors>>()
, 8usize , concat ! (
"Size of template specialization: " , stringify ! (
root::mozilla::UniquePtr<root::nsBorderColors> ) ));
assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsBorderColors>>()
, 8usize , concat ! (
"Alignment of template specialization: " , stringify ! (
root::mozilla::UniquePtr<root::nsBorderColors> ) ));
}
#[test]
fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() ,
1usize , concat ! (
"Size of template specialization: " , stringify ! (
root::mozilla::DefaultDelete ) ));
assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() ,
1usize , concat ! (
"Alignment of template specialization: " , stringify ! (
root::mozilla::DefaultDelete ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleFilter>>()
, 8usize , concat ! (
root::nsTArray<::nsstring::nsStringRepr> ) ));
}
#[test]
fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation_2() {
assert_eq!(::std::mem::size_of::<::nsstring::nsStringRepr>() , 16usize ,
concat ! (
"Size of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
assert_eq!(::std::mem::align_of::<::nsstring::nsStringRepr>() , 8usize ,
concat ! (
"Alignment of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_202536_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! (
root::nsTArray<::nsstring::nsStringRepr> ) ));
}
#[test]
fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation_3() {
assert_eq!(::std::mem::size_of::<::nsstring::nsStringRepr>() , 16usize ,
concat ! (
"Size of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
assert_eq!(::std::mem::align_of::<::nsstring::nsStringRepr>() , 8usize ,
concat ! (
"Alignment of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_213307_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! (
));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_5() {
assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>()
, 8usize , concat ! (
"Size of template specialization: " , stringify ! (
root::nsTArray<::std::os::raw::c_uint> ) ));
assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>()
, 8usize , concat ! (
"Alignment of template specialization: " , stringify ! (
root::nsTArray<::std::os::raw::c_uint> ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr,
::nsstring::nsStringRepr>>>()
#[repr(C)]
#[derive(Debug)]
pub struct nsStyleBorder {
pub mBorderColors: root::mozilla::UniquePtr<root::nsBorderColors>,
pub mBorderColors: *mut *mut root::nsBorderColors,
pub mBorderRadius: root::nsStyleCorners,
pub mBorderImageSource: root::nsStyleImage,
pub mBorderImageSlice: root::nsStyleSides,
}
#[repr(C)]
#[derive(Debug)]
pub struct nsBorderColors {
pub mNext: *mut root::nsBorderColors,
pub mColor: root::nscolor,
}
#[test]
fn bindgen_test_layout_nsBorderColors() {
assert_eq!(::std::mem::size_of::<nsBorderColors>() , 16usize , concat
! ( "Size of: " , stringify ! ( nsBorderColors ) ));
assert_eq! (::std::mem::align_of::<nsBorderColors>() , 8usize , concat
! ( "Alignment of " , stringify ! ( nsBorderColors ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const nsBorderColors ) ) . mNext as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( nsBorderColors ) ,
"::" , stringify ! ( mNext ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const nsBorderColors ) ) . mColor as *
const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( nsBorderColors ) ,
"::" , stringify ! ( mColor ) ));
}
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSShadowItem {
pub mXOffset: root::nscoord,
pub mYOffset: root::nscoord,
"Alignment of field: " , stringify ! ( nsCSSShadowArray )
, "::" , stringify ! ( mArray ) ));
}
#[repr(C)]
#[derive(Debug)]
pub struct nsBorderColors {
pub mColors: [root::nsTArray<::std::os::raw::c_uint>; 4usize],
}
#[test]
fn bindgen_test_layout_nsBorderColors() {
assert_eq!(::std::mem::size_of::<nsBorderColors>() , 32usize , concat
! ( "Size of: " , stringify ! ( nsBorderColors ) ));
assert_eq! (::std::mem::align_of::<nsBorderColors>() , 8usize , concat
! ( "Alignment of " , stringify ! ( nsBorderColors ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const nsBorderColors ) ) . mColors as *
const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( nsBorderColors ) ,
"::" , stringify ! ( mColors ) ));
}
/// An object that allows sharing of arrays that store 'quotes' property
/// values. This is particularly important for inheritance, where we want
/// to share the same 'quotes' value with a parent style context.
root::RefPtr<root::nsCSSValueSharedList> ) ));
}
#[test]
fn __bindgen_test_layout_UniquePtr_open0_nsBorderColors_DefaultDelete_open1_nsBorderColors_close1_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::mozilla::UniquePtr<root::nsBorderColors>>()
, 8usize , concat ! (
"Size of template specialization: " , stringify ! (
root::mozilla::UniquePtr<root::nsBorderColors> ) ));
assert_eq!(::std::mem::align_of::<root::mozilla::UniquePtr<root::nsBorderColors>>()
, 8usize , concat ! (
"Alignment of template specialization: " , stringify ! (
root::mozilla::UniquePtr<root::nsBorderColors> ) ));
}
#[test]
fn __bindgen_test_layout_DefaultDelete_open0_nsBorderColors_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::mozilla::DefaultDelete>() ,
1usize , concat ! (
"Size of template specialization: " , stringify ! (
root::mozilla::DefaultDelete ) ));
assert_eq!(::std::mem::align_of::<root::mozilla::DefaultDelete>() ,
1usize , concat ! (
"Alignment of template specialization: " , stringify ! (
root::mozilla::DefaultDelete ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0_nsStyleFilter_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<root::nsStyleFilter>>()
, 8usize , concat ! (
root::nsTArray<::nsstring::nsStringRepr> ) ));
}
#[test]
fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation_2() {
assert_eq!(::std::mem::size_of::<::nsstring::nsStringRepr>() , 16usize ,
concat ! (
"Size of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
assert_eq!(::std::mem::align_of::<::nsstring::nsStringRepr>() , 8usize ,
concat ! (
"Alignment of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_200130_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! (
root::nsTArray<::nsstring::nsStringRepr> ) ));
}
#[test]
fn __bindgen_test_layout_nsTString_open0_char16_t_close0_instantiation_3() {
assert_eq!(::std::mem::size_of::<::nsstring::nsStringRepr>() , 16usize ,
concat ! (
"Size of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
assert_eq!(::std::mem::align_of::<::nsstring::nsStringRepr>() , 8usize ,
concat ! (
"Alignment of template specialization: " , stringify ! (
::nsstring::nsStringRepr ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0__bindgen_ty_id_210857_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<*mut root::mozilla::StyleSheet>>()
, 8usize , concat ! (
));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0_unsigned_int_close0_instantiation_5() {
assert_eq!(::std::mem::size_of::<root::nsTArray<::std::os::raw::c_uint>>()
, 8usize , concat ! (
"Size of template specialization: " , stringify ! (
root::nsTArray<::std::os::raw::c_uint> ) ));
assert_eq!(::std::mem::align_of::<root::nsTArray<::std::os::raw::c_uint>>()
, 8usize , concat ! (
"Alignment of template specialization: " , stringify ! (
root::nsTArray<::std::os::raw::c_uint> ) ));
}
#[test]
fn __bindgen_test_layout_nsTArray_open0_pair_open1_nsString_nsString_close1_close0_instantiation() {
assert_eq!(::std::mem::size_of::<root::nsTArray<root::std::pair<::nsstring::nsStringRepr,
::nsstring::nsStringRepr>>>()
Oops, something went wrong.

0 comments on commit 7bcd57d

Please sign in to comment.
You can’t perform that action at this time.