Backed out changeset 259ad0fe9f08 (bug 1675207) for build bustages on WebSocketChannelChild.h. CLOSED TREE

This commit is contained in:
Razvan Maries 2020-12-11 12:05:34 +02:00
Родитель b86715288c
Коммит 63e133ae53
5 изменённых файлов: 7 добавлений и 62 удалений

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

@ -860,23 +860,6 @@ WebSocketImpl::OnServerClose(nsISupports* aContext, uint16_t aCode,
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
WebSocketImpl::OnError() {
if (!IsTargetThread()) {
return Dispatch(
NS_NewRunnableFunction("dom::FailConnectionRunnable",
[self = RefPtr{this}]() {
self->FailConnection(
nsIWebSocketChannel::CLOSE_ABNORMAL);
}),
NS_DISPATCH_NORMAL);
}
AssertIsOnTargetThread();
FailConnection(nsIWebSocketChannel::CLOSE_ABNORMAL);
return NS_OK;
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// WebSocketImpl::nsIInterfaceRequestor // WebSocketImpl::nsIInterfaceRequestor
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

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

@ -294,44 +294,22 @@ class MessageEvent : public WebSocketEvent {
bool mBinary; bool mBinary;
}; };
bool WebSocketChannelChild::RecvOnMessageAvailableInternal( void WebSocketChannelChild::RecvOnMessageAvailableInternal(
const nsDependentCSubstring& aMsg, bool aMoreData, bool aBinary) { const nsDependentCSubstring& aMsg, bool aMoreData, bool aBinary) {
if (aMoreData) { if (aMoreData) {
return mReceivedMsgBuffer.Append(aMsg, fallible); mReceivedMsgBuffer.Append(aMsg);
} return;
if (!mReceivedMsgBuffer.Append(aMsg, fallible)) {
return false;
} }
mReceivedMsgBuffer.Append(aMsg);
mEventQ->RunOrEnqueue(new EventTargetDispatcher( mEventQ->RunOrEnqueue(new EventTargetDispatcher(
this, new MessageEvent(mReceivedMsgBuffer, aBinary), mTargetThread)); this, new MessageEvent(mReceivedMsgBuffer, aBinary), mTargetThread));
mReceivedMsgBuffer.Truncate(); mReceivedMsgBuffer.Truncate();
return true;
}
class ErrorEvent : public WebSocketEvent {
public:
ErrorEvent() = default;
void Run(WebSocketChannelChild* aChild) override { aChild->OnError(); }
};
void WebSocketChannelChild::OnError() {
LOG(("WebSocketChannelChild::OnError() %p", this));
if (mListenerMT) {
AutoEventEnqueuer ensureSerialDispatch(mEventQ);
Unused << mListenerMT->mListener->OnError();
}
} }
mozilla::ipc::IPCResult WebSocketChannelChild::RecvOnMessageAvailable( mozilla::ipc::IPCResult WebSocketChannelChild::RecvOnMessageAvailable(
const nsDependentCSubstring& aMsg, const bool& aMoreData) { const nsDependentCSubstring& aMsg, const bool& aMoreData) {
if (!RecvOnMessageAvailableInternal(aMsg, aMoreData, false)) { RecvOnMessageAvailableInternal(aMsg, aMoreData, false);
LOG(("WebSocketChannelChild %p append message failed", this));
mEventQ->RunOrEnqueue(
new EventTargetDispatcher(this, new ErrorEvent(), mTargetThread));
}
return IPC_OK(); return IPC_OK();
} }
@ -353,11 +331,7 @@ void WebSocketChannelChild::OnMessageAvailable(const nsCString& aMsg) {
mozilla::ipc::IPCResult WebSocketChannelChild::RecvOnBinaryMessageAvailable( mozilla::ipc::IPCResult WebSocketChannelChild::RecvOnBinaryMessageAvailable(
const nsDependentCSubstring& aMsg, const bool& aMoreData) { const nsDependentCSubstring& aMsg, const bool& aMoreData) {
if (!RecvOnMessageAvailableInternal(aMsg, aMoreData, true)) { RecvOnMessageAvailableInternal(aMsg, aMoreData, true);
LOG(("WebSocketChannelChild %p append message failed", this));
mEventQ->RunOrEnqueue(
new EventTargetDispatcher(this, new ErrorEvent(), mTargetThread));
}
return IPC_OK(); return IPC_OK();
} }

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

@ -82,11 +82,9 @@ class WebSocketChannelChild final : public BaseWebSocketChannel,
// This function tries to get a labeled event target for |mNeckoTarget|. // This function tries to get a labeled event target for |mNeckoTarget|.
void SetupNeckoTarget(); void SetupNeckoTarget();
bool RecvOnMessageAvailableInternal(const nsDependentCSubstring& aMsg, void RecvOnMessageAvailableInternal(const nsDependentCSubstring& aMsg,
bool aMoreData, bool aBinary); bool aMoreData, bool aBinary);
void OnError();
RefPtr<ChannelEventQueue> mEventQ; RefPtr<ChannelEventQueue> mEventQ;
nsString mEffectiveURL; nsString mEffectiveURL;
nsCString mReceivedMsgBuffer; nsCString mReceivedMsgBuffer;
@ -102,7 +100,6 @@ class WebSocketChannelChild final : public BaseWebSocketChannel,
friend class AcknowledgeEvent; friend class AcknowledgeEvent;
friend class ServerCloseEvent; friend class ServerCloseEvent;
friend class AsyncOpenFailedEvent; friend class AsyncOpenFailedEvent;
friend class ErrorEvent;
}; };
} // namespace net } // namespace net

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

@ -307,9 +307,6 @@ WebSocketChannelParent::OnServerClose(nsISupports* aContext, uint16_t code,
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
WebSocketChannelParent::OnError() { return NS_OK; }
void WebSocketChannelParent::ActorDestroy(ActorDestroyReason why) { void WebSocketChannelParent::ActorDestroy(ActorDestroyReason why) {
LOG(("WebSocketChannelParent::ActorDestroy() %p\n", this)); LOG(("WebSocketChannelParent::ActorDestroy() %p\n", this));

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

@ -85,12 +85,6 @@ interface nsIWebSocketListener : nsISupports
in unsigned short aCode, in unsigned short aCode,
in AUTF8String aReason); in AUTF8String aReason);
/**
* Called to inform an error is happened. The connection will be closed
* when this is called.
*/
[must_use] void OnError();
}; };