aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/bindings/global.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/bindings/global.rs')
-rw-r--r--components/script/dom/bindings/global.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs
index 61b948dbf35..ff36817b660 100644
--- a/components/script/dom/bindings/global.rs
+++ b/components/script/dom/bindings/global.rs
@@ -18,8 +18,8 @@ use ipc_channel::ipc::IpcSender;
use js::jsapi::{CurrentGlobalOrNull, GetGlobalForObjectCrossCompartment};
use js::jsapi::{JSContext, JSObject, JS_GetClass, MutableHandleValue};
use js::{JSCLASS_IS_DOMJSCLASS, JSCLASS_IS_GLOBAL};
-use msg::constellation_msg::{PanicMsg, PipelineId};
-use net_traits::CoreResourceThread;
+use msg::constellation_msg::{PipelineId, PanicMsg};
+use net_traits::{CoreResourceThread, RequestSource};
use profile_traits::{mem, time};
use script_runtime::{CommonScriptMsg, ScriptChan, ScriptPort};
use script_thread::{MainThreadScriptChan, ScriptThread};
@@ -65,6 +65,14 @@ impl<'a> GlobalRef<'a> {
}
}
+ /// gets the custom message channel associated with global object
+ pub fn request_source(&self) -> RequestSource {
+ match *self {
+ GlobalRef::Window(ref window) => RequestSource::Window(window.custom_message_chan()),
+ GlobalRef::Worker(ref worker) => RequestSource::Worker(worker.custom_message_chan()),
+ }
+ }
+
/// Get the `PipelineId` for this global scope.
pub fn pipeline(&self) -> PipelineId {
match *self {