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

Side by Side Diff: trunk/src/content/browser/renderer_host/socket_stream_host.cc

Issue 197463003: Revert 256579 "Allow the content browser client to specify a spe..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 9 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/socket_stream_host.h" 5 #include "content/browser/renderer_host/socket_stream_host.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/common/socket_stream.h" 8 #include "content/common/socket_stream.h"
9 #include "content/public/browser/content_browser_client.h"
10 #include "net/socket_stream/socket_stream_job.h" 9 #include "net/socket_stream/socket_stream_job.h"
11 #include "net/url_request/url_request_context.h" 10 #include "net/url_request/url_request_context.h"
12 11
13 namespace content { 12 namespace content {
14 namespace { 13 namespace {
15 14
16 const char* kSocketIdKey = "socketId"; 15 const char* kSocketIdKey = "socketId";
17 16
18 class SocketStreamId : public net::SocketStream::UserData { 17 class SocketStreamId : public net::SocketStream::UserData {
19 public: 18 public:
20 explicit SocketStreamId(int socket_id) : socket_id_(socket_id) {} 19 explicit SocketStreamId(int socket_id) : socket_id_(socket_id) {}
21 virtual ~SocketStreamId() {} 20 virtual ~SocketStreamId() {}
22 int socket_id() const { return socket_id_; } 21 int socket_id() const { return socket_id_; }
23 22
24 private: 23 private:
25 int socket_id_; 24 int socket_id_;
26 }; 25 };
27 26
28 } // namespace 27 } // namespace
29 28
30 SocketStreamHost::SocketStreamHost( 29 SocketStreamHost::SocketStreamHost(
31 net::SocketStream::Delegate* delegate, 30 net::SocketStream::Delegate* delegate,
32 int child_id,
33 int render_frame_id, 31 int render_frame_id,
34 int socket_id) 32 int socket_id)
35 : delegate_(delegate), 33 : delegate_(delegate),
36 child_id_(child_id),
37 render_frame_id_(render_frame_id), 34 render_frame_id_(render_frame_id),
38 socket_id_(socket_id) { 35 socket_id_(socket_id) {
39 DCHECK_NE(socket_id_, kNoSocketId); 36 DCHECK_NE(socket_id_, kNoSocketId);
40 VLOG(1) << "SocketStreamHost: render_frame_id=" << render_frame_id 37 VLOG(1) << "SocketStreamHost: render_frame_id=" << render_frame_id
41 << " socket_id=" << socket_id_; 38 << " socket_id=" << socket_id_;
42 } 39 }
43 40
44 /* static */ 41 /* static */
45 int SocketStreamHost::SocketIdFromSocketStream( 42 int SocketStreamHost::SocketIdFromSocketStream(
46 const net::SocketStream* socket) { 43 const net::SocketStream* socket) {
47 net::SocketStream::UserData* d = socket->GetUserData(kSocketIdKey); 44 net::SocketStream::UserData* d = socket->GetUserData(kSocketIdKey);
48 if (d) { 45 if (d) {
49 SocketStreamId* socket_stream_id = static_cast<SocketStreamId*>(d); 46 SocketStreamId* socket_stream_id = static_cast<SocketStreamId*>(d);
50 return socket_stream_id->socket_id(); 47 return socket_stream_id->socket_id();
51 } 48 }
52 return kNoSocketId; 49 return kNoSocketId;
53 } 50 }
54 51
55 SocketStreamHost::~SocketStreamHost() { 52 SocketStreamHost::~SocketStreamHost() {
56 VLOG(1) << "SocketStreamHost destructed socket_id=" << socket_id_; 53 VLOG(1) << "SocketStreamHost destructed socket_id=" << socket_id_;
57 job_->DetachContext(); 54 job_->set_context(NULL);
58 job_->DetachDelegate(); 55 job_->DetachDelegate();
59 } 56 }
60 57
61 void SocketStreamHost::Connect(const GURL& url, 58 void SocketStreamHost::Connect(const GURL& url,
62 net::URLRequestContext* request_context) { 59 net::URLRequestContext* request_context) {
63 VLOG(1) << "SocketStreamHost::Connect url=" << url; 60 VLOG(1) << "SocketStreamHost::Connect url=" << url;
64 job_ = net::SocketStreamJob::CreateSocketStreamJob( 61 job_ = net::SocketStreamJob::CreateSocketStreamJob(
65 url, delegate_, request_context->transport_security_state(), 62 url, delegate_, request_context->transport_security_state(),
66 request_context->ssl_config_service(), 63 request_context->ssl_config_service());
67 request_context, 64 job_->set_context(request_context);
68 GetContentClient()->browser()->OverrideCookieStoreForRenderProcess(
69 child_id_));
70 job_->SetUserData(kSocketIdKey, new SocketStreamId(socket_id_)); 65 job_->SetUserData(kSocketIdKey, new SocketStreamId(socket_id_));
71 job_->Connect(); 66 job_->Connect();
72 } 67 }
73 68
74 bool SocketStreamHost::SendData(const std::vector<char>& data) { 69 bool SocketStreamHost::SendData(const std::vector<char>& data) {
75 VLOG(1) << "SocketStreamHost::SendData"; 70 VLOG(1) << "SocketStreamHost::SendData";
76 return job_.get() && job_->SendData(&data[0], data.size()); 71 return job_.get() && job_->SendData(&data[0], data.size());
77 } 72 }
78 73
79 void SocketStreamHost::Close() { 74 void SocketStreamHost::Close() {
(...skipping 18 matching lines...) Expand all
98 } 93 }
99 94
100 void SocketStreamHost::ContinueDespiteError() { 95 void SocketStreamHost::ContinueDespiteError() {
101 VLOG(1) << "SocketStreamHost::ContinueDespiteError"; 96 VLOG(1) << "SocketStreamHost::ContinueDespiteError";
102 if (!job_.get()) 97 if (!job_.get())
103 return; 98 return;
104 job_->ContinueDespiteError(); 99 job_->ContinueDespiteError();
105 } 100 }
106 101
107 } // namespace content 102 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698