style: Remove HasArcFFI for some types

See blocked bug.

For non-Locked types we can just use the same underlying type at the FFI
boundary. Port StylesheetContents and CssUrlData to this set-up.
CssUrlData is already generated by cbindgen anyways.

Differential Revision: https://phabricator.services.mozilla.com/D177559
This commit is contained in:
Emilio Cobos Álvarez 2023-05-11 00:36:24 +00:00 committed by Martin Robinson
parent d9d865e8c9
commit 779aa9d30e
4 changed files with 42 additions and 40 deletions

View file

@ -221,7 +221,7 @@ impl<T> Arc<T> {
///
/// It is recommended to use RawOffsetArc for this.
#[inline]
fn into_raw(this: Self) -> *const T {
pub fn into_raw(this: Self) -> *const T {
let ptr = unsafe { &((*this.ptr()).data) as *const _ };
mem::forget(this);
ptr
@ -231,10 +231,8 @@ impl<T> Arc<T> {
///
/// Note: This raw pointer will be offset in the allocation and must be preceded
/// by the atomic count.
///
/// It is recommended to use RawOffsetArc for this
#[inline]
unsafe fn from_raw(ptr: *const T) -> Self {
pub unsafe fn from_raw(ptr: *const T) -> Self {
// To find the corresponding pointer to the `ArcInner` we need
// to subtract the offset of the `data` field from the pointer.
let ptr = (ptr as *const u8).sub(data_offset::<T>());