aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/document.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/script/dom/document.rs')
-rw-r--r--src/components/script/dom/document.rs20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/components/script/dom/document.rs b/src/components/script/dom/document.rs
index 0d928282d92..10aa88d8e73 100644
--- a/src/components/script/dom/document.rs
+++ b/src/components/script/dom/document.rs
@@ -144,9 +144,15 @@ impl ReflectableDocument for Document {
}
impl Reflectable for AbstractDocument {
- fn reflector(&mut self) -> &mut Reflector {
+ fn reflector<'a>(&'a self) -> &'a Reflector {
do self.with_mut_base |doc| {
- doc.reflector()
+ unsafe { cast::transmute(doc.reflector()) }
+ }
+ }
+
+ fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector {
+ do self.with_mut_base |doc| {
+ unsafe { cast::transmute(doc.mut_reflector()) }
}
}
@@ -185,10 +191,12 @@ impl DerivedWrapper for AbstractDocument {
impl Reflectable for Document {
- fn reflector(&mut self) -> &mut Reflector {
- unsafe {
- cast::transmute(&self.reflector_)
- }
+ fn reflector<'a>(&'a self) -> &'a Reflector {
+ &self.reflector_
+ }
+
+ fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector {
+ &mut self.reflector_
}
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {