aboutsummaryrefslogtreecommitdiffstats
path: root/components/compositing/pipeline.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/compositing/pipeline.rs')
-rw-r--r--components/compositing/pipeline.rs15
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();
+ }
}