diff options
author | morrita@chromium.org <morrita@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-02 19:41:12 +0000 |
---|---|---|
committer | morrita@chromium.org <morrita@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-02 19:41:12 +0000 |
commit | cf178fb755d0fda06fd770c1a94eb8696063c001 (patch) | |
tree | 6e78f195f4731ec0231c538fc8377a3a41e8482b /ipc/ipc_sync_channel_unittest.cc | |
parent | 7d1c92a65a91100f4cae59626107b7b74aba536b (diff) | |
download | chromium_src-cf178fb755d0fda06fd770c1a94eb8696063c001.zip chromium_src-cf178fb755d0fda06fd770c1a94eb8696063c001.tar.gz chromium_src-cf178fb755d0fda06fd770c1a94eb8696063c001.tar.bz2 |
Introduce IPC::ChannelProxy::Create*() and IPC::SynChannel::Create*()
This change hides constructors of these classes so that we can turn
them polymorphic classes.
Note that having almost identical ChannelProxy::Init*() isn't great
and they will be replaced by a factory-like abstraction in coming
changes.
TEST=none
R=darin,cpu
BUG=377980
Review URL: https://codereview.chromium.org/301973003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274310 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_sync_channel_unittest.cc')
-rw-r--r-- | ipc/ipc_sync_channel_unittest.cc | 65 |
1 files changed, 32 insertions, 33 deletions
diff --git a/ipc/ipc_sync_channel_unittest.cc b/ipc/ipc_sync_channel_unittest.cc index ca8d5d7..33653c7 100644 --- a/ipc/ipc_sync_channel_unittest.cc +++ b/ipc/ipc_sync_channel_unittest.cc @@ -151,12 +151,12 @@ class Worker : public Listener, public Sender { } virtual SyncChannel* CreateChannel() { - return new SyncChannel(channel_name_, - mode_, - this, - ipc_thread_.message_loop_proxy().get(), - true, - &shutdown_event_); + scoped_ptr<SyncChannel> channel = SyncChannel::Create( + this, + ipc_thread_.message_loop_proxy().get(), + &shutdown_event_); + channel->InitByMode(channel_name_, mode_, true); + return channel.release(); } base::Thread* ListenerThread() { @@ -324,9 +324,10 @@ class TwoStepServer : public Worker { } virtual SyncChannel* CreateChannel() OVERRIDE { - SyncChannel* channel = new SyncChannel( - this, ipc_thread().message_loop_proxy().get(), shutdown_event()); - channel->Init(channel_name(), mode(), create_pipe_now_); + SyncChannel* channel = SyncChannel::Create( + this, ipc_thread().message_loop_proxy().get(), + shutdown_event()).release(); + channel->InitByMode(channel_name(), mode(), create_pipe_now_); return channel; } @@ -345,9 +346,10 @@ class TwoStepClient : public Worker { } virtual SyncChannel* CreateChannel() OVERRIDE { - SyncChannel* channel = new SyncChannel( - this, ipc_thread().message_loop_proxy().get(), shutdown_event()); - channel->Init(channel_name(), mode(), create_pipe_now_); + SyncChannel* channel = SyncChannel::Create( + this, ipc_thread().message_loop_proxy().get(), + shutdown_event()).release(); + channel->InitByMode(channel_name(), mode(), create_pipe_now_); return channel; } @@ -1135,13 +1137,12 @@ class RestrictedDispatchClient : public Worker { else LOG(ERROR) << "Send failed to dispatch incoming message on same channel"; - non_restricted_channel_.reset( - new SyncChannel("non_restricted_channel", - Channel::MODE_CLIENT, - this, - ipc_thread().message_loop_proxy().get(), - true, - shutdown_event())); + non_restricted_channel_ = + SyncChannel::CreateClient("non_restricted_channel", + this, + ipc_thread().message_loop_proxy().get(), + true, + shutdown_event()); server_->ListenerThread()->message_loop()->PostTask( FROM_HERE, base::Bind(&RestrictedDispatchServer::OnDoPing, server_, 2)); @@ -1526,13 +1527,12 @@ class RestrictedDispatchPipeWorker : public Worker { if (is_first()) event1_->Signal(); event2_->Wait(); - other_channel_.reset( - new SyncChannel(other_channel_name_, - Channel::MODE_CLIENT, - this, - ipc_thread().message_loop_proxy().get(), - true, - shutdown_event())); + other_channel_ = SyncChannel::CreateClient( + other_channel_name_, + this, + ipc_thread().message_loop_proxy().get(), + true, + shutdown_event()); other_channel_->SetRestrictDispatchChannelGroup(group_); if (!is_first()) { event1_->Signal(); @@ -1606,13 +1606,12 @@ class ReentrantReplyServer1 : public Worker { server_ready_(server_ready) { } virtual void Run() OVERRIDE { - server2_channel_.reset( - new SyncChannel("reentrant_reply2", - Channel::MODE_CLIENT, - this, - ipc_thread().message_loop_proxy().get(), - true, - shutdown_event())); + server2_channel_ = SyncChannel::CreateClient( + "reentrant_reply2", + this, + ipc_thread().message_loop_proxy().get(), + true, + shutdown_event()); server_ready_->Signal(); Message* msg = new SyncChannelTestMsg_Reentrant1(); server2_channel_->Send(msg); |