From 11c21d3b1d0f2f202d505c79cff20bf7c883d78e Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Fri, 6 Jan 2017 16:23:57 +0100 Subject: Introduce CallbackObject::new(). --- components/script/dom/bindings/callback.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'components/script/dom/bindings/callback.rs') diff --git a/components/script/dom/bindings/callback.rs b/components/script/dom/bindings/callback.rs index a9846477ac4..897cc3bd39f 100644 --- a/components/script/dom/bindings/callback.rs +++ b/components/script/dom/bindings/callback.rs @@ -33,12 +33,20 @@ pub enum ExceptionHandling { /// A common base class for representing IDL callback function and /// callback interface types. -#[derive(JSTraceable)] +#[derive(Default, JSTraceable)] struct CallbackObject { /// The underlying `JSObject`. callback: Heap<*mut JSObject>, } +impl CallbackObject { + fn new() -> CallbackObject { + CallbackObject { + callback: Heap::default(), + } + } +} + impl PartialEq for CallbackObject { fn eq(&self, other: &CallbackObject) -> bool { self.callback.get() == other.callback.get() @@ -66,9 +74,7 @@ impl CallbackFunction { /// Create a new `CallbackFunction` for this object. pub fn new() -> CallbackFunction { CallbackFunction { - object: CallbackObject { - callback: Heap::default(), - }, + object: CallbackObject::new(), } } @@ -95,9 +101,7 @@ impl CallbackInterface { /// Create a new CallbackInterface object for the given `JSObject`. pub fn new() -> CallbackInterface { CallbackInterface { - object: CallbackObject { - callback: Heap::default(), - }, + object: CallbackObject::new(), } } -- cgit v1.2.3