diff options
Diffstat (limited to 'components/compositing/pipeline.rs')
-rw-r--r-- | components/compositing/pipeline.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/components/compositing/pipeline.rs b/components/compositing/pipeline.rs index 0d8e6261d25..b5fcebb578a 100644 --- a/components/compositing/pipeline.rs +++ b/components/compositing/pipeline.rs @@ -24,6 +24,7 @@ use profile::time::TimeProfilerChan; use std::sync::mpsc::{Receiver, channel}; use url::Url; use util::geometry::{PagePx, ViewportPx}; +use util::opts; /// A uniquely-identifiable pipeline of script task, layout task, and paint task. pub struct Pipeline { @@ -244,4 +245,18 @@ impl Pipeline { pub fn add_child(&mut self, frame_id: FrameId) { self.children.push(frame_id); } + + pub fn trigger_mozbrowser_event(&self, + subpage_id: SubpageId, + event_name: String, + event_detail: Option<String>) { + assert!(opts::experimental_enabled()); + + let ScriptControlChan(ref script_channel) = self.script_chan; + let event = ConstellationControlMsg::MozBrowserEvent(self.id, + subpage_id, + event_name, + event_detail); + script_channel.send(event).unwrap(); + } } |