Index: Source/modules/mediastream/RTCDataChannel.h |
diff --git a/Source/modules/mediastream/RTCDataChannel.h b/Source/modules/mediastream/RTCDataChannel.h |
index 8cd17b7b7034a3c878273012e3463aa72d3c2af7..61c121b3c0b694c26f040fbf0d8155b820bc5c7d 100644 |
--- a/Source/modules/mediastream/RTCDataChannel.h |
+++ b/Source/modules/mediastream/RTCDataChannel.h |
@@ -43,13 +43,14 @@ namespace WebCore { |
class Blob; |
class ExceptionState; |
+class RTCPeerConnection; |
class RTCDataChannel FINAL : public RefCountedWillBeRefCountedGarbageCollected<RTCDataChannel>, public ScriptWrappable, public EventTargetWithInlineData, public blink::WebRTCDataChannelHandlerClient { |
REFCOUNTED_EVENT_TARGET(RTCDataChannel); |
WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(RTCDataChannel); |
public: |
- static PassRefPtrWillBeRawPtr<RTCDataChannel> create(ExecutionContext*, PassOwnPtr<blink::WebRTCDataChannelHandler>); |
- static PassRefPtrWillBeRawPtr<RTCDataChannel> create(ExecutionContext*, blink::WebRTCPeerConnectionHandler*, const String& label, const blink::WebRTCDataChannelInit&, ExceptionState&); |
+ static PassRefPtrWillBeRawPtr<RTCDataChannel> create(ExecutionContext*, RTCPeerConnection*, PassOwnPtr<blink::WebRTCDataChannelHandler>); |
+ static PassRefPtrWillBeRawPtr<RTCDataChannel> create(ExecutionContext*, RTCPeerConnection*, blink::WebRTCPeerConnectionHandler*, const String& label, const blink::WebRTCDataChannelInit&, ExceptionState&); |
virtual ~RTCDataChannel(); |
String label() const; |
@@ -87,10 +88,14 @@ public: |
virtual const AtomicString& interfaceName() const OVERRIDE; |
virtual ExecutionContext* executionContext() const OVERRIDE; |
+#if ENABLE(OILPAN) |
+ void clearWeakMembers(Visitor*); |
+#endif |
+ |
virtual void trace(Visitor*) OVERRIDE; |
private: |
- RTCDataChannel(ExecutionContext*, PassOwnPtr<blink::WebRTCDataChannelHandler>); |
+ RTCDataChannel(ExecutionContext*, RTCPeerConnection*, PassOwnPtr<blink::WebRTCDataChannelHandler>); |
void scheduleDispatchEvent(PassRefPtrWillBeRawPtr<Event>); |
void scheduledEventTimerFired(Timer<RTCDataChannel>*); |
@@ -117,6 +122,10 @@ private: |
Timer<RTCDataChannel> m_scheduledEventTimer; |
WillBeHeapVector<RefPtrWillBeMember<Event> > m_scheduledEvents; |
+ |
+#if ENABLE(OILPAN) |
+ WeakMember<RTCPeerConnection> m_connection; |
+#endif |
}; |
} // namespace WebCore |