mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Add Rust APIs for interacting with Arc<String> (bug 1397971).
This commit is contained in:
parent
9dd0513647
commit
1a57bad2a1
5 changed files with 173 additions and 38 deletions
|
@ -1851,17 +1851,52 @@ pub mod root {
|
|||
pub vtable_: *const URLValueData__bindgen_vtable,
|
||||
pub mRefCnt: root::mozilla::ThreadSafeAutoRefCnt,
|
||||
pub mURI: root::nsMainThreadPtrHandle<root::nsIURI>,
|
||||
pub mString: ::nsstring::nsStringRepr,
|
||||
pub mExtraData: root::RefPtr<root::mozilla::URLExtraData>,
|
||||
pub mURIResolved: bool,
|
||||
pub mIsLocalRef: [u8; 2usize],
|
||||
pub mMightHaveRef: [u8; 2usize],
|
||||
pub mStrings: root::mozilla::css::URLValueData_RustOrGeckoString,
|
||||
pub mUsingRustString: bool,
|
||||
}
|
||||
pub type URLValueData_HasThreadSafeRefCnt =
|
||||
root::mozilla::TrueType;
|
||||
#[repr(C)]
|
||||
#[derive(Debug)]
|
||||
pub struct URLValueData_RustOrGeckoString {
|
||||
pub mString: root::__BindgenUnionField<::nsstring::nsStringRepr>,
|
||||
pub mRustString: root::__BindgenUnionField<::gecko_bindings::structs::ServoRawOffsetArc<root::RustString>>,
|
||||
pub bindgen_union_field: [u64; 2usize],
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_URLValueData_RustOrGeckoString() {
|
||||
assert_eq!(::std::mem::size_of::<URLValueData_RustOrGeckoString>()
|
||||
, 16usize , concat ! (
|
||||
"Size of: " , stringify ! (
|
||||
URLValueData_RustOrGeckoString ) ));
|
||||
assert_eq! (::std::mem::align_of::<URLValueData_RustOrGeckoString>()
|
||||
, 8usize , concat ! (
|
||||
"Alignment of " , stringify ! (
|
||||
URLValueData_RustOrGeckoString ) ));
|
||||
assert_eq! (unsafe {
|
||||
& (
|
||||
* ( 0 as * const URLValueData_RustOrGeckoString )
|
||||
) . mString as * const _ as usize } , 0usize ,
|
||||
concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData_RustOrGeckoString ) , "::" ,
|
||||
stringify ! ( mString ) ));
|
||||
assert_eq! (unsafe {
|
||||
& (
|
||||
* ( 0 as * const URLValueData_RustOrGeckoString )
|
||||
) . mRustString as * const _ as usize } , 0usize ,
|
||||
concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData_RustOrGeckoString ) , "::" ,
|
||||
stringify ! ( mRustString ) ));
|
||||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_URLValueData() {
|
||||
assert_eq!(::std::mem::size_of::<URLValueData>() , 56usize ,
|
||||
assert_eq!(::std::mem::size_of::<URLValueData>() , 64usize ,
|
||||
concat ! (
|
||||
"Size of: " , stringify ! ( URLValueData ) ));
|
||||
assert_eq! (::std::mem::align_of::<URLValueData>() , 8usize ,
|
||||
|
@ -1878,39 +1913,46 @@ pub mod root {
|
|||
const _ as usize } , 16usize , concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! ( mURI ) ));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const URLValueData ) ) . mString as
|
||||
* const _ as usize } , 24usize , concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! ( mString )
|
||||
));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const URLValueData ) ) . mExtraData
|
||||
as * const _ as usize } , 40usize , concat ! (
|
||||
as * const _ as usize } , 24usize , concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! ( mExtraData )
|
||||
));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const URLValueData ) ) .
|
||||
mURIResolved as * const _ as usize } , 48usize ,
|
||||
mURIResolved as * const _ as usize } , 32usize ,
|
||||
concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! ( mURIResolved
|
||||
) ));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const URLValueData ) ) .
|
||||
mIsLocalRef as * const _ as usize } , 49usize ,
|
||||
mIsLocalRef as * const _ as usize } , 33usize ,
|
||||
concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! ( mIsLocalRef
|
||||
) ));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const URLValueData ) ) .
|
||||
mMightHaveRef as * const _ as usize } , 51usize ,
|
||||
mMightHaveRef as * const _ as usize } , 35usize ,
|
||||
concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! (
|
||||
mMightHaveRef ) ));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const URLValueData ) ) . mStrings
|
||||
as * const _ as usize } , 40usize , concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! ( mStrings )
|
||||
));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const URLValueData ) ) .
|
||||
mUsingRustString as * const _ as usize } , 56usize
|
||||
, concat ! (
|
||||
"Alignment of field: " , stringify ! (
|
||||
URLValueData ) , "::" , stringify ! (
|
||||
mUsingRustString ) ));
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug)]
|
||||
|
@ -1919,7 +1961,7 @@ pub mod root {
|
|||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_URLValue() {
|
||||
assert_eq!(::std::mem::size_of::<URLValue>() , 56usize ,
|
||||
assert_eq!(::std::mem::size_of::<URLValue>() , 64usize ,
|
||||
concat ! ( "Size of: " , stringify ! ( URLValue )
|
||||
));
|
||||
assert_eq! (::std::mem::align_of::<URLValue>() , 8usize ,
|
||||
|
@ -1935,7 +1977,7 @@ pub mod root {
|
|||
}
|
||||
#[test]
|
||||
fn bindgen_test_layout_ImageValue() {
|
||||
assert_eq!(::std::mem::size_of::<ImageValue>() , 112usize ,
|
||||
assert_eq!(::std::mem::size_of::<ImageValue>() , 120usize ,
|
||||
concat ! ( "Size of: " , stringify ! ( ImageValue )
|
||||
));
|
||||
assert_eq! (::std::mem::align_of::<ImageValue>() , 8usize ,
|
||||
|
@ -1943,12 +1985,12 @@ pub mod root {
|
|||
"Alignment of " , stringify ! ( ImageValue ) ));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const ImageValue ) ) . mRequests as
|
||||
* const _ as usize } , 56usize , concat ! (
|
||||
* const _ as usize } , 64usize , concat ! (
|
||||
"Alignment of field: " , stringify ! ( ImageValue
|
||||
) , "::" , stringify ! ( mRequests ) ));
|
||||
assert_eq! (unsafe {
|
||||
& ( * ( 0 as * const ImageValue ) ) . mLoadedImage
|
||||
as * const _ as usize } , 104usize , concat ! (
|
||||
as * const _ as usize } , 112usize , concat ! (
|
||||
"Alignment of field: " , stringify ! ( ImageValue
|
||||
) , "::" , stringify ! ( mLoadedImage ) ));
|
||||
}
|
||||
|
@ -30038,6 +30080,11 @@ pub mod root {
|
|||
} | ((mHadDispatch as u8 as u8) << 6usize) & (64u64 as u8))
|
||||
}
|
||||
}
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub struct RustString {
|
||||
_unused: [u8; 0],
|
||||
}
|
||||
#[repr(u32)]
|
||||
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
|
||||
pub enum nsCSSUnit {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue