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

Side by Side Diff: Source/modules/mediastream/RTCSessionDescriptionRequestImpl.h

Issue 329093002: Allow PeerConnection to be garbage collected after close(). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Use ref counting for pending activity for a async operations. 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 30 matching lines...) Expand all
41 } 41 }
42 42
43 namespace WebCore { 43 namespace WebCore {
44 44
45 class RTCErrorCallback; 45 class RTCErrorCallback;
46 class RTCPeerConnection; 46 class RTCPeerConnection;
47 class RTCSessionDescriptionCallback; 47 class RTCSessionDescriptionCallback;
48 48
49 class RTCSessionDescriptionRequestImpl FINAL : public RTCSessionDescriptionReque st, public ActiveDOMObject { 49 class RTCSessionDescriptionRequestImpl FINAL : public RTCSessionDescriptionReque st, public ActiveDOMObject {
50 public: 50 public:
51 static PassRefPtr<RTCSessionDescriptionRequestImpl> create(ExecutionContext* , PassOwnPtr<RTCSessionDescriptionCallback>, PassOwnPtr<RTCErrorCallback>); 51 static PassRefPtr<RTCSessionDescriptionRequestImpl> create(ExecutionContext* , RTCPeerConnection*, PassOwnPtr<RTCSessionDescriptionCallback>, PassOwnPtr<RTCE rrorCallback>);
52 virtual ~RTCSessionDescriptionRequestImpl(); 52 virtual ~RTCSessionDescriptionRequestImpl();
53 53
54 virtual void requestSucceeded(const blink::WebRTCSessionDescription&) OVERRI DE; 54 virtual void requestSucceeded(const blink::WebRTCSessionDescription&) OVERRI DE;
55 virtual void requestFailed(const String& error) OVERRIDE; 55 virtual void requestFailed(const String& error) OVERRIDE;
56 56
57 // ActiveDOMObject 57 // ActiveDOMObject
58 virtual void stop() OVERRIDE; 58 virtual void stop() OVERRIDE;
59 59
60 private: 60 private:
61 RTCSessionDescriptionRequestImpl(ExecutionContext*, PassOwnPtr<RTCSessionDes criptionCallback>, PassOwnPtr<RTCErrorCallback>); 61 RTCSessionDescriptionRequestImpl(ExecutionContext*, RTCPeerConnection*, Pass OwnPtr<RTCSessionDescriptionCallback>, PassOwnPtr<RTCErrorCallback>);
62 62
63 void clear(); 63 void clear();
64 64
65 OwnPtr<RTCSessionDescriptionCallback> m_successCallback; 65 OwnPtr<RTCSessionDescriptionCallback> m_successCallback;
66 OwnPtr<RTCErrorCallback> m_errorCallback; 66 OwnPtr<RTCErrorCallback> m_errorCallback;
67
68 // TODO - BEFORE COMMIT: Raw pointer OK?
69 RTCPeerConnection* m_requester;
haraken 2014/06/13 01:23:00 I guess this needs to be a RefPtr. Otherwise, the
Henrik Grunell 2014/06/13 07:50:46 Well, it should have been prevented with the ref c
67 }; 70 };
68 71
69 } // namespace WebCore 72 } // namespace WebCore
70 73
71 #endif // RTCSessionDescriptionRequestImpl_h 74 #endif // RTCSessionDescriptionRequestImpl_h
72 75
73 76
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698