Index: third_party/WebKit/Source/modules/mediastream/RTCDataChannel.h |
diff --git a/third_party/WebKit/Source/modules/mediastream/RTCDataChannel.h b/third_party/WebKit/Source/modules/mediastream/RTCDataChannel.h |
index fdda686beae88244eb8a8063db2a9dc92c444129..f2a3a9017ebf8187d1f68a84f9255fe1209b8d13 100644 |
--- a/third_party/WebKit/Source/modules/mediastream/RTCDataChannel.h |
+++ b/third_party/WebKit/Source/modules/mediastream/RTCDataChannel.h |
@@ -49,8 +49,8 @@ |
REFCOUNTED_GARBAGE_COLLECTED_EVENT_TARGET(RTCDataChannel); |
DEFINE_WRAPPERTYPEINFO(); |
public: |
- static RTCDataChannel* create(ExecutionContext*, PassOwnPtr<WebRTCDataChannelHandler>); |
- static RTCDataChannel* create(ExecutionContext*, WebRTCPeerConnectionHandler*, const String& label, const WebRTCDataChannelInit&, ExceptionState&); |
+ static RTCDataChannel* create(ExecutionContext*, RTCPeerConnection*, PassOwnPtr<WebRTCDataChannelHandler>); |
+ static RTCDataChannel* create(ExecutionContext*, RTCPeerConnection*, WebRTCPeerConnectionHandler*, const String& label, const WebRTCDataChannelInit&, ExceptionState&); |
~RTCDataChannel() override; |
ReadyState getHandlerState() const; |
@@ -88,9 +88,13 @@ |
DEFINE_ATTRIBUTE_EVENT_LISTENER(close); |
DEFINE_ATTRIBUTE_EVENT_LISTENER(message); |
+ void stop(); |
+ |
// EventTarget |
const AtomicString& interfaceName() const override; |
ExecutionContext* executionContext() const override; |
+ |
+ void clearWeakMembers(Visitor*); |
// Oilpan: need to eagerly finalize m_handler |
EAGERLY_FINALIZE(); |
@@ -104,7 +108,7 @@ |
void didDetectError() override; |
private: |
- RTCDataChannel(ExecutionContext*, PassOwnPtr<WebRTCDataChannelHandler>); |
+ RTCDataChannel(ExecutionContext*, RTCPeerConnection*, PassOwnPtr<WebRTCDataChannelHandler>); |
void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); |
void scheduledEventTimerFired(Timer<RTCDataChannel>*); |
@@ -112,6 +116,8 @@ |
RawPtrWillBeMember<ExecutionContext> m_executionContext; |
OwnPtr<WebRTCDataChannelHandler> m_handler; |
+ |
+ bool m_stopped; |
WebRTCDataChannelHandlerClient::ReadyState m_readyState; |
@@ -124,6 +130,8 @@ |
Timer<RTCDataChannel> m_scheduledEventTimer; |
WillBeHeapVector<RefPtrWillBeMember<Event>> m_scheduledEvents; |
+ WeakMember<RTCPeerConnection> m_connection; |
+ |
unsigned m_bufferedAmountLowThreshold; |
FRIEND_TEST_ALL_PREFIXES(RTCDataChannelTest, BufferedAmountLow); |