diff options
author | mvanouwerkerk <mvanouwerkerk@chromium.org> | 2015-07-17 04:27:53 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-17 11:28:20 +0000 |
commit | d9a6d38801e641eeca662e1eaf39ec2b8e10b657 (patch) | |
tree | 0ade22f78d3623be1f919821a710dad42e9a4c4b /chrome/service/service_ipc_server.cc | |
parent | 717a7ddf15f2d20f2c164f46b4d14da92f8bef56 (diff) | |
download | chromium_src-d9a6d38801e641eeca662e1eaf39ec2b8e10b657.zip chromium_src-d9a6d38801e641eeca662e1eaf39ec2b8e10b657.tar.gz chromium_src-d9a6d38801e641eeca662e1eaf39ec2b8e10b657.tar.bz2 |
Clean up ServiceIPCServer and make it more testable.
* Delete unused message filter and its getter.
* Delete unused channel getter.
* Inject shutdown event in constructor to cut out one use of the global g_service_process, working towards making this class more easily testable in isolation.
BUG=402456
Review URL: https://codereview.chromium.org/1233373002
Cr-Commit-Position: refs/heads/master@{#339239}
Diffstat (limited to 'chrome/service/service_ipc_server.cc')
-rw-r--r-- | chrome/service/service_ipc_server.cc | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/chrome/service/service_ipc_server.cc b/chrome/service/service_ipc_server.cc index 808f674..dbc0065 100644 --- a/chrome/service/service_ipc_server.cc +++ b/chrome/service/service_ipc_server.cc @@ -10,16 +10,17 @@ #include "chrome/service/service_process.h" #include "ipc/ipc_logging.h" -ServiceIPCServer::ServiceIPCServer(const IPC::ChannelHandle& channel_handle) - : channel_handle_(channel_handle), client_connected_(false) { +ServiceIPCServer::ServiceIPCServer(const IPC::ChannelHandle& channel_handle, + base::WaitableEvent* shutdown_event) + : channel_handle_(channel_handle), + shutdown_event_(shutdown_event), + client_connected_(false) { } bool ServiceIPCServer::Init() { #ifdef IPC_MESSAGE_LOG_ENABLED IPC::Logging::GetInstance()->SetIPCSender(this); #endif - sync_message_filter_ = - new IPC::SyncMessageFilter(g_service_process->shutdown_event()); CreateChannel(); return true; } @@ -29,17 +30,13 @@ void ServiceIPCServer::CreateChannel() { channel_ = IPC::SyncChannel::Create( channel_handle_, IPC::Channel::MODE_NAMED_SERVER, this, g_service_process->io_task_runner().get(), true, - g_service_process->shutdown_event()); - DCHECK(sync_message_filter_.get()); - channel_->AddFilter(sync_message_filter_.get()); + shutdown_event_); } ServiceIPCServer::~ServiceIPCServer() { #ifdef IPC_MESSAGE_LOG_ENABLED IPC::Logging::GetInstance()->SetIPCSender(NULL); #endif - - channel_->RemoveFilter(sync_message_filter_.get()); } void ServiceIPCServer::OnChannelConnected(int32 peer_pid) { |