mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
begin messageport, transferable objects, impl
Accept transfer argument for StructuredCloneData::write Allow structured clone reads to return a boolean Add Transferable trait Add basic skeletons to MessagePort Implement transfer and transfer-receiving steps on MessagePort Use transfer and transfer_receive in StructuredClone callbacks Implement MessageChannel Freeze the array object for the MessageEvent ports attribute Implement transfer argument on window.postMessage Use ReentrantMutex instead for MessagePortInternal Accept origin as a parameter in dispatch_jsval Fix BorrowMut crash with pending_port_message Detach port on closure and check for detached during transfer Enable webmessaging tests fix webidl fix
This commit is contained in:
parent
605ddbecd4
commit
c3b17c1201
37 changed files with 801 additions and 81 deletions
|
@ -10,6 +10,7 @@ use crate::task_source::history_traversal::HistoryTraversalTaskSource;
|
|||
use crate::task_source::media_element::MediaElementTaskSource;
|
||||
use crate::task_source::networking::NetworkingTaskSource;
|
||||
use crate::task_source::performance_timeline::PerformanceTimelineTaskSource;
|
||||
use crate::task_source::port_message::PortMessageQueue;
|
||||
use crate::task_source::remote_event::RemoteEventTaskSource;
|
||||
use crate::task_source::user_interaction::UserInteractionTaskSource;
|
||||
use crate::task_source::websocket::WebsocketTaskSource;
|
||||
|
@ -47,6 +48,8 @@ pub struct TaskManager {
|
|||
#[ignore_malloc_size_of = "task sources are hard"]
|
||||
performance_timeline_task_source: PerformanceTimelineTaskSource,
|
||||
#[ignore_malloc_size_of = "task sources are hard"]
|
||||
port_message_queue: PortMessageQueue,
|
||||
#[ignore_malloc_size_of = "task sources are hard"]
|
||||
user_interaction_task_source: UserInteractionTaskSource,
|
||||
#[ignore_malloc_size_of = "task sources are hard"]
|
||||
remote_event_task_source: RemoteEventTaskSource,
|
||||
|
@ -62,6 +65,7 @@ impl TaskManager {
|
|||
media_element_task_source: MediaElementTaskSource,
|
||||
networking_task_source: NetworkingTaskSource,
|
||||
performance_timeline_task_source: PerformanceTimelineTaskSource,
|
||||
port_message_queue: PortMessageQueue,
|
||||
user_interaction_task_source: UserInteractionTaskSource,
|
||||
remote_event_task_source: RemoteEventTaskSource,
|
||||
websocket_task_source: WebsocketTaskSource,
|
||||
|
@ -73,6 +77,7 @@ impl TaskManager {
|
|||
media_element_task_source,
|
||||
networking_task_source,
|
||||
performance_timeline_task_source,
|
||||
port_message_queue,
|
||||
user_interaction_task_source,
|
||||
remote_event_task_source,
|
||||
websocket_task_source,
|
||||
|
@ -136,6 +141,14 @@ impl TaskManager {
|
|||
PerformanceTimeline
|
||||
);
|
||||
|
||||
task_source_functions!(
|
||||
self,
|
||||
port_message_queue_with_canceller,
|
||||
port_message_queue,
|
||||
PortMessageQueue,
|
||||
PortMessage
|
||||
);
|
||||
|
||||
task_source_functions!(
|
||||
self,
|
||||
remote_event_task_source_with_canceller,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue