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

Side by Side Diff: content/browser/renderer_host/pepper/pepper_tcp_socket.cc

Issue 10919169: Change how PepperMessageFilter is constructed, to simplify its use. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/pepper/pepper_tcp_socket.h" 5 #include "content/browser/renderer_host/pepper/pepper_tcp_socket.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 socket_(socket) { 62 socket_(socket) {
63 DCHECK(manager); 63 DCHECK(manager);
64 } 64 }
65 65
66 PepperTCPSocket::~PepperTCPSocket() { 66 PepperTCPSocket::~PepperTCPSocket() {
67 // Make sure no further callbacks from socket_. 67 // Make sure no further callbacks from socket_.
68 if (socket_.get()) 68 if (socket_.get())
69 socket_->Disconnect(); 69 socket_->Disconnect();
70 } 70 }
71 71
72 void PepperTCPSocket::Connect(const std::string& host, uint16_t port) { 72 void PepperTCPSocket::Connect(const std::string& host, uint16_t port,
73 net::HostResolver* host_resolver) {
73 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 74 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
74 75
75 if (connection_state_ != BEFORE_CONNECT) { 76 if (connection_state_ != BEFORE_CONNECT) {
76 SendConnectACKError(); 77 SendConnectACKError();
77 return; 78 return;
78 } 79 }
79 80
80 connection_state_ = CONNECT_IN_PROGRESS; 81 connection_state_ = CONNECT_IN_PROGRESS;
81 net::HostResolver::RequestInfo request_info(net::HostPortPair(host, port)); 82 net::HostResolver::RequestInfo request_info(net::HostPortPair(host, port));
82 resolver_.reset(new net::SingleRequestHostResolver( 83 resolver_.reset(new net::SingleRequestHostResolver(host_resolver));
83 manager_->GetHostResolver()));
84 int result = resolver_->Resolve( 84 int result = resolver_->Resolve(
85 request_info, &address_list_, 85 request_info, &address_list_,
86 base::Bind(&PepperTCPSocket::OnResolveCompleted, base::Unretained(this)), 86 base::Bind(&PepperTCPSocket::OnResolveCompleted, base::Unretained(this)),
87 net::BoundNetLog()); 87 net::BoundNetLog());
88 if (result != net::ERR_IO_PENDING) 88 if (result != net::ERR_IO_PENDING)
89 OnResolveCompleted(result); 89 OnResolveCompleted(result);
90 } 90 }
91 91
92 void PepperTCPSocket::ConnectWithNetAddress( 92 void PepperTCPSocket::ConnectWithNetAddress(
93 const PP_NetAddress_Private& net_addr) { 93 const PP_NetAddress_Private& net_addr) {
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 DCHECK(write_buffer_base_.get()); 398 DCHECK(write_buffer_base_.get());
399 DCHECK(write_buffer_.get()); 399 DCHECK(write_buffer_.get());
400 DCHECK_GT(write_buffer_->BytesRemaining(), 0); 400 DCHECK_GT(write_buffer_->BytesRemaining(), 0);
401 401
402 int result = socket_->Write(write_buffer_, write_buffer_->BytesRemaining(), 402 int result = socket_->Write(write_buffer_, write_buffer_->BytesRemaining(),
403 base::Bind(&PepperTCPSocket::OnWriteCompleted, 403 base::Bind(&PepperTCPSocket::OnWriteCompleted,
404 base::Unretained(this))); 404 base::Unretained(this)));
405 if (result != net::ERR_IO_PENDING) 405 if (result != net::ERR_IO_PENDING)
406 OnWriteCompleted(result); 406 OnWriteCompleted(result);
407 } 407 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698