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

Side by Side Diff: chrome/browser/devtools/device/android_web_socket.cc

Issue 296053012: Replace StreamListenSocket with StreamSocket in HttpServer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use base::StringPiece in some places not to copy data. Created 6 years, 6 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/message_loop/message_loop.h" 5 #include "base/message_loop/message_loop.h"
6 #include "base/rand_util.h" 6 #include "base/rand_util.h"
7 #include "chrome/browser/devtools/device/devtools_android_bridge.h" 7 #include "chrome/browser/devtools/device/devtools_android_bridge.h"
8 #include "content/public/browser/browser_thread.h" 8 #include "content/public/browser/browser_thread.h"
9 #include "net/base/io_buffer.h" 9 #include "net/base/io_buffer.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 void WebSocketImpl::OnBytesRead( 143 void WebSocketImpl::OnBytesRead(
144 scoped_refptr<net::IOBuffer> response_buffer, int result) { 144 scoped_refptr<net::IOBuffer> response_buffer, int result) {
145 if (!socket_) 145 if (!socket_)
146 return; 146 return;
147 147
148 if (result <= 0) { 148 if (result <= 0) {
149 DisconnectOnHandlerThread(true); 149 DisconnectOnHandlerThread(true);
150 return; 150 return;
151 } 151 }
152 152
153 std::string data = std::string(response_buffer->data(), result); 153 response_buffer_.append(response_buffer->data(), result);
154 response_buffer_ += data;
155 154
156 int bytes_consumed; 155 int bytes_consumed;
157 std::string output; 156 std::string output;
158 WebSocket::ParseResult parse_result = WebSocket::DecodeFrameHybi17( 157 WebSocket::ParseResult parse_result = WebSocket::DecodeFrameHybi17(
159 response_buffer_, false, &bytes_consumed, &output); 158 response_buffer_, false, &bytes_consumed, &output);
160 159
161 while (parse_result == WebSocket::FRAME_OK) { 160 while (parse_result == WebSocket::FRAME_OK) {
162 response_buffer_ = response_buffer_.substr(bytes_consumed); 161 response_buffer_ = response_buffer_.substr(bytes_consumed);
163 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, 162 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
164 base::Bind(&WebSocketImpl::OnFrameRead, this, output)); 163 base::Bind(&WebSocketImpl::OnFrameRead, this, output));
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 scoped_refptr<DevToolsAndroidBridge::AndroidWebSocket> 226 scoped_refptr<DevToolsAndroidBridge::AndroidWebSocket>
228 DevToolsAndroidBridge::RemoteBrowser::CreateWebSocket( 227 DevToolsAndroidBridge::RemoteBrowser::CreateWebSocket(
229 const std::string& url, 228 const std::string& url,
230 DevToolsAndroidBridge::AndroidWebSocket::Delegate* delegate) { 229 DevToolsAndroidBridge::AndroidWebSocket::Delegate* delegate) {
231 return new WebSocketImpl( 230 return new WebSocketImpl(
232 android_bridge_, 231 android_bridge_,
233 android_bridge_->device_manager(), 232 android_bridge_->device_manager(),
234 android_bridge_->device_message_loop(), 233 android_bridge_->device_message_loop(),
235 serial_, socket_, url, delegate); 234 serial_, socket_, url, delegate);
236 } 235 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/devtools/remote_debugging_server.cc » ('j') | net/server/http_connection.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698