style: Add FFI API to use SharedMemoryBuilder.

Differential Revision: https://phabricator.services.mozilla.com/D17198
This commit is contained in:
Cameron McCormack 2019-03-30 00:16:27 +00:00 committed by Emilio Cobos Álvarez
parent 40248ae5fd
commit 7aac260c5d
2 changed files with 22 additions and 0 deletions

View file

@ -0,0 +1,21 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
//! FFI implementations for types listed in ServoBoxedTypeList.h.
use crate::gecko_bindings::sugar::ownership::{HasBoxFFI, HasFFI, HasSimpleFFI};
use to_shmem::SharedMemoryBuilder;
// TODO(heycam): The FFI impls for most of the types in ServoBoxedTypeList.h are spread across
// various files at the moment, but should probably all move here, and use macros to define
// them more succinctly, like we do in arc_types.rs.
#[cfg(feature = "gecko")]
unsafe impl HasFFI for SharedMemoryBuilder {
type FFIType = crate::gecko_bindings::bindings::RawServoSharedMemoryBuilder;
}
#[cfg(feature = "gecko")]
unsafe impl HasSimpleFFI for SharedMemoryBuilder {}
#[cfg(feature = "gecko")]
unsafe impl HasBoxFFI for SharedMemoryBuilder {}

View file

@ -8,6 +8,7 @@
mod non_ts_pseudo_class_list;
pub mod arc_types;
pub mod boxed_types;
pub mod conversions;
pub mod data;
pub mod media_features;