aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/transferable.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/transferable.rs')
-rw-r--r--components/script/dom/bindings/transferable.rs27
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<(), ()>;
}