aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/globalscope.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/globalscope.rs')
-rw-r--r--components/script/dom/globalscope.rs21
1 files changed, 17 insertions, 4 deletions
diff --git a/components/script/dom/globalscope.rs b/components/script/dom/globalscope.rs
index c7635e98463..f1b6c0000b9 100644
--- a/components/script/dom/globalscope.rs
+++ b/components/script/dom/globalscope.rs
@@ -33,6 +33,7 @@ use crate::task_source::dom_manipulation::DOMManipulationTaskSource;
use crate::task_source::file_reading::FileReadingTaskSource;
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::websocket::WebsocketTaskSource;
use crate::task_source::TaskSourceName;
@@ -504,7 +505,7 @@ impl GlobalScope {
unreachable!();
}
- /// `ScriptChan` to send messages to the networking task source of
+ /// `TaskSource` to send messages to the networking task source of
/// this global scope.
pub fn networking_task_source(&self) -> NetworkingTaskSource {
if let Some(window) = self.downcast::<Window>() {
@@ -516,7 +517,19 @@ impl GlobalScope {
unreachable!();
}
- /// `ScriptChan` to send messages to the remote-event task source of
+ /// `TaskSource` to send messages to the port message queue of
+ /// this global scope.
+ pub fn port_message_queue(&self) -> PortMessageQueue {
+ if let Some(window) = self.downcast::<Window>() {
+ return window.task_manager().port_message_queue();
+ }
+ if let Some(worker) = self.downcast::<WorkerGlobalScope>() {
+ return worker.port_message_queue();
+ }
+ unreachable!();
+ }
+
+ /// `TaskSource` to send messages to the remote-event task source of
/// this global scope.
pub fn remote_event_task_source(&self) -> RemoteEventTaskSource {
if let Some(window) = self.downcast::<Window>() {
@@ -528,7 +541,7 @@ impl GlobalScope {
unreachable!();
}
- /// `ScriptChan` to send messages to the websocket task source of
+ /// `TaskSource` to send messages to the websocket task source of
/// this global scope.
pub fn websocket_task_source(&self) -> WebsocketTaskSource {
if let Some(window) = self.downcast::<Window>() {
@@ -537,7 +550,7 @@ impl GlobalScope {
if let Some(worker) = self.downcast::<WorkerGlobalScope>() {
return worker.websocket_task_source();
}
- unreachable!();
+ unreachable!()
}
/// Evaluate JS code on this global scope.