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

Side by Side Diff: chrome/browser/extensions/api/messaging/message_service.cc

Issue 13145003: Rewrite std::string("") to std::string(), Linux edition. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ugh Created 7 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 (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 "chrome/browser/extensions/api/messaging/message_service.h" 5 #include "chrome/browser/extensions/api/messaging/message_service.h"
6 6
7 #include "base/atomic_sequence_num.h" 7 #include "base/atomic_sequence_num.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/json/json_writer.h" 10 #include "base/json/json_writer.h"
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 extensions::ExtensionSystem::Get(profile)->extension_service(); 209 extensions::ExtensionSystem::Get(profile)->extension_service();
210 bool has_permission = false; 210 bool has_permission = false;
211 if (extension_service) { 211 if (extension_service) {
212 const Extension* extension = 212 const Extension* extension =
213 extension_service->GetExtensionById(source_extension_id, false); 213 extension_service->GetExtensionById(source_extension_id, false);
214 has_permission = extension && extension->HasAPIPermission( 214 has_permission = extension && extension->HasAPIPermission(
215 APIPermission::kNativeMessaging); 215 APIPermission::kNativeMessaging);
216 } 216 }
217 217
218 if (!has_permission) { 218 if (!has_permission) {
219 ExtensionMessagePort port(source, MSG_ROUTING_CONTROL, ""); 219 ExtensionMessagePort port(source, MSG_ROUTING_CONTROL, std::string());
220 port.DispatchOnDisconnect(GET_OPPOSITE_PORT_ID(receiver_port_id), 220 port.DispatchOnDisconnect(GET_OPPOSITE_PORT_ID(receiver_port_id),
221 kMissingPermissionError); 221 kMissingPermissionError);
222 return; 222 return;
223 } 223 }
224 224
225 WebContents* source_contents = tab_util::GetWebContentsByID( 225 WebContents* source_contents = tab_util::GetWebContentsByID(
226 source_process_id, source_routing_id); 226 source_process_id, source_routing_id);
227 227
228 // Include info about the opener's tab (if it was a tab). 228 // Include info about the opener's tab (if it was a tab).
229 std::string tab_json = "null"; 229 std::string tab_json = "null";
(...skipping 10 matching lines...) Expand all
240 scoped_ptr<NativeMessageProcessHost> native_process = 240 scoped_ptr<NativeMessageProcessHost> native_process =
241 NativeMessageProcessHost::Create( 241 NativeMessageProcessHost::Create(
242 base::WeakPtr<NativeMessageProcessHost::Client>( 242 base::WeakPtr<NativeMessageProcessHost::Client>(
243 weak_factory_.GetWeakPtr()), 243 weak_factory_.GetWeakPtr()),
244 source_extension_id, native_app_name, receiver_port_id); 244 source_extension_id, native_app_name, receiver_port_id);
245 245
246 // Abandon the channel. 246 // Abandon the channel.
247 if (!native_process.get()) { 247 if (!native_process.get()) {
248 LOG(ERROR) << "Failed to create native process."; 248 LOG(ERROR) << "Failed to create native process.";
249 // Treat it as a disconnect. 249 // Treat it as a disconnect.
250 ExtensionMessagePort port(source, MSG_ROUTING_CONTROL, ""); 250 ExtensionMessagePort port(source, MSG_ROUTING_CONTROL, std::string());
251 port.DispatchOnDisconnect(GET_OPPOSITE_PORT_ID(receiver_port_id), 251 port.DispatchOnDisconnect(GET_OPPOSITE_PORT_ID(receiver_port_id),
252 kReceivingEndDoesntExistError); 252 kReceivingEndDoesntExistError);
253 return; 253 return;
254 } 254 }
255 channel->receiver.reset(new NativeMessagePort(native_process.release())); 255 channel->receiver.reset(new NativeMessagePort(native_process.release()));
256 256
257 // Keep the opener alive until the channel is closed. 257 // Keep the opener alive until the channel is closed.
258 channel->opener->IncrementLazyKeepaliveCount(); 258 channel->opener->IncrementLazyKeepaliveCount();
259 259
260 AddChannel(channel.release(), receiver_port_id); 260 AddChannel(channel.release(), receiver_port_id);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 channel_name)); 313 channel_name));
314 OpenChannelImpl(params.Pass()); 314 OpenChannelImpl(params.Pass());
315 } 315 }
316 316
317 bool MessageService::OpenChannelImpl(scoped_ptr<OpenChannelParams> params) { 317 bool MessageService::OpenChannelImpl(scoped_ptr<OpenChannelParams> params) {
318 if (!params->source) 318 if (!params->source)
319 return false; // Closed while in flight. 319 return false; // Closed while in flight.
320 320
321 if (!params->receiver.get() || !params->receiver->GetRenderProcessHost()) { 321 if (!params->receiver.get() || !params->receiver->GetRenderProcessHost()) {
322 // Treat it as a disconnect. 322 // Treat it as a disconnect.
323 ExtensionMessagePort port(params->source, MSG_ROUTING_CONTROL, ""); 323 ExtensionMessagePort port(
324 params->source, MSG_ROUTING_CONTROL, std::string());
324 port.DispatchOnDisconnect(GET_OPPOSITE_PORT_ID(params->receiver_port_id), 325 port.DispatchOnDisconnect(GET_OPPOSITE_PORT_ID(params->receiver_port_id),
325 kReceivingEndDoesntExistError); 326 kReceivingEndDoesntExistError);
326 return false; 327 return false;
327 } 328 }
328 329
329 // Add extra paranoid CHECKs, since we have crash reports of this being NULL. 330 // Add extra paranoid CHECKs, since we have crash reports of this being NULL.
330 // http://code.google.com/p/chromium/issues/detail?id=19067 331 // http://code.google.com/p/chromium/issues/detail?id=19067
331 CHECK(params->receiver->GetRenderProcessHost()); 332 CHECK(params->receiver->GetRenderProcessHost());
332 333
333 MessageChannel* channel(new MessageChannel); 334 MessageChannel* channel(new MessageChannel);
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
517 return; 518 return;
518 519
519 params->source = source; 520 params->source = source;
520 params->receiver.reset(new ExtensionMessagePort(host->render_process_host(), 521 params->receiver.reset(new ExtensionMessagePort(host->render_process_host(),
521 MSG_ROUTING_CONTROL, 522 MSG_ROUTING_CONTROL,
522 params->target_extension_id)); 523 params->target_extension_id));
523 OpenChannelImpl(params.Pass()); 524 OpenChannelImpl(params.Pass());
524 } 525 }
525 526
526 } // namespace extensions 527 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698