diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2015-04-27 18:13:32 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2015-04-28 09:22:45 +0200 |
commit | 2770886196269d264d46b0357669bbd0f9626995 (patch) | |
tree | 339b8bf04efbfd94db599ee88e594982844e9163 /components/script/dom/bindings/js.rs | |
parent | af21229c0e9127cf2469280288b8484d2de82861 (diff) | |
download | servo-2770886196269d264d46b0357669bbd0f9626995.tar.gz servo-2770886196269d264d46b0357669bbd0f9626995.zip |
Remove unrooted() methods
Diffstat (limited to 'components/script/dom/bindings/js.rs')
-rw-r--r-- | components/script/dom/bindings/js.rs | 33 |
1 files changed, 5 insertions, 28 deletions
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index b798d6c1e27..4f953d6bb61 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -174,10 +174,6 @@ impl<T: Reflectable> Temporary<T> { pub fn from_rooted<'a>(root: JSRef<'a, T>) -> Temporary<T> { Temporary::new(JS::from_rooted(root)) } - - unsafe fn inner(&self) -> JS<T> { - self.inner.clone() - } } impl<T: Reflectable> Rootable<T> for Temporary<T> { @@ -406,7 +402,7 @@ impl<T: Reflectable> JS<T> { /// are reachable in the GC graph, so this unrooted value becomes /// transitively rooted for the lifetime of its new owner. pub fn assign(&mut self, val: Temporary<T>) { - *self = unsafe { val.inner() }; + *self = val.inner.clone(); } } @@ -461,13 +457,15 @@ impl<T> Assignable<T> for JS<T> { impl<'a, T: Reflectable> Assignable<T> for JSRef<'a, T> { unsafe fn get_js(&self) -> JS<T> { - self.unrooted() + JS { + ptr: self.ptr + } } } impl<T: Reflectable> Assignable<T> for Temporary<T> { unsafe fn get_js(&self) -> JS<T> { - self.inner() + self.inner.clone() } } @@ -484,18 +482,6 @@ impl<T: Reflectable, U: Rootable<T>> OptionalRootable<T> for Option<U> { } } -/// Return an unrooted type for storing in optional DOM fields -pub trait OptionalUnrootable<T> { - /// Returns a `JS<T>` for the inner value, if it exists. - fn unrooted(&self) -> Option<JS<T>>; -} - -impl<'a, T: Reflectable> OptionalUnrootable<T> for Option<JSRef<'a, T>> { - fn unrooted(&self) -> Option<JS<T>> { - self.as_ref().map(|inner| JS::from_rooted(*inner)) - } -} - /// Root a rootable `Option<Option>` type (used for `Option<Option<JS<T>>>`) pub trait OptionalOptionalRootable<T> { /// Root the inner value, if it exists. @@ -692,15 +678,6 @@ impl<'a, 'b, T> PartialEq<JSRef<'b, T>> for JSRef<'a, T> { } } -impl<'a,T> JSRef<'a,T> { - /// Return an unrooted `JS<T>` for the inner pointer. - pub fn unrooted(&self) -> JS<T> { - JS { - ptr: self.ptr - } - } -} - impl<'a, T: Reflectable> JSRef<'a, T> { /// Returns the inner pointer directly. pub fn extended_deref(self) -> &'a T { |