Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/RootedOwningNonNull.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5
 * You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
/**
8
 * An implementation of Rooted for OwningNonNull<T>.  This works by assuming
9
 * that T has a Trace() method defined on it which will trace whatever things
10
 * inside the T instance need tracing.
11
 *
12
 * This implementation has one serious drawback: operator= doesn't work right
13
 * because it's declared on Rooted directly and expects the type Rooted is
14
 * templated over.
15
 */
16
17
#ifndef mozilla_RootedOwningNonNull_h__
18
#define mozilla_RootedOwningNonNull_h__
19
20
#include "mozilla/OwningNonNull.h"
21
#include "js/GCPolicyAPI.h"
22
#include "js/RootingAPI.h"
23
24
namespace JS {
25
template<typename T>
26
struct GCPolicy<mozilla::OwningNonNull<T>>
27
{
28
  typedef mozilla::OwningNonNull<T> SmartPtrType;
29
30
  static SmartPtrType initial()
31
  {
32
    return SmartPtrType();
33
  }
34
35
  static void trace(JSTracer* trc, SmartPtrType* tp,
36
                    const char* name)
37
0
  {
38
0
    // We have to be very careful here.  Normally, OwningNonNull can't be null.
39
0
    // But binding code can end up in a situation where it sets up a
40
0
    // Rooted<OwningNonNull> and then before it gets a chance to assign to it
41
0
    // (e.g. from the constructor of the thing being assigned) a GC happens.  So
42
0
    // we can land here when *tp stores a null pointer because it's not
43
0
    // initialized.
44
0
    //
45
0
    // So we need to check for that before jumping.
46
0
    if ((*tp).isInitialized()) {
47
0
      (*tp)->Trace(trc);
48
0
    }
49
0
  }
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastVoidFunction> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastVoidFunction>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMessageListener> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMessageListener>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozDocumentCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozDocumentCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMutationCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMutationCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaSuccessCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaSuccessCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaErrorCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaErrorCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozIdleObserver> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozIdleObserver>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozGetUserMediaDevicesSuccessCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozGetUserMediaDevicesSuccessCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastL10nCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastL10nCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPerformanceObserverCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPerformanceObserverCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPlacesEventCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPlacesEventCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastUncaughtRejectionObserver> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastUncaughtRejectionObserver>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastmozPacketCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastmozPacketCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCSessionDescriptionCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCSessionDescriptionCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCPeerConnectionErrorCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCPeerConnectionErrorCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCStatsCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCStatsCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPeerConnectionLifecycleCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPeerConnectionLifecycleCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIdleRequestCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIdleRequestCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FRegisterCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FRegisterCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FSignCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FSignCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFrameRequestCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFrameRequestCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebGPULogCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebGPULogCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalStatisticsCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalStatisticsCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalLoggingCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalLoggingCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPromiseDocumentFlushedCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPromiseDocumentFlushedCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFunction> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFunction>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastCustomElementCreationCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastCustomElementCreationCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileSystemEntriesCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileSystemEntriesCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFontFaceSetForEachCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFontFaceSetForEachCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPositionCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPositionCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBlobCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBlobCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBrowserElementNextPaintEventCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBrowserElementNextPaintEventCallback>*, char const*)
Unexecuted instantiation: JS::GCPolicy<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIntersectionCallback> >::trace(JSTracer*, mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIntersectionCallback>*, char const*)
50
};
51
} // namespace JS
52
53
namespace js {
54
template<typename T, typename Wrapper>
55
struct WrappedPtrOperations<mozilla::OwningNonNull<T>, Wrapper>
56
{
57
  operator T& () const
58
0
  {
59
0
    return static_cast<const Wrapper*>(this)->get();
60
0
  }
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastVoidFunction>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastVoidFunction> > >::operator mozilla::dom::binding_detail::FastVoidFunction&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMessageListener>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMessageListener> > >::operator mozilla::dom::binding_detail::FastMessageListener&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozDocumentCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozDocumentCallback> > >::operator mozilla::dom::binding_detail::FastMozDocumentCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMutationCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMutationCallback> > >::operator mozilla::dom::binding_detail::FastMutationCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaSuccessCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaSuccessCallback> > >::operator mozilla::dom::binding_detail::FastNavigatorUserMediaSuccessCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaErrorCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastNavigatorUserMediaErrorCallback> > >::operator mozilla::dom::binding_detail::FastNavigatorUserMediaErrorCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozIdleObserver>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozIdleObserver> > >::operator mozilla::dom::binding_detail::FastMozIdleObserver&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozGetUserMediaDevicesSuccessCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastMozGetUserMediaDevicesSuccessCallback> > >::operator mozilla::dom::binding_detail::FastMozGetUserMediaDevicesSuccessCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastL10nCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastL10nCallback> > >::operator mozilla::dom::binding_detail::FastL10nCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPerformanceObserverCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPerformanceObserverCallback> > >::operator mozilla::dom::binding_detail::FastPerformanceObserverCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPlacesEventCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPlacesEventCallback> > >::operator mozilla::dom::binding_detail::FastPlacesEventCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastUncaughtRejectionObserver>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastUncaughtRejectionObserver> > >::operator mozilla::dom::binding_detail::FastUncaughtRejectionObserver&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastmozPacketCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastmozPacketCallback> > >::operator mozilla::dom::binding_detail::FastmozPacketCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCSessionDescriptionCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCSessionDescriptionCallback> > >::operator mozilla::dom::binding_detail::FastRTCSessionDescriptionCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCPeerConnectionErrorCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCPeerConnectionErrorCallback> > >::operator mozilla::dom::binding_detail::FastRTCPeerConnectionErrorCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCStatsCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastRTCStatsCallback> > >::operator mozilla::dom::binding_detail::FastRTCStatsCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPeerConnectionLifecycleCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPeerConnectionLifecycleCallback> > >::operator mozilla::dom::binding_detail::FastPeerConnectionLifecycleCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIdleRequestCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIdleRequestCallback> > >::operator mozilla::dom::binding_detail::FastIdleRequestCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FRegisterCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FRegisterCallback> > >::operator mozilla::dom::binding_detail::FastU2FRegisterCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FSignCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastU2FSignCallback> > >::operator mozilla::dom::binding_detail::FastU2FSignCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFrameRequestCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFrameRequestCallback> > >::operator mozilla::dom::binding_detail::FastFrameRequestCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebGPULogCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebGPULogCallback> > >::operator mozilla::dom::binding_detail::FastWebGPULogCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalStatisticsCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalStatisticsCallback> > >::operator mozilla::dom::binding_detail::FastWebrtcGlobalStatisticsCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalLoggingCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastWebrtcGlobalLoggingCallback> > >::operator mozilla::dom::binding_detail::FastWebrtcGlobalLoggingCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPromiseDocumentFlushedCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPromiseDocumentFlushedCallback> > >::operator mozilla::dom::binding_detail::FastPromiseDocumentFlushedCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFunction>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFunction> > >::operator mozilla::dom::binding_detail::FastFunction&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastCustomElementCreationCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastCustomElementCreationCallback> > >::operator mozilla::dom::binding_detail::FastCustomElementCreationCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileSystemEntriesCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileSystemEntriesCallback> > >::operator mozilla::dom::binding_detail::FastFileSystemEntriesCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFileCallback> > >::operator mozilla::dom::binding_detail::FastFileCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFontFaceSetForEachCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastFontFaceSetForEachCallback> > >::operator mozilla::dom::binding_detail::FastFontFaceSetForEachCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPositionCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastPositionCallback> > >::operator mozilla::dom::binding_detail::FastPositionCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBlobCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBlobCallback> > >::operator mozilla::dom::binding_detail::FastBlobCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBrowserElementNextPaintEventCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastBrowserElementNextPaintEventCallback> > >::operator mozilla::dom::binding_detail::FastBrowserElementNextPaintEventCallback&() const
Unexecuted instantiation: js::WrappedPtrOperations<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIntersectionCallback>, JS::Rooted<mozilla::OwningNonNull<mozilla::dom::binding_detail::FastIntersectionCallback> > >::operator mozilla::dom::binding_detail::FastIntersectionCallback&() const
61
};
62
} // namespace js
63
64
#endif /* mozilla_RootedOwningNonNull_h__ */