Chromium Code Reviews| Index: Source/web/WebSocketImpl.cpp |
| diff --git a/Source/web/WebSocketImpl.cpp b/Source/web/WebSocketImpl.cpp |
| index a83ba25326394e7a51e9478dbee80c0b17c33252..da2b1c33fb0723fdd24c6ea885e299e195bbd7a0 100644 |
| --- a/Source/web/WebSocketImpl.cpp |
| +++ b/Source/web/WebSocketImpl.cpp |
| @@ -42,6 +42,7 @@ |
| #include "public/platform/WebURL.h" |
| #include "public/web/WebDocument.h" |
| #include "wtf/ArrayBuffer.h" |
| +#include "wtf/text/CString.h" |
| #include "wtf/text/WTFString.h" |
| using namespace WebCore; |
| @@ -51,6 +52,7 @@ namespace blink { |
| WebSocketImpl::WebSocketImpl(const WebDocument& document, WebSocketClient* client) |
| : m_client(client) |
| , m_binaryType(BinaryTypeBlob) |
| + , m_bufferedAmount(0) |
| { |
| RefPtrWillBeRawPtr<Document> coreDocument = PassRefPtrWillBeRawPtr<Document>(document); |
| if (RuntimeEnabledFeatures::experimentalWebSocketEnabled()) { |
| @@ -95,17 +97,19 @@ WebString WebSocketImpl::extensions() |
| bool WebSocketImpl::sendText(const WebString& message) |
| { |
| + m_bufferedAmount += ((String)message).utf8().length(); |
|
tyoshino (SeeGerritForStatus)
2014/06/16 07:31:42
WebString also has utf8()?
yhirano
2014/06/16 10:19:45
Done.
|
| return m_private->send(message) == WebSocketChannel::SendSuccess; |
| } |
| bool WebSocketImpl::sendArrayBuffer(const WebArrayBuffer& webArrayBuffer) |
| { |
| + m_bufferedAmount += webArrayBuffer.byteLength(); |
| return m_private->send(*PassRefPtr<ArrayBuffer>(webArrayBuffer), 0, webArrayBuffer.byteLength()) == WebSocketChannel::SendSuccess; |
| } |
| unsigned long WebSocketImpl::bufferedAmount() const |
| { |
| - return m_private->bufferedAmount(); |
| + return m_bufferedAmount; |
| } |
| void WebSocketImpl::close(int code, const WebString& reason) |
| @@ -151,9 +155,9 @@ void WebSocketImpl::didReceiveMessageError() |
| m_client->didReceiveMessageError(); |
| } |
| -void WebSocketImpl::didUpdateBufferedAmount(unsigned long bufferedAmount) |
| +void WebSocketImpl::didConsumeBufferedAmount(unsigned long consumed) |
| { |
| - m_client->didUpdateBufferedAmount(bufferedAmount); |
| + m_bufferedAmount -= consumed; |
| } |
| void WebSocketImpl::didStartClosingHandshake() |
| @@ -161,9 +165,9 @@ void WebSocketImpl::didStartClosingHandshake() |
| m_client->didStartClosingHandshake(); |
| } |
| -void WebSocketImpl::didClose(unsigned long bufferedAmount, ClosingHandshakeCompletionStatus status, unsigned short code, const String& reason) |
| +void WebSocketImpl::didClose(ClosingHandshakeCompletionStatus status, unsigned short code, const String& reason) |
| { |
| - m_client->didClose(bufferedAmount, static_cast<WebSocketClient::ClosingHandshakeCompletionStatus>(status), code, WebString(reason)); |
| + m_client->didClose(m_bufferedAmount, static_cast<WebSocketClient::ClosingHandshakeCompletionStatus>(status), code, WebString(reason)); |
| } |
| } // namespace blink |