aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/canvasrenderingcontext2d.rs
diff options
context:
space:
mode:
authorMaharsh <maharsh312@gmail.com>2019-05-09 21:54:48 -0400
committerMaharsh <maharsh312@gmail.com>2019-05-09 21:54:48 -0400
commit1de8ddd89c49356bcf551c63dc8be1ad25c327af (patch)
treedaea377cfeef1c81df1bc6d97a3948658d21da07 /components/script/dom/canvasrenderingcontext2d.rs
parent30cc087526c1d06424c770db1d851ed90a28c926 (diff)
downloadservo-1de8ddd89c49356bcf551c63dc8be1ad25c327af.tar.gz
servo-1de8ddd89c49356bcf551c63dc8be1ad25c327af.zip
Changes for sender reciever
Diffstat (limited to 'components/script/dom/canvasrenderingcontext2d.rs')
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs31
1 files changed, 26 insertions, 5 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 285925b7302..67c18ff0c22 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -132,17 +132,38 @@ pub struct CanvasState {
}
impl CanvasState {
- pub fn new(global: &GlobalScope) -> CanvasState {
+ pub fn new(
+ global: &GlobalScope,
+ size: Size2D<u64>,
+ ) -> CanvasState {
+ debug!("Creating new canvas rendering context.");
let (sender, receiver) =
profiled_ipc::channel(global.time_profiler_chan().clone()).unwrap();
+ let script_to_constellation_chan = global.script_to_constellation_chan();
+ debug!("Asking constellation to create new canvas thread.");
+ script_to_constellation_chan
+ .send(ScriptMsg::CreateCanvasPaintThread(size, sender))
+ .unwrap();
let (ipc_renderer, canvas_id) = receiver.recv().unwrap();
debug!("Done.");
CanvasState {
- //reflector_: Reflector::new(),
ipc_renderer: ipc_renderer,
canvas_id: canvas_id,
+
}
}
+ /*pub fn new(
+ global: &GlobalScope,
+ size: Size2D<u32>,
+ ) -> CanvasState {
+
+ /*let boxed = Box::new(CanvasState::new_inherited(
+ global,
+ size,
+ ));
+
+ reflect_dom_object(boxed, global, CanvasState)*/
+ }*/
pub fn get_canvas_id(&self) -> CanvasId {
self.canvas_id.clone()
@@ -199,7 +220,7 @@ impl CanvasRenderingContext2D {
base_url: ServoUrl,
size: Size2D<u32>,
) -> CanvasRenderingContext2D {
- debug!("Creating new canvas rendering context.");
+ /*debug!("Creating new canvas rendering context.");
let (sender, receiver) =
profiled_ipc::channel(global.time_profiler_chan().clone()).unwrap();
let script_to_constellation_chan = global.script_to_constellation_chan();
@@ -208,7 +229,7 @@ impl CanvasRenderingContext2D {
.send(ScriptMsg::CreateCanvasPaintThread(size, sender))
.unwrap();
//let (canvas_state.ipc_renderer, canvas_id) = receiver.recv().unwrap();
- debug!("Done.");
+ debug!("Done.");*/
CanvasRenderingContext2D {
reflector_: Reflector::new(),
canvas: canvas.map(Dom::from_ref),
@@ -220,7 +241,7 @@ impl CanvasRenderingContext2D {
saved_states: DomRefCell::new(Vec::new()),
origin_clean: Cell::new(true),
//canvas_id: canvas_id,
- canvas_state: DomRefCell::new(CanvasState::new(global)),
+ canvas_state: DomRefCell::new(CanvasState::new(global,Size2D::new(size.width as u64, size.height as u64))),
}
}