| Index: chrome/browser/devtools/device/android_web_socket.cc
|
| diff --git a/chrome/browser/devtools/device/android_web_socket.cc b/chrome/browser/devtools/device/android_web_socket.cc
|
| index 7f9f5b7b80683030f9a69da0bef6bf928e3facac..b26c1ee2d9641c541388447687138cd759f3c05e 100644
|
| --- a/chrome/browser/devtools/device/android_web_socket.cc
|
| +++ b/chrome/browser/devtools/device/android_web_socket.cc
|
| @@ -9,7 +9,7 @@
|
| #include "content/public/browser/browser_thread.h"
|
| #include "net/base/io_buffer.h"
|
| #include "net/base/net_errors.h"
|
| -#include "net/server/web_socket.h"
|
| +#include "net/server/web_socket_encoder.h"
|
| #include "net/socket/stream_socket.h"
|
|
|
| using content::BrowserThread;
|
| @@ -26,9 +26,10 @@ class AndroidDeviceManager::AndroidWebSocket::WebSocketImpl {
|
| WebSocketImpl(scoped_refptr<base::MessageLoopProxy> response_message_loop,
|
| base::WeakPtr<AndroidWebSocket> weak_socket,
|
| scoped_ptr<net::StreamSocket> socket)
|
| - : response_message_loop_(response_message_loop),
|
| - weak_socket_(weak_socket),
|
| - socket_(socket.Pass()) {
|
| + : response_message_loop_(response_message_loop),
|
| + weak_socket_(weak_socket),
|
| + socket_(socket.Pass()),
|
| + encoder_(net::WebSocketEncoder::CreateClient(std::string())) {
|
| thread_checker_.DetachFromThread();
|
| }
|
|
|
| @@ -44,7 +45,8 @@ class AndroidDeviceManager::AndroidWebSocket::WebSocketImpl {
|
| if (!socket_)
|
| return;
|
| int mask = base::RandInt(0, 0x7FFFFFFF);
|
| - std::string encoded_frame = WebSocket::EncodeFrameHybi17(message, mask);
|
| + std::string encoded_frame;
|
| + encoder_->EncodeFrame(message, mask, &encoded_frame);
|
| request_buffer_ += encoded_frame;
|
| if (request_buffer_.length() == encoded_frame.length())
|
| SendPendingRequests(0);
|
| @@ -71,16 +73,16 @@ class AndroidDeviceManager::AndroidWebSocket::WebSocketImpl {
|
|
|
| int bytes_consumed;
|
| std::string output;
|
| - WebSocket::ParseResult parse_result = WebSocket::DecodeFrameHybi17(
|
| - response_buffer_, false, &bytes_consumed, &output);
|
| + WebSocket::ParseResult parse_result = encoder_->DecodeFrame(
|
| + response_buffer_, &bytes_consumed, &output);
|
|
|
| while (parse_result == WebSocket::FRAME_OK) {
|
| response_buffer_ = response_buffer_.substr(bytes_consumed);
|
| response_message_loop_->PostTask(
|
| FROM_HERE,
|
| base::Bind(&AndroidWebSocket::OnFrameRead, weak_socket_, output));
|
| - parse_result = WebSocket::DecodeFrameHybi17(
|
| - response_buffer_, false, &bytes_consumed, &output);
|
| + parse_result = encoder_->DecodeFrame(
|
| + response_buffer_, &bytes_consumed, &output);
|
| }
|
|
|
| if (parse_result == WebSocket::FRAME_ERROR ||
|
| @@ -121,6 +123,7 @@ class AndroidDeviceManager::AndroidWebSocket::WebSocketImpl {
|
| scoped_refptr<base::MessageLoopProxy> response_message_loop_;
|
| base::WeakPtr<AndroidWebSocket> weak_socket_;
|
| scoped_ptr<net::StreamSocket> socket_;
|
| + scoped_ptr<net::WebSocketEncoder> encoder_;
|
| std::string response_buffer_;
|
| std::string request_buffer_;
|
| base::ThreadChecker thread_checker_;
|
|
|