Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1621)

Unified Diff: Source/modules/mediastream/RTCDataChannel.h

Issue 342683002: Oilpan: Use weak processing to stop a closed RTCPeerConnection (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « no previous file | Source/modules/mediastream/RTCDataChannel.cpp » ('j') | Source/modules/mediastream/RTCDataChannel.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698