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

Side by Side Diff: chrome/browser/extensions/api/cast_channel/cast_channel_api.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/extensions/api/cast_channel/cast_channel_api.h" 5 #include "chrome/browser/extensions/api/cast_channel/cast_channel_api.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/browser_process.h" 10 #include "chrome/browser/browser_process.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 g_browser_process->net_log())); 72 g_browser_process->net_log()));
73 } 73 }
74 } 74 }
75 75
76 void CastChannelAPI::SetSocketForTest(scoped_ptr<CastSocket> socket_for_test) { 76 void CastChannelAPI::SetSocketForTest(scoped_ptr<CastSocket> socket_for_test) {
77 socket_for_test_ = socket_for_test.Pass(); 77 socket_for_test_ = socket_for_test.Pass();
78 } 78 }
79 79
80 void CastChannelAPI::OnError(const CastSocket* socket, 80 void CastChannelAPI::OnError(const CastSocket* socket,
81 cast_channel::ChannelError error) { 81 cast_channel::ChannelError error) {
82 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 82 DCHECK_CURRENTLY_ON(BrowserThread::IO);
83 ChannelInfo channel_info; 83 ChannelInfo channel_info;
84 socket->FillChannelInfo(&channel_info); 84 socket->FillChannelInfo(&channel_info);
85 channel_info.error_state = error; 85 channel_info.error_state = error;
86 scoped_ptr<base::ListValue> results = OnError::Create(channel_info); 86 scoped_ptr<base::ListValue> results = OnError::Create(channel_info);
87 scoped_ptr<Event> event(new Event(OnError::kEventName, results.Pass())); 87 scoped_ptr<Event> event(new Event(OnError::kEventName, results.Pass()));
88 extensions::ExtensionSystem::Get(browser_context_) 88 extensions::ExtensionSystem::Get(browser_context_)
89 ->event_router() 89 ->event_router()
90 ->DispatchEventToExtension(socket->owner_extension_id(), event.Pass()); 90 ->DispatchEventToExtension(socket->owner_extension_id(), event.Pass());
91 } 91 }
92 92
93 void CastChannelAPI::OnMessage(const CastSocket* socket, 93 void CastChannelAPI::OnMessage(const CastSocket* socket,
94 const MessageInfo& message_info) { 94 const MessageInfo& message_info) {
95 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 95 DCHECK_CURRENTLY_ON(BrowserThread::IO);
96 ChannelInfo channel_info; 96 ChannelInfo channel_info;
97 socket->FillChannelInfo(&channel_info); 97 socket->FillChannelInfo(&channel_info);
98 scoped_ptr<base::ListValue> results = 98 scoped_ptr<base::ListValue> results =
99 OnMessage::Create(channel_info, message_info); 99 OnMessage::Create(channel_info, message_info);
100 VLOG(1) << "Sending message " << ParamToString(message_info) 100 VLOG(1) << "Sending message " << ParamToString(message_info)
101 << " to channel " << ParamToString(channel_info); 101 << " to channel " << ParamToString(channel_info);
102 scoped_ptr<Event> event(new Event(OnMessage::kEventName, results.Pass())); 102 scoped_ptr<Event> event(new Event(OnMessage::kEventName, results.Pass()));
103 extensions::ExtensionSystem::Get(browser_context_) 103 extensions::ExtensionSystem::Get(browser_context_)
104 ->event_router() 104 ->event_router()
105 ->DispatchEventToExtension(socket->owner_extension_id(), event.Pass()); 105 ->DispatchEventToExtension(socket->owner_extension_id(), event.Pass());
(...skipping 19 matching lines...) Expand all
125 int channel_id) { 125 int channel_id) {
126 CastSocket* socket = GetSocket(channel_id); 126 CastSocket* socket = GetSocket(channel_id);
127 if (!socket) { 127 if (!socket) {
128 SetResultFromError(cast_channel::CHANNEL_ERROR_INVALID_CHANNEL_ID); 128 SetResultFromError(cast_channel::CHANNEL_ERROR_INVALID_CHANNEL_ID);
129 AsyncWorkCompleted(); 129 AsyncWorkCompleted();
130 } 130 }
131 return socket; 131 return socket;
132 } 132 }
133 133
134 int CastChannelAsyncApiFunction::AddSocket(CastSocket* socket) { 134 int CastChannelAsyncApiFunction::AddSocket(CastSocket* socket) {
135 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 135 DCHECK_CURRENTLY_ON(BrowserThread::IO);
136 DCHECK(socket); 136 DCHECK(socket);
137 DCHECK(manager_); 137 DCHECK(manager_);
138 const int id = manager_->Add(socket); 138 const int id = manager_->Add(socket);
139 socket->set_id(id); 139 socket->set_id(id);
140 return id; 140 return id;
141 } 141 }
142 142
143 void CastChannelAsyncApiFunction::RemoveSocket(int channel_id) { 143 void CastChannelAsyncApiFunction::RemoveSocket(int channel_id) {
144 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 144 DCHECK_CURRENTLY_ON(BrowserThread::IO);
145 DCHECK(manager_); 145 DCHECK(manager_);
146 manager_->Remove(extension_->id(), channel_id); 146 manager_->Remove(extension_->id(), channel_id);
147 } 147 }
148 148
149 void CastChannelAsyncApiFunction::SetResultFromSocket(int channel_id) { 149 void CastChannelAsyncApiFunction::SetResultFromSocket(int channel_id) {
150 CastSocket* socket = GetSocket(channel_id); 150 CastSocket* socket = GetSocket(channel_id);
151 DCHECK(socket); 151 DCHECK(socket);
152 ChannelInfo channel_info; 152 ChannelInfo channel_info;
153 socket->FillChannelInfo(&channel_info); 153 socket->FillChannelInfo(&channel_info);
154 error_ = socket->error_state(); 154 error_ = socket->error_state();
155 SetResultFromChannelInfo(channel_info); 155 SetResultFromChannelInfo(channel_info);
156 } 156 }
157 157
158 void CastChannelAsyncApiFunction::SetResultFromError(ChannelError error) { 158 void CastChannelAsyncApiFunction::SetResultFromError(ChannelError error) {
159 ChannelInfo channel_info; 159 ChannelInfo channel_info;
160 channel_info.channel_id = -1; 160 channel_info.channel_id = -1;
161 channel_info.url = ""; 161 channel_info.url = "";
162 channel_info.ready_state = cast_channel::READY_STATE_CLOSED; 162 channel_info.ready_state = cast_channel::READY_STATE_CLOSED;
163 channel_info.error_state = error; 163 channel_info.error_state = error;
164 SetResultFromChannelInfo(channel_info); 164 SetResultFromChannelInfo(channel_info);
165 error_ = error; 165 error_ = error;
166 } 166 }
167 167
168 CastSocket* CastChannelAsyncApiFunction::GetSocket(int channel_id) { 168 CastSocket* CastChannelAsyncApiFunction::GetSocket(int channel_id) {
169 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 169 DCHECK_CURRENTLY_ON(BrowserThread::IO);
170 DCHECK(manager_); 170 DCHECK(manager_);
171 return manager_->Get(extension_->id(), channel_id); 171 return manager_->Get(extension_->id(), channel_id);
172 } 172 }
173 173
174 void CastChannelAsyncApiFunction::SetResultFromChannelInfo( 174 void CastChannelAsyncApiFunction::SetResultFromChannelInfo(
175 const ChannelInfo& channel_info) { 175 const ChannelInfo& channel_info) {
176 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 176 DCHECK_CURRENTLY_ON(BrowserThread::IO);
177 SetResult(channel_info.ToValue().release()); 177 SetResult(channel_info.ToValue().release());
178 } 178 }
179 179
180 CastChannelOpenFunction::CastChannelOpenFunction() 180 CastChannelOpenFunction::CastChannelOpenFunction()
181 : new_channel_id_(0) { } 181 : new_channel_id_(0) { }
182 182
183 CastChannelOpenFunction::~CastChannelOpenFunction() { } 183 CastChannelOpenFunction::~CastChannelOpenFunction() { }
184 184
185 bool CastChannelOpenFunction::PrePrepare() { 185 bool CastChannelOpenFunction::PrePrepare() {
186 api_ = CastChannelAPI::Get(browser_context()); 186 api_ = CastChannelAPI::Get(browser_context());
187 return CastChannelAsyncApiFunction::PrePrepare(); 187 return CastChannelAsyncApiFunction::PrePrepare();
188 } 188 }
189 189
190 bool CastChannelOpenFunction::Prepare() { 190 bool CastChannelOpenFunction::Prepare() {
191 params_ = Open::Params::Create(*args_); 191 params_ = Open::Params::Create(*args_);
192 EXTENSION_FUNCTION_VALIDATE(params_.get()); 192 EXTENSION_FUNCTION_VALIDATE(params_.get());
193 return true; 193 return true;
194 } 194 }
195 195
196 void CastChannelOpenFunction::AsyncWorkStart() { 196 void CastChannelOpenFunction::AsyncWorkStart() {
197 DCHECK(api_); 197 DCHECK(api_);
198 scoped_ptr<CastSocket> socket = api_->CreateCastSocket(extension_->id(), 198 scoped_ptr<CastSocket> socket = api_->CreateCastSocket(extension_->id(),
199 GURL(params_->url)); 199 GURL(params_->url));
200 new_channel_id_ = AddSocket(socket.release()); 200 new_channel_id_ = AddSocket(socket.release());
201 GetSocket(new_channel_id_)->Connect( 201 GetSocket(new_channel_id_)->Connect(
202 base::Bind(&CastChannelOpenFunction::OnOpen, this)); 202 base::Bind(&CastChannelOpenFunction::OnOpen, this));
203 } 203 }
204 204
205 void CastChannelOpenFunction::OnOpen(int result) { 205 void CastChannelOpenFunction::OnOpen(int result) {
206 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 206 DCHECK_CURRENTLY_ON(BrowserThread::IO);
207 SetResultFromSocket(new_channel_id_); 207 SetResultFromSocket(new_channel_id_);
208 AsyncWorkCompleted(); 208 AsyncWorkCompleted();
209 } 209 }
210 210
211 CastChannelSendFunction::CastChannelSendFunction() { } 211 CastChannelSendFunction::CastChannelSendFunction() { }
212 212
213 CastChannelSendFunction::~CastChannelSendFunction() { } 213 CastChannelSendFunction::~CastChannelSendFunction() { }
214 214
215 bool CastChannelSendFunction::Prepare() { 215 bool CastChannelSendFunction::Prepare() {
216 params_ = Send::Params::Create(*args_); 216 params_ = Send::Params::Create(*args_);
217 EXTENSION_FUNCTION_VALIDATE(params_.get()); 217 EXTENSION_FUNCTION_VALIDATE(params_.get());
218 return true; 218 return true;
219 } 219 }
220 220
221 void CastChannelSendFunction::AsyncWorkStart() { 221 void CastChannelSendFunction::AsyncWorkStart() {
222 CastSocket* socket = GetSocketOrCompleteWithError( 222 CastSocket* socket = GetSocketOrCompleteWithError(
223 params_->channel.channel_id); 223 params_->channel.channel_id);
224 if (socket) 224 if (socket)
225 socket->SendMessage(params_->message, 225 socket->SendMessage(params_->message,
226 base::Bind(&CastChannelSendFunction::OnSend, this)); 226 base::Bind(&CastChannelSendFunction::OnSend, this));
227 } 227 }
228 228
229 void CastChannelSendFunction::OnSend(int result) { 229 void CastChannelSendFunction::OnSend(int result) {
230 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 230 DCHECK_CURRENTLY_ON(BrowserThread::IO);
231 if (result < 0) { 231 if (result < 0) {
232 SetResultFromError(cast_channel::CHANNEL_ERROR_SOCKET_ERROR); 232 SetResultFromError(cast_channel::CHANNEL_ERROR_SOCKET_ERROR);
233 } else { 233 } else {
234 SetResultFromSocket(params_->channel.channel_id); 234 SetResultFromSocket(params_->channel.channel_id);
235 } 235 }
236 AsyncWorkCompleted(); 236 AsyncWorkCompleted();
237 } 237 }
238 238
239 CastChannelCloseFunction::CastChannelCloseFunction() { } 239 CastChannelCloseFunction::CastChannelCloseFunction() { }
240 240
241 CastChannelCloseFunction::~CastChannelCloseFunction() { } 241 CastChannelCloseFunction::~CastChannelCloseFunction() { }
242 242
243 bool CastChannelCloseFunction::Prepare() { 243 bool CastChannelCloseFunction::Prepare() {
244 params_ = Close::Params::Create(*args_); 244 params_ = Close::Params::Create(*args_);
245 EXTENSION_FUNCTION_VALIDATE(params_.get()); 245 EXTENSION_FUNCTION_VALIDATE(params_.get());
246 return true; 246 return true;
247 } 247 }
248 248
249 void CastChannelCloseFunction::AsyncWorkStart() { 249 void CastChannelCloseFunction::AsyncWorkStart() {
250 CastSocket* socket = GetSocketOrCompleteWithError( 250 CastSocket* socket = GetSocketOrCompleteWithError(
251 params_->channel.channel_id); 251 params_->channel.channel_id);
252 if (socket) 252 if (socket)
253 socket->Close(base::Bind(&CastChannelCloseFunction::OnClose, this)); 253 socket->Close(base::Bind(&CastChannelCloseFunction::OnClose, this));
254 } 254 }
255 255
256 void CastChannelCloseFunction::OnClose(int result) { 256 void CastChannelCloseFunction::OnClose(int result) {
257 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 257 DCHECK_CURRENTLY_ON(BrowserThread::IO);
258 VLOG(1) << "CastChannelCloseFunction::OnClose result = " << result; 258 VLOG(1) << "CastChannelCloseFunction::OnClose result = " << result;
259 if (result < 0) { 259 if (result < 0) {
260 SetResultFromError(cast_channel::CHANNEL_ERROR_SOCKET_ERROR); 260 SetResultFromError(cast_channel::CHANNEL_ERROR_SOCKET_ERROR);
261 } else { 261 } else {
262 int channel_id = params_->channel.channel_id; 262 int channel_id = params_->channel.channel_id;
263 SetResultFromSocket(channel_id); 263 SetResultFromSocket(channel_id);
264 RemoveSocket(channel_id); 264 RemoveSocket(channel_id);
265 } 265 }
266 AsyncWorkCompleted(); 266 AsyncWorkCompleted();
267 } 267 }
268 268
269 } // namespace extensions 269 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/browsing_data/browsing_data_api.cc ('k') | chrome/browser/extensions/api/cookies/cookies_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698