diff options
Diffstat (limited to 'dom/bindings/RootedOwningNonNull.h')
-rw-r--r-- | dom/bindings/RootedOwningNonNull.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/dom/bindings/RootedOwningNonNull.h b/dom/bindings/RootedOwningNonNull.h index 13424d155..387a70734 100644 --- a/dom/bindings/RootedOwningNonNull.h +++ b/dom/bindings/RootedOwningNonNull.h @@ -50,21 +50,12 @@ struct GCPolicy<mozilla::OwningNonNull<T>> } // namespace JS namespace js { -template<typename T> -struct RootedBase<mozilla::OwningNonNull<T>> +template<typename T, typename Wrapper> +struct WrappedPtrOperations<mozilla::OwningNonNull<T>, Wrapper> { - typedef mozilla::OwningNonNull<T> SmartPtrType; - - operator SmartPtrType& () const - { - auto& self = *static_cast<const JS::Rooted<SmartPtrType>*>(this); - return self.get(); - } - operator T& () const { - auto& self = *static_cast<const JS::Rooted<SmartPtrType>*>(this); - return self.get(); + return static_cast<const Wrapper*>(this)->get(); } }; } // namespace js |