Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1124)

Unified Diff: chrome/browser/devtools/device/android_web_socket.cc

Issue 769423005: Support WebSocket per-message deflate extension in http server. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix iOS build Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | net/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | net/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698