diff options
Diffstat (limited to 'components/script/dom/bindings/transferable.rs')
-rw-r--r-- | components/script/dom/bindings/transferable.rs | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/components/script/dom/bindings/transferable.rs b/components/script/dom/bindings/transferable.rs index fcf3ad93ab8..fb2f4a991a2 100644 --- a/components/script/dom/bindings/transferable.rs +++ b/components/script/dom/bindings/transferable.rs @@ -4,26 +4,19 @@ //! Trait representing the concept of [transferable objects] //! (https://html.spec.whatwg.org/multipage/#transferable-objects). + use crate::dom::bindings::reflector::DomObject; -use js::jsapi::{JSContext, JSStructuredCloneReader, MutableHandleObject}; -use std::os::raw; +use crate::dom::bindings::root::DomRoot; +use crate::dom::bindings::structuredclone::StructuredDataHolder; +use crate::dom::globalscope::GlobalScope; +use js::jsapi::MutableHandleObject; -pub trait Transferable : DomObject { - fn transfer( - &self, - closure: *mut raw::c_void, - content: *mut *mut raw::c_void, - extra_data: *mut u64, - ) -> bool; +pub trait Transferable: DomObject { + fn transfer(&self, sc_holder: &mut StructuredDataHolder) -> Result<u64, ()>; fn transfer_receive( - cx: *mut JSContext, - r: *mut JSStructuredCloneReader, - closure: *mut raw::c_void, - content: *mut raw::c_void, + owner: &DomRoot<GlobalScope>, + sc_holder: &mut StructuredDataHolder, extra_data: u64, return_object: MutableHandleObject, - ) -> bool; - fn detached(&self) -> Option<bool> { None } - fn set_detached(&self, _value: bool) { } - fn transferable(&self) -> bool { false } + ) -> Result<(), ()>; } |