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

Side by Side Diff: ipc/ipc_channel_proxy.cc

Issue 2283373002: Remove unneeded scoped_refptr<>::get() on method binding (Closed)
Patch Set: Created 4 years, 3 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
« no previous file with comments | « gpu/ipc/client/gpu_channel_host.cc ('k') | ipc/ipc_sync_channel.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ipc/ipc_channel_proxy.h" 5 #include "ipc/ipc_channel_proxy.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 DCHECK(!did_init_); 483 DCHECK(!did_init_);
484 484
485 if (create_pipe_now) { 485 if (create_pipe_now) {
486 // Create the channel immediately. This effectively sets up the 486 // Create the channel immediately. This effectively sets up the
487 // low-level pipe so that the client can connect. Without creating 487 // low-level pipe so that the client can connect. Without creating
488 // the pipe immediately, it is possible for a listener to attempt 488 // the pipe immediately, it is possible for a listener to attempt
489 // to connect and get an error since the pipe doesn't exist yet. 489 // to connect and get an error since the pipe doesn't exist yet.
490 context_->CreateChannel(std::move(factory)); 490 context_->CreateChannel(std::move(factory));
491 } else { 491 } else {
492 context_->ipc_task_runner()->PostTask( 492 context_->ipc_task_runner()->PostTask(
493 FROM_HERE, base::Bind(&Context::CreateChannel, context_.get(), 493 FROM_HERE, base::Bind(&Context::CreateChannel, context_,
494 base::Passed(&factory))); 494 base::Passed(&factory)));
495 } 495 }
496 496
497 // complete initialization on the background thread 497 // complete initialization on the background thread
498 context_->ipc_task_runner()->PostTask( 498 context_->ipc_task_runner()->PostTask(
499 FROM_HERE, base::Bind(&Context::OnChannelOpened, context_.get())); 499 FROM_HERE, base::Bind(&Context::OnChannelOpened, context_));
500 500
501 did_init_ = true; 501 did_init_ = true;
502 OnChannelInit(); 502 OnChannelInit();
503 } 503 }
504 504
505 void ChannelProxy::Close() { 505 void ChannelProxy::Close() {
506 DCHECK(CalledOnValidThread()); 506 DCHECK(CalledOnValidThread());
507 507
508 // Clear the backpointer to the listener so that any pending calls to 508 // Clear the backpointer to the listener so that any pending calls to
509 // Context::OnDispatchMessage or OnDispatchError will be ignored. It is 509 // Context::OnDispatchMessage or OnDispatchError will be ignored. It is
510 // possible that the channel could be closed while it is receiving messages! 510 // possible that the channel could be closed while it is receiving messages!
511 context_->Clear(); 511 context_->Clear();
512 512
513 if (context_->ipc_task_runner()) { 513 if (context_->ipc_task_runner()) {
514 context_->ipc_task_runner()->PostTask( 514 context_->ipc_task_runner()->PostTask(
515 FROM_HERE, base::Bind(&Context::OnChannelClosed, context_.get())); 515 FROM_HERE, base::Bind(&Context::OnChannelClosed, context_));
516 } 516 }
517 } 517 }
518 518
519 bool ChannelProxy::Send(Message* message) { 519 bool ChannelProxy::Send(Message* message) {
520 DCHECK(did_init_); 520 DCHECK(did_init_);
521 521
522 // TODO(alexeypa): add DCHECK(CalledOnValidThread()) here. Currently there are 522 // TODO(alexeypa): add DCHECK(CalledOnValidThread()) here. Currently there are
523 // tests that call Send() from a wrong thread. See http://crbug.com/163523. 523 // tests that call Send() from a wrong thread. See http://crbug.com/163523.
524 524
525 #ifdef ENABLE_IPC_FUZZER 525 #ifdef ENABLE_IPC_FUZZER
(...skipping 15 matching lines...) Expand all
541 void ChannelProxy::AddFilter(MessageFilter* filter) { 541 void ChannelProxy::AddFilter(MessageFilter* filter) {
542 DCHECK(CalledOnValidThread()); 542 DCHECK(CalledOnValidThread());
543 543
544 context_->AddFilter(filter); 544 context_->AddFilter(filter);
545 } 545 }
546 546
547 void ChannelProxy::RemoveFilter(MessageFilter* filter) { 547 void ChannelProxy::RemoveFilter(MessageFilter* filter) {
548 DCHECK(CalledOnValidThread()); 548 DCHECK(CalledOnValidThread());
549 549
550 context_->ipc_task_runner()->PostTask( 550 context_->ipc_task_runner()->PostTask(
551 FROM_HERE, base::Bind(&Context::OnRemoveFilter, context_.get(), 551 FROM_HERE, base::Bind(&Context::OnRemoveFilter, context_,
552 base::RetainedRef(filter))); 552 base::RetainedRef(filter)));
553 } 553 }
554 554
555 void ChannelProxy::AddGenericAssociatedInterface( 555 void ChannelProxy::AddGenericAssociatedInterface(
556 const std::string& name, 556 const std::string& name,
557 const GenericAssociatedInterfaceFactory& factory) { 557 const GenericAssociatedInterfaceFactory& factory) {
558 context()->AddGenericAssociatedInterface(name, factory); 558 context()->AddGenericAssociatedInterface(name, factory);
559 } 559 }
560 560
561 void ChannelProxy::AddGenericAssociatedInterfaceForIOThread( 561 void ChannelProxy::AddGenericAssociatedInterfaceForIOThread(
562 const std::string& name, 562 const std::string& name,
563 const GenericAssociatedInterfaceFactory& factory) { 563 const GenericAssociatedInterfaceFactory& factory) {
564 context()->AddGenericAssociatedInterfaceForIOThread(name, factory); 564 context()->AddGenericAssociatedInterfaceForIOThread(name, factory);
565 } 565 }
566 566
567 mojo::AssociatedGroup* ChannelProxy::GetAssociatedGroup() { 567 mojo::AssociatedGroup* ChannelProxy::GetAssociatedGroup() {
568 return context()->associated_group(); 568 return context()->associated_group();
569 } 569 }
570 570
571 void ChannelProxy::GetGenericRemoteAssociatedInterface( 571 void ChannelProxy::GetGenericRemoteAssociatedInterface(
572 const std::string& name, 572 const std::string& name,
573 mojo::ScopedInterfaceEndpointHandle handle) { 573 mojo::ScopedInterfaceEndpointHandle handle) {
574 DCHECK(did_init_); 574 DCHECK(did_init_);
575 context_->ipc_task_runner()->PostTask( 575 context_->ipc_task_runner()->PostTask(
576 FROM_HERE, base::Bind(&Context::GetRemoteAssociatedInterface, 576 FROM_HERE, base::Bind(&Context::GetRemoteAssociatedInterface,
577 context_.get(), name, base::Passed(&handle))); 577 context_, name, base::Passed(&handle)));
578 } 578 }
579 579
580 void ChannelProxy::ClearIPCTaskRunner() { 580 void ChannelProxy::ClearIPCTaskRunner() {
581 DCHECK(CalledOnValidThread()); 581 DCHECK(CalledOnValidThread());
582 582
583 context()->ClearIPCTaskRunner(); 583 context()->ClearIPCTaskRunner();
584 } 584 }
585 585
586 base::ProcessId ChannelProxy::GetPeerPID() const { 586 base::ProcessId ChannelProxy::GetPeerPID() const {
587 base::AutoLock l(context_->peer_pid_lock_); 587 base::AutoLock l(context_->peer_pid_lock_);
(...skipping 26 matching lines...) Expand all
614 return channel->TakeClientFileDescriptor(); 614 return channel->TakeClientFileDescriptor();
615 } 615 }
616 #endif 616 #endif
617 617
618 void ChannelProxy::OnChannelInit() { 618 void ChannelProxy::OnChannelInit() {
619 } 619 }
620 620
621 //----------------------------------------------------------------------------- 621 //-----------------------------------------------------------------------------
622 622
623 } // namespace IPC 623 } // namespace IPC
OLDNEW
« no previous file with comments | « gpu/ipc/client/gpu_channel_host.cc ('k') | ipc/ipc_sync_channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698