summaryrefslogtreecommitdiff
path: root/dom/bindings/RootedOwningNonNull.h
diff options
context:
space:
mode:
Diffstat (limited to 'dom/bindings/RootedOwningNonNull.h')
-rw-r--r--dom/bindings/RootedOwningNonNull.h15
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