Bug 1801315, move some generic code to the baseclass, r=jesup,necko-reviewers

Differential Revision: https://phabricator.services.mozilla.com/D162423
This commit is contained in:
Olli Pettay 2022-11-22 10:17:51 +00:00
Родитель 936dd7061f
Коммит a7c140180a
4 изменённых файлов: 15 добавлений и 9 удалений

Просмотреть файл

@ -64,6 +64,19 @@ BaseWebSocketChannel::BaseWebSocketChannel()
mSerial = (processBits << kWebSocketIDWebSocketBits) | webSocketBits;
}
BaseWebSocketChannel::~BaseWebSocketChannel() {
NS_ReleaseOnMainThread("BaseWebSocketChannel::mLoadGroup",
mLoadGroup.forget());
NS_ReleaseOnMainThread("BaseWebSocketChannel::mLoadInfo", mLoadInfo.forget());
nsCOMPtr<nsIEventTarget> target;
{
auto lock = mTargetThread.Lock();
target.swap(*lock);
}
NS_ReleaseOnMainThread("BaseWebSocketChannel::mTargetThread",
target.forget());
}
//-----------------------------------------------------------------------------
// BaseWebSocketChannel::nsIWebSocketChannel
//-----------------------------------------------------------------------------

Просмотреть файл

@ -95,6 +95,7 @@ class BaseWebSocketChannel : public nsIWebSocketChannel,
};
protected:
virtual ~BaseWebSocketChannel();
nsCOMPtr<nsIURI> mOriginalURI;
nsCOMPtr<nsIURI> mURI;
RefPtr<ListenerAndContextContainer> mListenerMT;

Просмотреть файл

@ -1224,15 +1224,7 @@ WebSocketChannel::~WebSocketChannel() {
mListenerMT = nullptr;
NS_ReleaseOnMainThread("WebSocketChannel::mLoadGroup", mLoadGroup.forget());
NS_ReleaseOnMainThread("WebSocketChannel::mLoadInfo", mLoadInfo.forget());
NS_ReleaseOnMainThread("WebSocketChannel::mService", mService.forget());
nsCOMPtr<nsIEventTarget> target;
{
auto lock = mTargetThread.Lock();
target.swap(*lock);
}
NS_ReleaseOnMainThread("WebSocketChannel::mTargetThread", target.forget());
}
NS_IMETHODIMP

Просмотреть файл

@ -137,7 +137,7 @@ class WebSocketChannel : public BaseWebSocketChannel,
const static uint8_t kPayloadLengthBitsMask = 0x7F;
protected:
virtual ~WebSocketChannel();
~WebSocketChannel() override;
private:
friend class OutboundEnqueuer;