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

Side by Side Diff: webkit/tools/test_shell/simple_socket_stream_bridge.cc

Issue 8215002: base::Bind: Cleanup in test_shell. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review fix. Created 9 years, 2 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) 2011 The Chromium Authors. All rights reserved. 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 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 <vector> 5 #include <vector>
6 6
7 #include "webkit/tools/test_shell/simple_socket_stream_bridge.h" 7 #include "webkit/tools/test_shell/simple_socket_stream_bridge.h"
8 8
9 #include "base/atomicops.h" 9 #include "base/atomicops.h"
10 #include "base/bind.h"
10 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
11 #include "base/message_loop.h" 12 #include "base/message_loop.h"
12 #include "googleurl/src/gurl.h" 13 #include "googleurl/src/gurl.h"
13 #include "net/socket_stream/socket_stream_job.h" 14 #include "net/socket_stream/socket_stream_job.h"
14 #include "net/websockets/websocket_job.h" 15 #include "net/websockets/websocket_job.h"
15 #include "net/url_request/url_request_context.h" 16 #include "net/url_request/url_request_context.h"
16 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSocketStreamHandle .h" 17 #include "third_party/WebKit/Source/WebKit/chromium/public/WebSocketStreamHandle .h"
17 #include "webkit/glue/websocketstreamhandle_bridge.h" 18 #include "webkit/glue/websocketstreamhandle_bridge.h"
18 #include "webkit/glue/websocketstreamhandle_delegate.h" 19 #include "webkit/glue/websocketstreamhandle_delegate.h"
19 20
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 88
88 WebSocketStreamHandleBridgeImpl::~WebSocketStreamHandleBridgeImpl() { 89 WebSocketStreamHandleBridgeImpl::~WebSocketStreamHandleBridgeImpl() {
89 DCHECK_EQ(socket_id_, kNoSocketId); 90 DCHECK_EQ(socket_id_, kNoSocketId);
90 } 91 }
91 92
92 void WebSocketStreamHandleBridgeImpl::Connect(const GURL& url) { 93 void WebSocketStreamHandleBridgeImpl::Connect(const GURL& url) {
93 DCHECK(g_io_thread); 94 DCHECK(g_io_thread);
94 AddRef(); // Released in DoOnClose(). 95 AddRef(); // Released in DoOnClose().
95 g_io_thread->PostTask( 96 g_io_thread->PostTask(
96 FROM_HERE, 97 FROM_HERE,
97 NewRunnableMethod(this, &WebSocketStreamHandleBridgeImpl::DoConnect, 98 base::Bind(&WebSocketStreamHandleBridgeImpl::DoConnect, this, url));
98 url));
99 if (delegate_) 99 if (delegate_)
100 delegate_->WillOpenStream(handle_, url); 100 delegate_->WillOpenStream(handle_, url);
101 } 101 }
102 102
103 bool WebSocketStreamHandleBridgeImpl::Send( 103 bool WebSocketStreamHandleBridgeImpl::Send(
104 const std::vector<char>& data) { 104 const std::vector<char>& data) {
105 DCHECK(g_io_thread); 105 DCHECK(g_io_thread);
106 g_io_thread->PostTask( 106 g_io_thread->PostTask(
107 FROM_HERE, 107 FROM_HERE,
108 NewRunnableMethod(this, &WebSocketStreamHandleBridgeImpl::DoSend, 108 base::Bind(&WebSocketStreamHandleBridgeImpl::DoSend, this,
109 new std::vector<char>(data))); 109 new std::vector<char>(data)));
110 return true; 110 return true;
111 } 111 }
112 112
113 void WebSocketStreamHandleBridgeImpl::Close() { 113 void WebSocketStreamHandleBridgeImpl::Close() {
114 DCHECK(g_io_thread); 114 DCHECK(g_io_thread);
115 g_io_thread->PostTask( 115 g_io_thread->PostTask(
116 FROM_HERE, 116 FROM_HERE,
117 NewRunnableMethod(this, &WebSocketStreamHandleBridgeImpl::DoClose)); 117 base::Bind(&WebSocketStreamHandleBridgeImpl::DoClose, this));
118 } 118 }
119 119
120 void WebSocketStreamHandleBridgeImpl::OnConnected( 120 void WebSocketStreamHandleBridgeImpl::OnConnected(
121 net::SocketStream* socket, int max_pending_send_allowed) { 121 net::SocketStream* socket, int max_pending_send_allowed) {
122 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1); 122 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1);
123 message_loop_->PostTask( 123 message_loop_->PostTask(
124 FROM_HERE, 124 FROM_HERE,
125 NewRunnableMethod(this, &WebSocketStreamHandleBridgeImpl::DoOnConnected, 125 base::Bind(&WebSocketStreamHandleBridgeImpl::DoOnConnected, this,
126 max_pending_send_allowed)); 126 max_pending_send_allowed));
127 } 127 }
128 128
129 void WebSocketStreamHandleBridgeImpl::OnSentData( 129 void WebSocketStreamHandleBridgeImpl::OnSentData(
130 net::SocketStream* socket, int amount_sent) { 130 net::SocketStream* socket, int amount_sent) {
131 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1); 131 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1);
132 message_loop_->PostTask( 132 message_loop_->PostTask(
133 FROM_HERE, 133 FROM_HERE,
134 NewRunnableMethod(this, &WebSocketStreamHandleBridgeImpl::DoOnSentData, 134 base::Bind(&WebSocketStreamHandleBridgeImpl::DoOnSentData, this,
135 amount_sent)); 135 amount_sent));
136 } 136 }
137 137
138 void WebSocketStreamHandleBridgeImpl::OnReceivedData( 138 void WebSocketStreamHandleBridgeImpl::OnReceivedData(
139 net::SocketStream* socket, const char* data, int len) { 139 net::SocketStream* socket, const char* data, int len) {
140 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1); 140 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1);
141 message_loop_->PostTask( 141 message_loop_->PostTask(
142 FROM_HERE, 142 FROM_HERE,
143 NewRunnableMethod(this, 143 base::Bind(&WebSocketStreamHandleBridgeImpl::DoOnReceivedData, this,
144 &WebSocketStreamHandleBridgeImpl::DoOnReceivedData, 144 new std::vector<char>(data, data + len)));
145 new std::vector<char>(data, data + len)));
146 } 145 }
147 146
148 void WebSocketStreamHandleBridgeImpl::OnClose(net::SocketStream* socket) { 147 void WebSocketStreamHandleBridgeImpl::OnClose(net::SocketStream* socket) {
149 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1); 148 base::subtle::NoBarrier_AtomicIncrement(&num_pending_tasks_, 1);
150 // Release socket_ on IO thread. 149 // Release socket_ on IO thread.
151 socket_ = NULL; 150 socket_ = NULL;
152 socket_id_ = kNoSocketId; 151 socket_id_ = kNoSocketId;
153 message_loop_->PostTask( 152 message_loop_->PostTask(
154 FROM_HERE, 153 FROM_HERE,
155 NewRunnableMethod(this, &WebSocketStreamHandleBridgeImpl::DoOnClose)); 154 base::Bind(&WebSocketStreamHandleBridgeImpl::DoOnClose, this));
156 } 155 }
157 156
158 void WebSocketStreamHandleBridgeImpl::DoConnect(const GURL& url) { 157 void WebSocketStreamHandleBridgeImpl::DoConnect(const GURL& url) {
159 DCHECK(MessageLoop::current() == g_io_thread); 158 DCHECK(MessageLoop::current() == g_io_thread);
160 socket_ = net::SocketStreamJob::CreateSocketStreamJob( 159 socket_ = net::SocketStreamJob::CreateSocketStreamJob(
161 url, this, g_request_context->transport_security_state(), 160 url, this, g_request_context->transport_security_state(),
162 g_request_context->ssl_config_service()); 161 g_request_context->ssl_config_service());
163 socket_->set_context(g_request_context); 162 socket_->set_context(g_request_context);
164 socket_->Connect(); 163 socket_->Connect();
165 } 164 }
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 namespace webkit_glue { 234 namespace webkit_glue {
236 235
237 /* static */ 236 /* static */
238 WebSocketStreamHandleBridge* WebSocketStreamHandleBridge::Create( 237 WebSocketStreamHandleBridge* WebSocketStreamHandleBridge::Create(
239 WebKit::WebSocketStreamHandle* handle, 238 WebKit::WebSocketStreamHandle* handle,
240 WebSocketStreamHandleDelegate* delegate) { 239 WebSocketStreamHandleDelegate* delegate) {
241 return new WebSocketStreamHandleBridgeImpl(handle, delegate); 240 return new WebSocketStreamHandleBridgeImpl(handle, delegate);
242 } 241 }
243 242
244 } // namespace webkit_glue 243 } // namespace webkit_glue
OLDNEW
« no previous file with comments | « webkit/tools/test_shell/simple_resource_loader_bridge.cc ('k') | webkit/tools/test_shell/test_shell_devtools_agent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698