From 9be52dc41a06f4469e23a6080f25730ee7494ca6 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Fri, 23 Oct 2015 17:20:17 +0200 Subject: [PATCH 1/2] Implement GlobalRef::reflector as an inherent method. Reflectable is meant for actual DOM objects, not for references to them. --- components/script/dom/bindings/global.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/script/dom/bindings/global.rs b/components/script/dom/bindings/global.rs index cfb1acb99e9..a1a1c68c8c0 100644 --- a/components/script/dom/bindings/global.rs +++ b/components/script/dom/bindings/global.rs @@ -196,10 +196,9 @@ impl<'a> GlobalRef<'a> { GlobalRef::Worker(worker) => worker.set_devtools_wants_updates(send_updates), } } -} -impl<'a> Reflectable for GlobalRef<'a> { - fn reflector(&self) -> &Reflector { + /// Returns the receiver's reflector. + pub fn reflector(&self) -> &Reflector { match *self { GlobalRef::Window(ref window) => window.reflector(), GlobalRef::Worker(ref worker) => worker.reflector(), From 970b8aa8bccffac83acc445313f7100817f4635c Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Fri, 23 Oct 2015 17:21:04 +0200 Subject: [PATCH 2/2] Remove the unused default implementation of Reflectable::init_reflector. --- components/script/dom/bindings/utils.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index 4b4e6cfea93..5dc7f2d6215 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -418,9 +418,7 @@ pub trait Reflectable { /// Returns the receiver's reflector. fn reflector(&self) -> &Reflector; /// Initializes the Reflector - fn init_reflector(&mut self, _obj: *mut JSObject) { - panic!("Cannot call init on this Reflectable"); - } + fn init_reflector(&mut self, obj: *mut JSObject); } /// Create the reflector for a new DOM object and yield ownership to the