Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* vim:set ts=2 sw=2 sts=2 et cindent: */
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
5 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 :
7 : /* THIS FILE IS AUTOGENERATED FROM RTCTrackEvent.webidl BY Codegen.py - DO NOT EDIT */
8 :
9 : #include "DOMMediaStream.h"
10 : #include "EventBinding.h"
11 : #include "RTCRtpReceiverBinding.h"
12 : #include "RTCTrackEvent.h"
13 : #include "RTCTrackEventBinding.h"
14 : #include "js/GCAPI.h"
15 : #include "mozilla/dom/MediaStreamTrack.h"
16 : #include "mozilla/dom/Nullable.h"
17 : #include "mozilla/dom/PrimitiveConversions.h"
18 : #include "mozilla/dom/RTCTrackEvent.h"
19 :
20 : namespace mozilla {
21 : namespace dom {
22 :
23 :
24 : NS_IMPL_CYCLE_COLLECTION_CLASS(RTCTrackEvent)
25 :
26 0 : NS_IMPL_ADDREF_INHERITED(RTCTrackEvent, Event)
27 0 : NS_IMPL_RELEASE_INHERITED(RTCTrackEvent, Event)
28 :
29 0 : NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(RTCTrackEvent, Event)
30 0 : NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mReceiver)
31 0 : NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mTrack)
32 0 : NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mStreams)
33 0 : NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
34 :
35 0 : NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN_INHERITED(RTCTrackEvent, Event)
36 0 : NS_IMPL_CYCLE_COLLECTION_TRACE_END
37 :
38 0 : NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(RTCTrackEvent, Event)
39 0 : NS_IMPL_CYCLE_COLLECTION_UNLINK(mReceiver)
40 0 : NS_IMPL_CYCLE_COLLECTION_UNLINK(mTrack)
41 0 : NS_IMPL_CYCLE_COLLECTION_UNLINK(mStreams)
42 0 : NS_IMPL_CYCLE_COLLECTION_UNLINK_END
43 :
44 0 : NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(RTCTrackEvent)
45 0 : NS_INTERFACE_MAP_END_INHERITING(Event)
46 :
47 0 : RTCTrackEvent::RTCTrackEvent(mozilla::dom::EventTarget* aOwner)
48 0 : : Event(aOwner, nullptr, nullptr)
49 : {
50 0 : }
51 :
52 0 : RTCTrackEvent::~RTCTrackEvent()
53 : {
54 0 : }
55 :
56 : RTCTrackEvent*
57 0 : RTCTrackEvent::AsRTCTrackEvent()
58 : {
59 0 : return this;
60 : }
61 :
62 : JSObject*
63 0 : RTCTrackEvent::WrapObjectInternal(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
64 : {
65 0 : return RTCTrackEventBinding::Wrap(aCx, this, aGivenProto);
66 : }
67 :
68 : already_AddRefed<RTCTrackEvent>
69 0 : RTCTrackEvent::Constructor(mozilla::dom::EventTarget* aOwner, const nsAString& aType, const RTCTrackEventInit& aEventInitDict)
70 : {
71 0 : RefPtr<RTCTrackEvent> e = new RTCTrackEvent(aOwner);
72 0 : bool trusted = e->Init(aOwner);
73 0 : e->InitEvent(aType, aEventInitDict.mBubbles, aEventInitDict.mCancelable);
74 0 : e->mReceiver = aEventInitDict.mReceiver;
75 0 : e->mTrack = aEventInitDict.mTrack;
76 0 : e->mStreams.AppendElements(aEventInitDict.mStreams);
77 0 : e->SetTrusted(trusted);
78 0 : e->SetComposed(aEventInitDict.mComposed);
79 0 : return e.forget();
80 : }
81 :
82 : already_AddRefed<RTCTrackEvent>
83 0 : RTCTrackEvent::Constructor(const GlobalObject& aGlobal, const nsAString& aType, const RTCTrackEventInit& aEventInitDict, ErrorResult& aRv)
84 : {
85 0 : nsCOMPtr<mozilla::dom::EventTarget> owner = do_QueryInterface(aGlobal.GetAsSupports());
86 0 : return Constructor(owner, aType, aEventInitDict);
87 : }
88 :
89 : RTCRtpReceiver*
90 0 : RTCTrackEvent::Receiver() const
91 : {
92 0 : return mReceiver;
93 : }
94 :
95 : MediaStreamTrack*
96 0 : RTCTrackEvent::Track() const
97 : {
98 0 : return mTrack;
99 : }
100 :
101 : void
102 0 : RTCTrackEvent::GetStreams(nsTArray<RefPtr<DOMMediaStream>>& aRetVal) const
103 : {
104 0 : aRetVal = mStreams;
105 0 : }
106 :
107 :
108 : } // namespace dom
109 : } // namespace mozilla
|