aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/window.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/window.rs')
-rw-r--r--components/script/dom/window.rs11
1 files changed, 10 insertions, 1 deletions
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index ff905ab55b5..c50aae0aec7 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -132,7 +132,7 @@ use time;
use timers::{IsInterval, TimerCallback};
use url::Position;
use webdriver_handlers::jsval_to_webdriver;
-use webrender_api::{ExternalScrollId, DeviceIntPoint, DeviceUintSize, DocumentId};
+use webrender_api::{DeviceIntPoint, DeviceUintSize, DocumentId, ExternalScrollId, RenderApiSender};
use webvr_traits::WebVRMsg;
/// Current state of the window object
@@ -308,6 +308,9 @@ pub struct Window {
/// Flag to identify whether mutation observers are present(true)/absent(false)
exists_mut_observer: Cell<bool>,
+ /// Webrender API Sender
+ #[ignore_malloc_size_of = "defined in webrender_api"]
+ webrender_api_sender: RenderApiSender,
}
impl Window {
@@ -483,6 +486,10 @@ impl Window {
}
self.add_pending_reflow();
}
+
+ pub fn get_webrender_api_sender(&self) -> RenderApiSender {
+ self.webrender_api_sender.clone()
+ }
}
// https://html.spec.whatwg.org/multipage/#atob
@@ -2083,6 +2090,7 @@ impl Window {
webvr_chan: Option<IpcSender<WebVRMsg>>,
microtask_queue: Rc<MicrotaskQueue>,
webrender_document: DocumentId,
+ webrender_api_sender: RenderApiSender,
) -> DomRoot<Self> {
let layout_rpc: Box<LayoutRPC + Send> = {
let (rpc_send, rpc_recv) = channel();
@@ -2161,6 +2169,7 @@ impl Window {
paint_worklet: Default::default(),
webrender_document,
exists_mut_observer: Cell::new(false),
+ webrender_api_sender,
});
unsafe { WindowBinding::Wrap(runtime.cx(), win) }