mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Auto merge of #18574 - upsuper:moz-border-colors-array, r=heycam
Use array instead of linked list for -moz-border-*-colors This is the Servo side change of [bug 1400438](https://bugzilla.mozilla.org/show_bug.cgi?id=1400438). (take 2) <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18574) <!-- Reviewable:end -->
This commit is contained in:
commit
b49fe47b7d
4 changed files with 176 additions and 102 deletions
|
@ -71,7 +71,6 @@ 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;
|
||||
|
@ -876,22 +875,10 @@ 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);
|
||||
}
|
||||
|
|
|
@ -14284,7 +14284,7 @@ pub mod root {
|
|||
#[repr(C)]
|
||||
#[derive(Debug)]
|
||||
pub struct nsStyleBorder {
|
||||
pub mBorderColors: *mut *mut root::nsBorderColors,
|
||||
pub mBorderColors: root::mozilla::UniquePtr<root::nsBorderColors>,
|
||||
pub mBorderRadius: root::nsStyleCorners,
|
||||
pub mBorderImageSource: root::nsStyleImage,
|
||||
pub mBorderImageSlice: root::nsStyleSides,
|
||||
|
@ -30544,29 +30544,6 @@ pub mod root {
|
|||
}
|
||||
#[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,
|
||||
|
@ -30651,6 +30628,23 @@ pub mod root {
|
|||
"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.
|
||||
|
@ -33519,6 +33513,28 @@ pub mod root {
|
|||
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 ! (
|
||||
|
@ -33574,6 +33590,17 @@ pub mod root {
|
|||
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 ! (
|
||||
|
@ -34806,6 +34833,17 @@ pub mod root {
|
|||
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 ! (
|
||||
|
@ -36704,6 +36742,17 @@ pub mod root {
|
|||
));
|
||||
}
|
||||
#[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>>>()
|
||||
|
|
|
@ -14131,7 +14131,7 @@ pub mod root {
|
|||
#[repr(C)]
|
||||
#[derive(Debug)]
|
||||
pub struct nsStyleBorder {
|
||||
pub mBorderColors: *mut *mut root::nsBorderColors,
|
||||
pub mBorderColors: root::mozilla::UniquePtr<root::nsBorderColors>,
|
||||
pub mBorderRadius: root::nsStyleCorners,
|
||||
pub mBorderImageSource: root::nsStyleImage,
|
||||
pub mBorderImageSlice: root::nsStyleSides,
|
||||
|
@ -30130,29 +30130,6 @@ pub mod root {
|
|||
}
|
||||
#[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,
|
||||
|
@ -30237,6 +30214,23 @@ pub mod root {
|
|||
"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.
|
||||
|
@ -33105,6 +33099,28 @@ pub mod root {
|
|||
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 ! (
|
||||
|
@ -33160,6 +33176,17 @@ pub mod root {
|
|||
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 ! (
|
||||
|
@ -34392,6 +34419,17 @@ pub mod root {
|
|||
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 ! (
|
||||
|
@ -36277,6 +36315,17 @@ pub mod root {
|
|||
));
|
||||
}
|
||||
#[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>>>()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue