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

Side by Side Diff: chrome/browser/renderer_host/socket_stream_host.cc

Issue 6532073: Move core pieces of browser\renderer_host to src\content. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/renderer_host/socket_stream_host.h"
6
7 #include "base/logging.h"
8 #include "chrome/common/net/socket_stream.h"
9 #include "net/socket_stream/socket_stream_job.h"
10
11 static const char* kSocketIdKey = "socketId";
12
13 class SocketStreamId : public net::SocketStream::UserData {
14 public:
15 explicit SocketStreamId(int socket_id) : socket_id_(socket_id) {}
16 virtual ~SocketStreamId() {}
17 int socket_id() const { return socket_id_; }
18
19 private:
20 int socket_id_;
21 };
22
23 SocketStreamHost::SocketStreamHost(
24 net::SocketStream::Delegate* delegate,
25 int socket_id)
26 : delegate_(delegate),
27 socket_id_(socket_id) {
28 DCHECK_NE(socket_id_, chrome_common_net::kNoSocketId);
29 VLOG(1) << "SocketStreamHost: socket_id=" << socket_id_;
30 }
31
32 /* static */
33 int SocketStreamHost::SocketIdFromSocketStream(net::SocketStream* socket) {
34 net::SocketStream::UserData* d = socket->GetUserData(kSocketIdKey);
35 if (d) {
36 SocketStreamId* socket_stream_id = static_cast<SocketStreamId*>(d);
37 return socket_stream_id->socket_id();
38 }
39 return chrome_common_net::kNoSocketId;
40 }
41
42 SocketStreamHost::~SocketStreamHost() {
43 VLOG(1) << "SocketStreamHost destructed socket_id=" << socket_id_;
44 socket_->DetachDelegate();
45 }
46
47 void SocketStreamHost::Connect(const GURL& url,
48 net::URLRequestContext* request_context) {
49 VLOG(1) << "SocketStreamHost::Connect url=" << url;
50 socket_ = net::SocketStreamJob::CreateSocketStreamJob(url, delegate_);
51 socket_->set_context(request_context);
52 socket_->SetUserData(kSocketIdKey, new SocketStreamId(socket_id_));
53 socket_->Connect();
54 }
55
56 bool SocketStreamHost::SendData(const std::vector<char>& data) {
57 VLOG(1) << "SocketStreamHost::SendData";
58 return socket_ && socket_->SendData(&data[0], data.size());
59 }
60
61 void SocketStreamHost::Close() {
62 VLOG(1) << "SocketStreamHost::Close";
63 if (!socket_)
64 return;
65 socket_->Close();
66 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698