aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlcanvaselement.rs
diff options
context:
space:
mode:
authorAndrew Guertin <andrew.guertin@uvm.edu>2014-10-03 19:17:43 -0400
committerAndrew Guertin <andrew.guertin@uvm.edu>2014-10-03 20:08:05 -0400
commit815a701455284a923f2d4ee80a3e36c2ff119b67 (patch)
tree0b32ac01b2f09ee8bab9d2128c4b1f2e6c736fec /components/script/dom/htmlcanvaselement.rs
parenta6cd13c89054b605e1000bc3475153fbd2fde7bf (diff)
downloadservo-815a701455284a923f2d4ee80a3e36c2ff119b67.tar.gz
servo-815a701455284a923f2d4ee80a3e36c2ff119b67.zip
Replace Cell<Option<JS<T>>> with MutNullableJS<T>
https://github.com/servo/servo/issues/3564
Diffstat (limited to 'components/script/dom/htmlcanvaselement.rs')
-rw-r--r--components/script/dom/htmlcanvaselement.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index d0f0e37ff55..c2396700a68 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -7,7 +7,7 @@ use dom::bindings::codegen::Bindings::HTMLCanvasElementBinding::HTMLCanvasElemen
use dom::bindings::codegen::InheritTypes::HTMLCanvasElementDerived;
use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast};
use dom::bindings::global::Window;
-use dom::bindings::js::{JS, JSRef, Temporary, OptionalSettable};
+use dom::bindings::js::{MutNullableJS, JSRef, Temporary, OptionalSettable};
use dom::bindings::trace::Traceable;
use dom::bindings::utils::{Reflectable, Reflector};
use dom::canvasrenderingcontext2d::CanvasRenderingContext2D;
@@ -24,6 +24,7 @@ use string_cache::Atom;
use geom::size::Size2D;
use std::cell::Cell;
+use std::default::Default;
static DefaultWidth: u32 = 300;
static DefaultHeight: u32 = 150;
@@ -32,7 +33,7 @@ static DefaultHeight: u32 = 150;
#[must_root]
pub struct HTMLCanvasElement {
pub htmlelement: HTMLElement,
- context: Traceable<Cell<Option<JS<CanvasRenderingContext2D>>>>,
+ context: Traceable<MutNullableJS<CanvasRenderingContext2D>>,
width: Traceable<Cell<u32>>,
height: Traceable<Cell<u32>>,
}
@@ -47,7 +48,7 @@ impl HTMLCanvasElement {
fn new_inherited(localName: DOMString, document: JSRef<Document>) -> HTMLCanvasElement {
HTMLCanvasElement {
htmlelement: HTMLElement::new_inherited(HTMLCanvasElementTypeId, localName, document),
- context: Traceable::new(Cell::new(None)),
+ context: Traceable::new(Default::default()),
width: Traceable::new(Cell::new(DefaultWidth)),
height: Traceable::new(Cell::new(DefaultHeight)),
}
@@ -90,7 +91,7 @@ impl<'a> HTMLCanvasElementMethods for JSRef<'a, HTMLCanvasElement> {
let context = CanvasRenderingContext2D::new(&Window(*window), self, Size2D(w, h));
self.context.assign(Some(context));
}
- self.context.get().map(|context| Temporary::new(context))
+ self.context.get()
}
}