Skip to content
This repository has been archived by the owner on Oct 3, 2020. It is now read-only.

Commit

Permalink
backout b22f0cccfa7f so it can be re-merged with bug number in descri…
Browse files Browse the repository at this point in the history
…ption
  • Loading branch information
mcmanus committed Jun 21, 2011
1 parent 28d8290 commit e09ad8a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 25 deletions.
31 changes: 10 additions & 21 deletions netwerk/protocol/websocket/nsWebSocketHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,6 @@ nsWebSocketHandler::nsWebSocketHandler() :
mReleaseOnTransmit(0),
mMaxMessageSize(16000000),
mStopOnClose(NS_OK),
mCloseCode(kCloseAbnormal),
mFragmentOpcode(0),
mFragmentAccumulator(0),
mBuffered(0),
Expand Down Expand Up @@ -869,11 +868,11 @@ nsWebSocketHandler::ProcessInput(PRUint8 *buffer, PRUint32 count)
LOG(("WebSocketHandler:: close received\n"));
mServerClosed = 1;

mCloseCode = kCloseNoStatus;
if (payloadLength >= 2) {
memcpy(&mCloseCode, payload, 2);
mCloseCode = PR_ntohs(mCloseCode);
LOG(("WebSocketHandler:: close recvd code %u\n", mCloseCode));
PRUint16 code;
memcpy(&code, payload, 2);
code = PR_ntohs(code);
LOG(("WebSocketHandler:: close recvd code %u\n", code));
PRUint16 msglen = payloadLength - 2;
if (msglen > 0) {
nsCString utf8Data((const char *)payload + 2, msglen);
Expand Down Expand Up @@ -1068,21 +1067,6 @@ nsWebSocketHandler::SendMsgInternal(nsCString *aMsg,
OnOutputStreamReady(mSocketOut);
}

PRUint16
nsWebSocketHandler::ResultToCloseCode(nsresult resultCode)
{
if (NS_SUCCEEDED(resultCode))
return kCloseNormal;
if (resultCode == NS_ERROR_FILE_TOO_BIG)
return kCloseTooLarge;
if (resultCode == NS_BASE_STREAM_CLOSED ||
resultCode == NS_ERROR_NET_TIMEOUT ||
resultCode == NS_ERROR_CONNECTION_REFUSED)
return kCloseAbnormal;

return kCloseProtocolError;
}

void
nsWebSocketHandler::PrimeNewOutgoingMessage()
{
Expand Down Expand Up @@ -1129,7 +1113,12 @@ nsWebSocketHandler::PrimeNewOutgoingMessage()
payload = mOutHeader + 6;

// The close reason code sits in the first 2 bytes of payload
*((PRUint16 *)payload) = PR_htons(ResultToCloseCode(mStopOnClose));
if (NS_SUCCEEDED(mStopOnClose))
*((PRUint16 *)payload) = PR_htons(kCloseNormal);
else if (mStopOnClose == NS_ERROR_FILE_TOO_BIG)
*((PRUint16 *)payload) = PR_htons(kCloseTooLarge);
else
*((PRUint16 *)payload) = PR_htons(kCloseProtocolError);

mHdrOutToSend = 8;
if (mServerClosed) {
Expand Down
4 changes: 0 additions & 4 deletions netwerk/protocol/websocket/nsWebSocketHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,6 @@ class nsWebSocketHandler : public nsIWebSocketProtocol,
const static PRUint16 kCloseProtocolError = 1002;
const static PRUint16 kCloseUnsupported = 1003;
const static PRUint16 kCloseTooLarge = 1004;
const static PRUint16 kCloseNoStatus = 1005;
const static PRUint16 kCloseAbnormal = 1006;

protected:
virtual ~nsWebSocketHandler();
Expand All @@ -140,7 +138,6 @@ class nsWebSocketHandler : public nsIWebSocketProtocol,
nsresult HandleExtensions();
nsresult SetupRequest();
nsresult ApplyForAdmission();
PRUint16 ResultToCloseCode(nsresult resultCode);

void StopSession(nsresult reason);
void AbortSession(nsresult reason);
Expand Down Expand Up @@ -240,7 +237,6 @@ class nsWebSocketHandler : public nsIWebSocketProtocol,

PRInt32 mMaxMessageSize;
nsresult mStopOnClose;
PRUint16 mCloseCode;

// These are for the read buffers
PRUint8 *mFramePtr;
Expand Down

0 comments on commit e09ad8a

Please sign in to comment.