зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1028588 - Fix dangerous public destructors in media/webrtc/ - r=rjesup
This commit is contained in:
Родитель
7e504be6f6
Коммит
2088c4eef4
|
@ -33,7 +33,6 @@ public:
|
|||
};
|
||||
|
||||
MediaStreamList(sipcc::PeerConnectionImpl* peerConnection, StreamType type);
|
||||
virtual ~MediaStreamList();
|
||||
|
||||
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
|
||||
NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(MediaStreamList)
|
||||
|
@ -46,6 +45,8 @@ public:
|
|||
uint32_t Length();
|
||||
|
||||
private:
|
||||
virtual ~MediaStreamList();
|
||||
|
||||
nsRefPtr<sipcc::PeerConnectionImpl> mPeerConnection;
|
||||
StreamType mType;
|
||||
};
|
||||
|
|
|
@ -131,14 +131,6 @@ public:
|
|||
(void) rv;
|
||||
}
|
||||
|
||||
virtual ~PeerConnectionCtxShutdown()
|
||||
{
|
||||
nsCOMPtr<nsIObserverService> observerService =
|
||||
services::GetObserverService();
|
||||
if (observerService)
|
||||
observerService->RemoveObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP Observe(nsISupports* aSubject, const char* aTopic,
|
||||
const char16_t* aData) {
|
||||
if (strcmp(aTopic, NS_XPCOM_SHUTDOWN_OBSERVER_ID) == 0) {
|
||||
|
@ -160,6 +152,15 @@ public:
|
|||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
private:
|
||||
virtual ~PeerConnectionCtxShutdown()
|
||||
{
|
||||
nsCOMPtr<nsIObserverService> observerService =
|
||||
services::GetObserverService();
|
||||
if (observerService)
|
||||
observerService->RemoveObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID);
|
||||
}
|
||||
};
|
||||
|
||||
NS_IMPL_ISUPPORTS(PeerConnectionCtxShutdown, nsIObserver);
|
||||
|
|
|
@ -211,7 +211,6 @@ class PeerConnectionImpl MOZ_FINAL : public nsISupports,
|
|||
|
||||
public:
|
||||
PeerConnectionImpl(const mozilla::dom::GlobalObject* aGlobal = nullptr);
|
||||
virtual ~PeerConnectionImpl();
|
||||
|
||||
enum Error {
|
||||
kNoError = 0,
|
||||
|
@ -566,6 +565,7 @@ public:
|
|||
#endif
|
||||
|
||||
private:
|
||||
virtual ~PeerConnectionImpl();
|
||||
PeerConnectionImpl(const PeerConnectionImpl&rhs);
|
||||
PeerConnectionImpl& operator=(PeerConnectionImpl);
|
||||
NS_IMETHODIMP Initialize(PeerConnectionObserver& aObserver,
|
||||
|
|
|
@ -105,7 +105,6 @@ class Fake_MediaPeriodic : public nsITimerCallback {
|
|||
public:
|
||||
Fake_MediaPeriodic(Fake_MediaStream *aStream) : mStream(aStream),
|
||||
mCount(0) {}
|
||||
virtual ~Fake_MediaPeriodic() {}
|
||||
void Detach() {
|
||||
mStream = nullptr;
|
||||
}
|
||||
|
@ -116,6 +115,8 @@ Fake_MediaPeriodic(Fake_MediaStream *aStream) : mStream(aStream),
|
|||
NS_DECL_NSITIMERCALLBACK
|
||||
|
||||
protected:
|
||||
virtual ~Fake_MediaPeriodic() {}
|
||||
|
||||
Fake_MediaStream *mStream;
|
||||
int mCount;
|
||||
};
|
||||
|
@ -211,16 +212,17 @@ class Fake_SourceMediaStream : public Fake_MediaStream {
|
|||
|
||||
class Fake_DOMMediaStream : public nsIDOMMediaStream
|
||||
{
|
||||
public:
|
||||
Fake_DOMMediaStream() : mMediaStream(new Fake_MediaStream()) {}
|
||||
Fake_DOMMediaStream(Fake_MediaStream *stream) :
|
||||
mMediaStream(stream) {}
|
||||
|
||||
protected:
|
||||
virtual ~Fake_DOMMediaStream() {
|
||||
// Note: memory leak
|
||||
mMediaStream->Stop();
|
||||
}
|
||||
|
||||
public:
|
||||
Fake_DOMMediaStream() : mMediaStream(new Fake_MediaStream()) {}
|
||||
Fake_DOMMediaStream(Fake_MediaStream *stream) :
|
||||
mMediaStream(stream) {}
|
||||
|
||||
NS_DECL_THREADSAFE_ISUPPORTS
|
||||
|
||||
static already_AddRefed<Fake_DOMMediaStream>
|
||||
|
|
|
@ -240,6 +240,9 @@ enum mediaPipelineFlags
|
|||
|
||||
class TestObserver : public AFakePCObserver
|
||||
{
|
||||
protected:
|
||||
~TestObserver() {}
|
||||
|
||||
public:
|
||||
TestObserver(sipcc::PeerConnectionImpl *peerConnection,
|
||||
const std::string &aName) :
|
||||
|
@ -687,13 +690,14 @@ class ParsedSDP {
|
|||
// into it happen on the main thread.
|
||||
class PCDispatchWrapper : public nsSupportsWeakReference
|
||||
{
|
||||
protected:
|
||||
virtual ~PCDispatchWrapper() {}
|
||||
|
||||
public:
|
||||
PCDispatchWrapper(sipcc::PeerConnectionImpl *peerConnection) {
|
||||
pc_ = peerConnection;
|
||||
}
|
||||
|
||||
virtual ~PCDispatchWrapper() {}
|
||||
|
||||
NS_DECL_THREADSAFE_ISUPPORTS
|
||||
|
||||
sipcc::PeerConnectionImpl *pcImpl() const {
|
||||
|
|
Загрузка…
Ссылка в новой задаче