mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +01:00
continue messageport, transferable, postmessage options
This commit is contained in:
parent
c3b17c1201
commit
2f8932a6a1
100 changed files with 2456 additions and 1171 deletions
|
@ -4,7 +4,7 @@
|
|||
|
||||
use crate::dom::bindings::codegen::Bindings::MessageChannelBinding::{MessageChannelMethods, Wrap};
|
||||
use crate::dom::bindings::error::{Error, Fallible};
|
||||
use crate::dom::bindings::reflector::{Reflector, reflect_dom_object};
|
||||
use crate::dom::bindings::reflector::{reflect_dom_object, Reflector};
|
||||
use crate::dom::bindings::root::{Dom, DomRoot};
|
||||
use crate::dom::globalscope::GlobalScope;
|
||||
use crate::dom::messageport::MessagePort;
|
||||
|
@ -28,18 +28,24 @@ impl MessageChannel {
|
|||
// Step 2
|
||||
let port2 = MessagePort::new(&incumbent);
|
||||
|
||||
incumbent.track_message_port(&*port1, None);
|
||||
incumbent.track_message_port(&*port2, None);
|
||||
|
||||
// Step 3
|
||||
port1.entangle(&port2);
|
||||
incumbent.entangle_ports(
|
||||
port1.message_port_id().clone(),
|
||||
port2.message_port_id().clone(),
|
||||
);
|
||||
|
||||
// Steps 4-6
|
||||
let channel = reflect_dom_object(Box::new(
|
||||
MessageChannel {
|
||||
let channel = reflect_dom_object(
|
||||
Box::new(MessageChannel {
|
||||
reflector_: Reflector::new(),
|
||||
port1: Dom::from_ref(&port1),
|
||||
port2: Dom::from_ref(&port2),
|
||||
}),
|
||||
global,
|
||||
Wrap
|
||||
Wrap,
|
||||
);
|
||||
|
||||
// Step 7
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue