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

Side by Side Diff: extensions/browser/api/sockets_tcp_server/tcp_server_socket_event_dispatcher.cc

Issue 216513002: Replace DCHECK(BrowserThread::CurrentlyOn) with DCHECK_CURRENTLY_ON in extensions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 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 "extensions/browser/api/sockets_tcp_server/tcp_server_socket_event_disp atcher.h" 5 #include "extensions/browser/api/sockets_tcp_server/tcp_server_socket_event_disp atcher.h"
6 6
7 #include "extensions/browser/api/socket/tcp_socket.h" 7 #include "extensions/browser/api/socket/tcp_socket.h"
8 #include "extensions/browser/event_router.h" 8 #include "extensions/browser/event_router.h"
9 #include "extensions/browser/extension_system.h" 9 #include "extensions/browser/extension_system.h"
10 #include "extensions/browser/extensions_browser_client.h" 10 #include "extensions/browser/extensions_browser_client.h"
(...skipping 10 matching lines...) Expand all
21 21
22 // static 22 // static
23 BrowserContextKeyedAPIFactory<TCPServerSocketEventDispatcher>* 23 BrowserContextKeyedAPIFactory<TCPServerSocketEventDispatcher>*
24 TCPServerSocketEventDispatcher::GetFactoryInstance() { 24 TCPServerSocketEventDispatcher::GetFactoryInstance() {
25 return g_factory.Pointer(); 25 return g_factory.Pointer();
26 } 26 }
27 27
28 // static 28 // static
29 TCPServerSocketEventDispatcher* TCPServerSocketEventDispatcher::Get( 29 TCPServerSocketEventDispatcher* TCPServerSocketEventDispatcher::Get(
30 content::BrowserContext* context) { 30 content::BrowserContext* context) {
31 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 31 DCHECK_CURRENTLY_ON(BrowserThread::UI);
32 32
33 return BrowserContextKeyedAPIFactory<TCPServerSocketEventDispatcher>::Get( 33 return BrowserContextKeyedAPIFactory<TCPServerSocketEventDispatcher>::Get(
34 context); 34 context);
35 } 35 }
36 36
37 TCPServerSocketEventDispatcher::TCPServerSocketEventDispatcher( 37 TCPServerSocketEventDispatcher::TCPServerSocketEventDispatcher(
38 content::BrowserContext* context) 38 content::BrowserContext* context)
39 : thread_id_(Socket::kThreadId), browser_context_(context) { 39 : thread_id_(Socket::kThreadId), browser_context_(context) {
40 ApiResourceManager<ResumableTCPServerSocket>* server_manager = 40 ApiResourceManager<ResumableTCPServerSocket>* server_manager =
41 ApiResourceManager<ResumableTCPServerSocket>::Get(browser_context_); 41 ApiResourceManager<ResumableTCPServerSocket>::Get(browser_context_);
(...skipping 16 matching lines...) Expand all
58 58
59 TCPServerSocketEventDispatcher::~TCPServerSocketEventDispatcher() {} 59 TCPServerSocketEventDispatcher::~TCPServerSocketEventDispatcher() {}
60 60
61 TCPServerSocketEventDispatcher::AcceptParams::AcceptParams() {} 61 TCPServerSocketEventDispatcher::AcceptParams::AcceptParams() {}
62 62
63 TCPServerSocketEventDispatcher::AcceptParams::~AcceptParams() {} 63 TCPServerSocketEventDispatcher::AcceptParams::~AcceptParams() {}
64 64
65 void TCPServerSocketEventDispatcher::OnServerSocketListen( 65 void TCPServerSocketEventDispatcher::OnServerSocketListen(
66 const std::string& extension_id, 66 const std::string& extension_id,
67 int socket_id) { 67 int socket_id) {
68 DCHECK(BrowserThread::CurrentlyOn(thread_id_)); 68 DCHECK_CURRENTLY_ON(thread_id_);
69 69
70 StartSocketAccept(extension_id, socket_id); 70 StartSocketAccept(extension_id, socket_id);
71 } 71 }
72 72
73 void TCPServerSocketEventDispatcher::OnServerSocketResume( 73 void TCPServerSocketEventDispatcher::OnServerSocketResume(
74 const std::string& extension_id, 74 const std::string& extension_id,
75 int socket_id) { 75 int socket_id) {
76 DCHECK(BrowserThread::CurrentlyOn(thread_id_)); 76 DCHECK_CURRENTLY_ON(thread_id_);
77 77
78 StartSocketAccept(extension_id, socket_id); 78 StartSocketAccept(extension_id, socket_id);
79 } 79 }
80 80
81 void TCPServerSocketEventDispatcher::StartSocketAccept( 81 void TCPServerSocketEventDispatcher::StartSocketAccept(
82 const std::string& extension_id, 82 const std::string& extension_id,
83 int socket_id) { 83 int socket_id) {
84 DCHECK(BrowserThread::CurrentlyOn(thread_id_)); 84 DCHECK_CURRENTLY_ON(thread_id_);
85 85
86 AcceptParams params; 86 AcceptParams params;
87 params.thread_id = thread_id_; 87 params.thread_id = thread_id_;
88 params.browser_context_id = browser_context_; 88 params.browser_context_id = browser_context_;
89 params.extension_id = extension_id; 89 params.extension_id = extension_id;
90 params.server_sockets = server_sockets_; 90 params.server_sockets = server_sockets_;
91 params.client_sockets = client_sockets_; 91 params.client_sockets = client_sockets_;
92 params.socket_id = socket_id; 92 params.socket_id = socket_id;
93 93
94 StartAccept(params); 94 StartAccept(params);
95 } 95 }
96 96
97 // static 97 // static
98 void TCPServerSocketEventDispatcher::StartAccept(const AcceptParams& params) { 98 void TCPServerSocketEventDispatcher::StartAccept(const AcceptParams& params) {
99 DCHECK(BrowserThread::CurrentlyOn(params.thread_id)); 99 DCHECK_CURRENTLY_ON(params.thread_id);
100 100
101 ResumableTCPServerSocket* socket = 101 ResumableTCPServerSocket* socket =
102 params.server_sockets->Get(params.extension_id, params.socket_id); 102 params.server_sockets->Get(params.extension_id, params.socket_id);
103 if (!socket) { 103 if (!socket) {
104 // This can happen if the socket is closed while our callback is active. 104 // This can happen if the socket is closed while our callback is active.
105 return; 105 return;
106 } 106 }
107 DCHECK(params.extension_id == socket->owner_extension_id()) 107 DCHECK(params.extension_id == socket->owner_extension_id())
108 << "Socket has wrong owner."; 108 << "Socket has wrong owner.";
109 109
110 // Don't start another accept if the socket has been paused. 110 // Don't start another accept if the socket has been paused.
111 if (socket->paused()) 111 if (socket->paused())
112 return; 112 return;
113 113
114 socket->Accept( 114 socket->Accept(
115 base::Bind(&TCPServerSocketEventDispatcher::AcceptCallback, params)); 115 base::Bind(&TCPServerSocketEventDispatcher::AcceptCallback, params));
116 } 116 }
117 117
118 // static 118 // static
119 void TCPServerSocketEventDispatcher::AcceptCallback( 119 void TCPServerSocketEventDispatcher::AcceptCallback(
120 const AcceptParams& params, 120 const AcceptParams& params,
121 int result_code, 121 int result_code,
122 net::TCPClientSocket* socket) { 122 net::TCPClientSocket* socket) {
123 DCHECK(BrowserThread::CurrentlyOn(params.thread_id)); 123 DCHECK_CURRENTLY_ON(params.thread_id);
124 124
125 if (result_code >= 0) { 125 if (result_code >= 0) {
126 ResumableTCPSocket* client_socket = 126 ResumableTCPSocket* client_socket =
127 new ResumableTCPSocket(socket, params.extension_id, true); 127 new ResumableTCPSocket(socket, params.extension_id, true);
128 client_socket->set_paused(true); 128 client_socket->set_paused(true);
129 int client_socket_id = params.client_sockets->Add(client_socket); 129 int client_socket_id = params.client_sockets->Add(client_socket);
130 130
131 // Dispatch "onAccept" event. 131 // Dispatch "onAccept" event.
132 sockets_tcp_server::AcceptInfo accept_info; 132 sockets_tcp_server::AcceptInfo accept_info;
133 accept_info.socket_id = params.socket_id; 133 accept_info.socket_id = params.socket_id;
(...skipping 28 matching lines...) Expand all
162 params.server_sockets->Get(params.extension_id, params.socket_id); 162 params.server_sockets->Get(params.extension_id, params.socket_id);
163 if (socket) { 163 if (socket) {
164 socket->set_paused(true); 164 socket->set_paused(true);
165 } 165 }
166 } 166 }
167 } 167 }
168 168
169 // static 169 // static
170 void TCPServerSocketEventDispatcher::PostEvent(const AcceptParams& params, 170 void TCPServerSocketEventDispatcher::PostEvent(const AcceptParams& params,
171 scoped_ptr<Event> event) { 171 scoped_ptr<Event> event) {
172 DCHECK(BrowserThread::CurrentlyOn(params.thread_id)); 172 DCHECK_CURRENTLY_ON(params.thread_id);
173 173
174 BrowserThread::PostTask(BrowserThread::UI, 174 BrowserThread::PostTask(BrowserThread::UI,
175 FROM_HERE, 175 FROM_HERE,
176 base::Bind(&DispatchEvent, 176 base::Bind(&DispatchEvent,
177 params.browser_context_id, 177 params.browser_context_id,
178 params.extension_id, 178 params.extension_id,
179 base::Passed(event.Pass()))); 179 base::Passed(event.Pass())));
180 } 180 }
181 181
182 // static 182 // static
183 void TCPServerSocketEventDispatcher::DispatchEvent( 183 void TCPServerSocketEventDispatcher::DispatchEvent(
184 void* browser_context_id, 184 void* browser_context_id,
185 const std::string& extension_id, 185 const std::string& extension_id,
186 scoped_ptr<Event> event) { 186 scoped_ptr<Event> event) {
187 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 187 DCHECK_CURRENTLY_ON(BrowserThread::UI);
188 188
189 content::BrowserContext* context = 189 content::BrowserContext* context =
190 reinterpret_cast<content::BrowserContext*>(browser_context_id); 190 reinterpret_cast<content::BrowserContext*>(browser_context_id);
191 if (!extensions::ExtensionsBrowserClient::Get()->IsValidContext(context)) 191 if (!extensions::ExtensionsBrowserClient::Get()->IsValidContext(context))
192 return; 192 return;
193 EventRouter* router = ExtensionSystem::Get(context)->event_router(); 193 EventRouter* router = ExtensionSystem::Get(context)->event_router();
194 if (router) 194 if (router)
195 router->DispatchEventToExtension(extension_id, event.Pass()); 195 router->DispatchEventToExtension(extension_id, event.Pass());
196 } 196 }
197 197
198 } // namespace core_api 198 } // namespace core_api
199 } // namespace extensions 199 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698