diff options
Diffstat (limited to 'components/script/dom/bindings/js.rs')
-rw-r--r-- | components/script/dom/bindings/js.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index 37d673f3c26..1736758e739 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -444,6 +444,13 @@ impl<T: Reflectable> RootedReference<T> for Option<Root<T>> { } } +/// Get an `Option<&T> out of an `Option<JS<T>>` +impl<T: Reflectable> RootedReference<T> for Option<JS<T>> { + fn r(&self) -> Option<&T> { + self.as_ref().map(|inner| &**inner) + } +} + /// Get an `Option<Option<&T>>` out of an `Option<Option<Root<T>>>` pub trait OptionalRootedReference<T> { /// Obtain a safe optional optional reference to the wrapped JS owned-value |