Remove Untraceable from canvasrenderingcontext2d.rs

This commit is contained in:
Manish Goregaokar 2014-09-29 03:41:52 +05:30
parent 7defa5e941
commit ad84dd7e47

View file

@ -6,7 +6,6 @@ use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding;
use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2DMethods; use dom::bindings::codegen::Bindings::CanvasRenderingContext2DBinding::CanvasRenderingContext2DMethods;
use dom::bindings::global::{GlobalRef, GlobalField}; use dom::bindings::global::{GlobalRef, GlobalField};
use dom::bindings::js::{JS, JSRef, Temporary}; use dom::bindings::js::{JS, JSRef, Temporary};
use dom::bindings::trace::Untraceable;
use dom::bindings::utils::{Reflector, Reflectable, reflect_dom_object}; use dom::bindings::utils::{Reflector, Reflectable, reflect_dom_object};
use dom::htmlcanvaselement::HTMLCanvasElement; use dom::htmlcanvaselement::HTMLCanvasElement;
@ -21,7 +20,7 @@ use canvas::canvas_render_task::{CanvasMsg, CanvasRenderTask, ClearRect, Close,
pub struct CanvasRenderingContext2D { pub struct CanvasRenderingContext2D {
reflector_: Reflector, reflector_: Reflector,
global: GlobalField, global: GlobalField,
renderer: Untraceable<Sender<CanvasMsg>>, renderer: Sender<CanvasMsg>,
canvas: JS<HTMLCanvasElement>, canvas: JS<HTMLCanvasElement>,
} }
@ -30,7 +29,7 @@ impl CanvasRenderingContext2D {
CanvasRenderingContext2D { CanvasRenderingContext2D {
reflector_: Reflector::new(), reflector_: Reflector::new(),
global: GlobalField::from_rooted(global), global: GlobalField::from_rooted(global),
renderer: Untraceable::new(CanvasRenderTask::start(size)), renderer: CanvasRenderTask::start(size),
canvas: JS::from_rooted(canvas), canvas: JS::from_rooted(canvas),
} }
} }
@ -41,7 +40,7 @@ impl CanvasRenderingContext2D {
} }
pub fn recreate(&self, size: Size2D<i32>) { pub fn recreate(&self, size: Size2D<i32>) {
self.renderer.deref().send(Recreate(size)); self.renderer.send(Recreate(size));
} }
} }
@ -52,17 +51,17 @@ impl<'a> CanvasRenderingContext2DMethods for JSRef<'a, CanvasRenderingContext2D>
fn FillRect(self, x: f64, y: f64, width: f64, height: f64) { fn FillRect(self, x: f64, y: f64, width: f64, height: f64) {
let rect = Rect(Point2D(x as f32, y as f32), Size2D(width as f32, height as f32)); let rect = Rect(Point2D(x as f32, y as f32), Size2D(width as f32, height as f32));
self.renderer.deref().send(FillRect(rect)); self.renderer.send(FillRect(rect));
} }
fn ClearRect(self, x: f64, y: f64, width: f64, height: f64) { fn ClearRect(self, x: f64, y: f64, width: f64, height: f64) {
let rect = Rect(Point2D(x as f32, y as f32), Size2D(width as f32, height as f32)); let rect = Rect(Point2D(x as f32, y as f32), Size2D(width as f32, height as f32));
self.renderer.deref().send(ClearRect(rect)); self.renderer.send(ClearRect(rect));
} }
fn StrokeRect(self, x: f64, y: f64, width: f64, height: f64) { fn StrokeRect(self, x: f64, y: f64, width: f64, height: f64) {
let rect = Rect(Point2D(x as f32, y as f32), Size2D(width as f32, height as f32)); let rect = Rect(Point2D(x as f32, y as f32), Size2D(width as f32, height as f32));
self.renderer.deref().send(StrokeRect(rect)); self.renderer.send(StrokeRect(rect));
} }
} }