@@ -71,13 +71,23 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsDOMDataChannel)
7171NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper)
7272
7373nsDOMDataChannel::nsDOMDataChannel(
74+ const nsAString& aLabel, bool aOrdered,
75+ mozilla::dom::Nullable<uint16_t > aMaxLifeTime,
76+ mozilla::dom::Nullable<uint16_t > aMaxRetransmits,
77+ const nsAString& aProtocol, bool aNegotiated,
7478 already_AddRefed<mozilla::DataChannel>& aDataChannel,
7579 nsPIDOMWindowInner* aWindow)
7680 : DOMEventTargetHelper(aWindow),
7781 mDataChannel(aDataChannel),
7882 mBinaryType(DC_BINARY_TYPE_BLOB),
7983 mCheckMustKeepAlive(true ),
80- mSentClose(false ) {}
84+ mSentClose(false ),
85+ mLabel(aLabel),
86+ mOrdered(aOrdered),
87+ mMaxPacketLifeTime(aMaxLifeTime),
88+ mMaxRetransmits(aMaxRetransmits),
89+ mProtocol(aProtocol),
90+ mNegotiated(aNegotiated) {}
8191
8292nsresult nsDOMDataChannel::Init (nsPIDOMWindowInner* aDOMWindow) {
8393 nsresult rv;
@@ -111,12 +121,10 @@ nsresult nsDOMDataChannel::Init(nsPIDOMWindowInner* aDOMWindow) {
111121
112122// Most of the GetFoo()/SetFoo()s don't need to touch shared resources and
113123// are safe after Close()
114- void nsDOMDataChannel::GetLabel (nsAString& aLabel) {
115- mDataChannel ->GetLabel (aLabel);
116- }
124+ void nsDOMDataChannel::GetLabel (nsAString& aLabel) const { aLabel = mLabel ; }
117125
118- void nsDOMDataChannel::GetProtocol (nsAString& aProtocol) {
119- mDataChannel -> GetProtocol ( aProtocol) ;
126+ void nsDOMDataChannel::GetProtocol (nsAString& aProtocol) const {
127+ aProtocol = mProtocol ;
120128}
121129
122130mozilla::dom::Nullable<uint16_t > nsDOMDataChannel::GetId () const {
@@ -127,26 +135,18 @@ mozilla::dom::Nullable<uint16_t> nsDOMDataChannel::GetId() const {
127135 return result;
128136}
129137
130- // XXX should be GetType()? Open question for the spec
131- bool nsDOMDataChannel::Reliable () const {
132- return mDataChannel ->GetType () ==
133- mozilla::DataChannelReliabilityPolicy::Reliable;
134- }
135-
136138mozilla::dom::Nullable<uint16_t > nsDOMDataChannel::GetMaxPacketLifeTime ()
137139 const {
138- return mDataChannel -> GetMaxPacketLifeTime () ;
140+ return mMaxPacketLifeTime ;
139141}
140142
141143mozilla::dom::Nullable<uint16_t > nsDOMDataChannel::GetMaxRetransmits () const {
142- return mDataChannel -> GetMaxRetransmits () ;
144+ return mMaxRetransmits ;
143145}
144146
145- bool nsDOMDataChannel::Negotiated () const {
146- return mDataChannel ->GetNegotiated ();
147- }
147+ bool nsDOMDataChannel::Negotiated () const { return mNegotiated ; }
148148
149- bool nsDOMDataChannel::Ordered () const { return mDataChannel -> GetOrdered () ; }
149+ bool nsDOMDataChannel::Ordered () const { return mOrdered ; }
150150
151151RTCDataChannelState nsDOMDataChannel::ReadyState () const {
152152 return static_cast <RTCDataChannelState>(mDataChannel ->GetReadyState ());
@@ -493,8 +493,14 @@ void nsDOMDataChannel::EventListenerRemoved(nsAtom* aType) {
493493/* static */
494494nsresult NS_NewDOMDataChannel (
495495 already_AddRefed<mozilla::DataChannel>&& aDataChannel,
496- nsPIDOMWindowInner* aWindow, nsDOMDataChannel** aDomDataChannel) {
497- RefPtr<nsDOMDataChannel> domdc = new nsDOMDataChannel (aDataChannel, aWindow);
496+ const nsAString& aLabel, bool aOrdered,
497+ mozilla::dom::Nullable<uint16_t > aMaxLifeTime,
498+ mozilla::dom::Nullable<uint16_t > aMaxRetransmits,
499+ const nsAString& aProtocol, bool aNegotiated, nsPIDOMWindowInner* aWindow,
500+ nsDOMDataChannel** aDomDataChannel) {
501+ RefPtr<nsDOMDataChannel> domdc =
502+ new nsDOMDataChannel (aLabel, aOrdered, aMaxLifeTime, aMaxRetransmits,
503+ aProtocol, aNegotiated, aDataChannel, aWindow);
498504
499505 nsresult rv = domdc->Init (aWindow);
500506 NS_ENSURE_SUCCESS (rv, rv);
0 commit comments