diff options
author | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-29 19:09:55 +0000 |
---|---|---|
committer | viettrungluu@chromium.org <viettrungluu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-29 19:09:55 +0000 |
commit | 28113215f373bd35fcb8f43d17e70168ecedaf7d (patch) | |
tree | a9d149aa3efced67e8676aa9d074c3ac218aca3e /mojo/system | |
parent | 475a8d88e10f703b52b2d64ee41b9b94d0263ae0 (diff) | |
download | chromium_src-28113215f373bd35fcb8f43d17e70168ecedaf7d.zip chromium_src-28113215f373bd35fcb8f43d17e70168ecedaf7d.tar.gz chromium_src-28113215f373bd35fcb8f43d17e70168ecedaf7d.tar.bz2 |
Mojo: Remove extraneous .get()s in mojo/{embedder,system}.
scoped_ptr<T> is by design testable. scoped_refptr<T> is currently
testable by virtue of the implicit conversion to T*, but presumably if
we ever got rid of this (rather dangerous) implicit conversion we'd make
it explicitly testable like scoped_ptr.
R=yzshen@chromium.org
Review URL: https://codereview.chromium.org/302953003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273533 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/system')
-rw-r--r-- | mojo/system/channel.cc | 2 | ||||
-rw-r--r-- | mojo/system/core.cc | 22 | ||||
-rw-r--r-- | mojo/system/data_pipe.cc | 4 | ||||
-rw-r--r-- | mojo/system/data_pipe.h | 4 | ||||
-rw-r--r-- | mojo/system/data_pipe_consumer_dispatcher.cc | 4 | ||||
-rw-r--r-- | mojo/system/data_pipe_producer_dispatcher.cc | 4 | ||||
-rw-r--r-- | mojo/system/message_pipe.cc | 38 | ||||
-rw-r--r-- | mojo/system/message_pipe_dispatcher.cc | 4 | ||||
-rw-r--r-- | mojo/system/multiprocess_message_pipe_unittest.cc | 2 | ||||
-rw-r--r-- | mojo/system/proxy_message_pipe_endpoint.cc | 2 | ||||
-rw-r--r-- | mojo/system/proxy_message_pipe_endpoint.h | 2 | ||||
-rw-r--r-- | mojo/system/raw_channel_posix.cc | 12 | ||||
-rw-r--r-- | mojo/system/remote_message_pipe_unittest.cc | 14 |
13 files changed, 57 insertions, 57 deletions
diff --git a/mojo/system/channel.cc b/mojo/system/channel.cc index 4256387..f0831a9b 100644 --- a/mojo/system/channel.cc +++ b/mojo/system/channel.cc @@ -90,7 +90,7 @@ void Channel::Shutdown() { it->second.message_pipe->OnRemove(it->second.port); num_live++; } else { - DCHECK(!it->second.message_pipe.get()); + DCHECK(!it->second.message_pipe); num_zombies++; } } diff --git a/mojo/system/core.cc b/mojo/system/core.cc index 75a21f3..6c8cb83 100644 --- a/mojo/system/core.cc +++ b/mojo/system/core.cc @@ -183,7 +183,7 @@ MojoResult Core::WriteMessage(MojoHandle message_pipe_handle, uint32_t num_handles, MojoWriteMessageFlags flags) { scoped_refptr<Dispatcher> dispatcher(GetDispatcher(message_pipe_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; // Easy case: not sending any handles. @@ -247,7 +247,7 @@ MojoResult Core::ReadMessage(MojoHandle message_pipe_handle, uint32_t* num_handles, MojoReadMessageFlags flags) { scoped_refptr<Dispatcher> dispatcher(GetDispatcher(message_pipe_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; if (num_handles) { @@ -345,7 +345,7 @@ MojoResult Core::WriteData(MojoHandle data_pipe_producer_handle, MojoWriteDataFlags flags) { scoped_refptr<Dispatcher> dispatcher( GetDispatcher(data_pipe_producer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; return dispatcher->WriteData(elements, num_bytes, flags); @@ -357,7 +357,7 @@ MojoResult Core::BeginWriteData(MojoHandle data_pipe_producer_handle, MojoWriteDataFlags flags) { scoped_refptr<Dispatcher> dispatcher( GetDispatcher(data_pipe_producer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; return dispatcher->BeginWriteData(buffer, buffer_num_bytes, flags); @@ -367,7 +367,7 @@ MojoResult Core::EndWriteData(MojoHandle data_pipe_producer_handle, uint32_t num_bytes_written) { scoped_refptr<Dispatcher> dispatcher( GetDispatcher(data_pipe_producer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; return dispatcher->EndWriteData(num_bytes_written); @@ -379,7 +379,7 @@ MojoResult Core::ReadData(MojoHandle data_pipe_consumer_handle, MojoReadDataFlags flags) { scoped_refptr<Dispatcher> dispatcher( GetDispatcher(data_pipe_consumer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; return dispatcher->ReadData(elements, num_bytes, flags); @@ -391,7 +391,7 @@ MojoResult Core::BeginReadData(MojoHandle data_pipe_consumer_handle, MojoReadDataFlags flags) { scoped_refptr<Dispatcher> dispatcher( GetDispatcher(data_pipe_consumer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; return dispatcher->BeginReadData(buffer, buffer_num_bytes, flags); @@ -401,7 +401,7 @@ MojoResult Core::EndReadData(MojoHandle data_pipe_consumer_handle, uint32_t num_bytes_read) { scoped_refptr<Dispatcher> dispatcher( GetDispatcher(data_pipe_consumer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; return dispatcher->EndReadData(num_bytes_read); @@ -452,7 +452,7 @@ MojoResult Core::DuplicateBufferHandle( const MojoDuplicateBufferHandleOptions* options, MojoHandle* new_buffer_handle) { scoped_refptr<Dispatcher> dispatcher(GetDispatcher(buffer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; // Don't verify |options| here; that's the dispatcher's job. @@ -482,7 +482,7 @@ MojoResult Core::MapBuffer(MojoHandle buffer_handle, void** buffer, MojoMapBufferFlags flags) { scoped_refptr<Dispatcher> dispatcher(GetDispatcher(buffer_handle)); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; if (!VerifyUserPointer<void*>(buffer, 1)) @@ -525,7 +525,7 @@ MojoResult Core::WaitManyInternal(const MojoHandle* handles, dispatchers.reserve(num_handles); for (uint32_t i = 0; i < num_handles; i++) { scoped_refptr<Dispatcher> dispatcher = GetDispatcher(handles[i]); - if (!dispatcher.get()) + if (!dispatcher) return MOJO_RESULT_INVALID_ARGUMENT; dispatchers.push_back(dispatcher); } diff --git a/mojo/system/data_pipe.cc b/mojo/system/data_pipe.cc index 469e557..dd465df 100644 --- a/mojo/system/data_pipe.cc +++ b/mojo/system/data_pipe.cc @@ -357,8 +357,8 @@ DataPipe::DataPipe(bool has_local_producer, DataPipe::~DataPipe() { DCHECK(!producer_open_); DCHECK(!consumer_open_); - DCHECK(!producer_waiter_list_.get()); - DCHECK(!consumer_waiter_list_.get()); + DCHECK(!producer_waiter_list_); + DCHECK(!consumer_waiter_list_); } void DataPipe::AwakeProducerWaitersForStateChangeNoLock() { diff --git a/mojo/system/data_pipe.h b/mojo/system/data_pipe.h index dbfabd2..b75fdea 100644 --- a/mojo/system/data_pipe.h +++ b/mojo/system/data_pipe.h @@ -164,11 +164,11 @@ class MOJO_SYSTEM_IMPL_EXPORT DataPipe : bool has_local_producer_no_lock() const { lock_.AssertAcquired(); - return !!producer_waiter_list_.get(); + return !!producer_waiter_list_; } bool has_local_consumer_no_lock() const { lock_.AssertAcquired(); - return !!consumer_waiter_list_.get(); + return !!consumer_waiter_list_; } const bool may_discard_; diff --git a/mojo/system/data_pipe_consumer_dispatcher.cc b/mojo/system/data_pipe_consumer_dispatcher.cc index 0b6f2d1..409db29 100644 --- a/mojo/system/data_pipe_consumer_dispatcher.cc +++ b/mojo/system/data_pipe_consumer_dispatcher.cc @@ -15,7 +15,7 @@ DataPipeConsumerDispatcher::DataPipeConsumerDispatcher() { } void DataPipeConsumerDispatcher::Init(scoped_refptr<DataPipe> data_pipe) { - DCHECK(data_pipe.get()); + DCHECK(data_pipe); data_pipe_ = data_pipe; } @@ -25,7 +25,7 @@ Dispatcher::Type DataPipeConsumerDispatcher::GetType() const { DataPipeConsumerDispatcher::~DataPipeConsumerDispatcher() { // |Close()|/|CloseImplNoLock()| should have taken care of the pipe. - DCHECK(!data_pipe_.get()); + DCHECK(!data_pipe_); } void DataPipeConsumerDispatcher::CancelAllWaitersNoLock() { diff --git a/mojo/system/data_pipe_producer_dispatcher.cc b/mojo/system/data_pipe_producer_dispatcher.cc index d3c69b6..574a0c2 100644 --- a/mojo/system/data_pipe_producer_dispatcher.cc +++ b/mojo/system/data_pipe_producer_dispatcher.cc @@ -15,7 +15,7 @@ DataPipeProducerDispatcher::DataPipeProducerDispatcher() { } void DataPipeProducerDispatcher::Init(scoped_refptr<DataPipe> data_pipe) { - DCHECK(data_pipe.get()); + DCHECK(data_pipe); data_pipe_ = data_pipe; } @@ -25,7 +25,7 @@ Dispatcher::Type DataPipeProducerDispatcher::GetType() const { DataPipeProducerDispatcher::~DataPipeProducerDispatcher() { // |Close()|/|CloseImplNoLock()| should have taken care of the pipe. - DCHECK(!data_pipe_.get()); + DCHECK(!data_pipe_); } void DataPipeProducerDispatcher::CancelAllWaitersNoLock() { diff --git a/mojo/system/message_pipe.cc b/mojo/system/message_pipe.cc index 1df6527..c97d061 100644 --- a/mojo/system/message_pipe.cc +++ b/mojo/system/message_pipe.cc @@ -35,7 +35,7 @@ unsigned MessagePipe::GetPeerPort(unsigned port) { MessagePipeEndpoint::Type MessagePipe::GetType(unsigned port) { DCHECK(port == 0 || port == 1); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); return endpoints_[port]->GetType(); } @@ -44,7 +44,7 @@ void MessagePipe::CancelAllWaiters(unsigned port) { DCHECK(port == 0 || port == 1); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); endpoints_[port]->CancelAllWaiters(); } @@ -54,10 +54,10 @@ void MessagePipe::Close(unsigned port) { unsigned destination_port = GetPeerPort(port); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); endpoints_[port]->Close(); - if (endpoints_[destination_port].get()) { + if (endpoints_[destination_port]) { if (!endpoints_[destination_port]->OnPeerClose()) endpoints_[destination_port].reset(); } @@ -91,7 +91,7 @@ MojoResult MessagePipe::ReadMessage(unsigned port, DCHECK(port == 0 || port == 1); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); return endpoints_[port]->ReadMessage(bytes, num_bytes, dispatchers, num_dispatchers, flags); @@ -104,7 +104,7 @@ MojoResult MessagePipe::AddWaiter(unsigned port, DCHECK(port == 0 || port == 1); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); return endpoints_[port]->AddWaiter(waiter, flags, wake_result); } @@ -113,7 +113,7 @@ void MessagePipe::RemoveWaiter(unsigned port, Waiter* waiter) { DCHECK(port == 0 || port == 1); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); endpoints_[port]->RemoveWaiter(waiter); } @@ -122,10 +122,10 @@ void MessagePipe::ConvertLocalToProxy(unsigned port) { DCHECK(port == 0 || port == 1); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); DCHECK_EQ(endpoints_[port]->GetType(), MessagePipeEndpoint::kTypeLocal); - bool is_peer_open = !!endpoints_[GetPeerPort(port)].get(); + bool is_peer_open = !!endpoints_[GetPeerPort(port)]; // TODO(vtl): Hopefully this will work if the peer has been closed and when // the peer is local. If the peer is remote, we should do something more @@ -151,11 +151,11 @@ bool MessagePipe::Attach(unsigned port, scoped_refptr<Channel> channel, MessageInTransit::EndpointId local_id) { DCHECK(port == 0 || port == 1); - DCHECK(channel.get()); + DCHECK(channel); DCHECK_NE(local_id, MessageInTransit::kInvalidEndpointId); base::AutoLock locker(lock_); - if (!endpoints_[port].get()) + if (!endpoints_[port]) return false; DCHECK_EQ(endpoints_[port]->GetType(), MessagePipeEndpoint::kTypeProxy); @@ -168,7 +168,7 @@ void MessagePipe::Run(unsigned port, MessageInTransit::EndpointId remote_id) { DCHECK_NE(remote_id, MessageInTransit::kInvalidEndpointId); base::AutoLock locker(lock_); - DCHECK(endpoints_[port].get()); + DCHECK(endpoints_[port]); if (!endpoints_[port]->Run(remote_id)) endpoints_[port].reset(); } @@ -178,11 +178,11 @@ void MessagePipe::OnRemove(unsigned port) { base::AutoLock locker(lock_); // A |OnPeerClose()| can come in first, before |OnRemove()| gets called. - if (!endpoints_[port].get()) + if (!endpoints_[port]) return; endpoints_[port]->OnRemove(); - if (endpoints_[destination_port].get()) { + if (endpoints_[destination_port]) { if (!endpoints_[destination_port]->OnPeerClose()) endpoints_[destination_port].reset(); } @@ -193,8 +193,8 @@ MessagePipe::~MessagePipe() { // Owned by the dispatchers. The owning dispatchers should only release us via // their |Close()| method, which should inform us of being closed via our // |Close()|. Thus these should already be null. - DCHECK(!endpoints_[0].get()); - DCHECK(!endpoints_[1].get()); + DCHECK(!endpoints_[0]); + DCHECK(!endpoints_[1]); } MojoResult MessagePipe::EnqueueMessageInternal( @@ -202,7 +202,7 @@ MojoResult MessagePipe::EnqueueMessageInternal( scoped_ptr<MessageInTransit> message, std::vector<DispatcherTransport>* transports) { DCHECK(port == 0 || port == 1); - DCHECK(message.get()); + DCHECK(message); if (message->type() == MessageInTransit::kTypeMessagePipe) { DCHECK(!transports); @@ -212,10 +212,10 @@ MojoResult MessagePipe::EnqueueMessageInternal( DCHECK_EQ(message->type(), MessageInTransit::kTypeMessagePipeEndpoint); base::AutoLock locker(lock_); - DCHECK(endpoints_[GetPeerPort(port)].get()); + DCHECK(endpoints_[GetPeerPort(port)]); // The destination port need not be open, unlike the source port. - if (!endpoints_[port].get()) + if (!endpoints_[port]) return MOJO_RESULT_FAILED_PRECONDITION; if (transports) { diff --git a/mojo/system/message_pipe_dispatcher.cc b/mojo/system/message_pipe_dispatcher.cc index bfae6a2..22bb3b3 100644 --- a/mojo/system/message_pipe_dispatcher.cc +++ b/mojo/system/message_pipe_dispatcher.cc @@ -34,7 +34,7 @@ MessagePipeDispatcher::MessagePipeDispatcher() void MessagePipeDispatcher::Init(scoped_refptr<MessagePipe> message_pipe, unsigned port) { - DCHECK(message_pipe.get()); + DCHECK(message_pipe); DCHECK(port == 0 || port == 1); message_pipe_ = message_pipe; @@ -104,7 +104,7 @@ scoped_refptr<MessagePipeDispatcher> MessagePipeDispatcher::Deserialize( MessagePipeDispatcher::~MessagePipeDispatcher() { // |Close()|/|CloseImplNoLock()| should have taken care of the pipe. - DCHECK(!message_pipe_.get()); + DCHECK(!message_pipe_); } MessagePipe* MessagePipeDispatcher::GetMessagePipeNoLock() const { diff --git a/mojo/system/multiprocess_message_pipe_unittest.cc b/mojo/system/multiprocess_message_pipe_unittest.cc index 5784492..beaa38a 100644 --- a/mojo/system/multiprocess_message_pipe_unittest.cc +++ b/mojo/system/multiprocess_message_pipe_unittest.cc @@ -92,7 +92,7 @@ class ChannelThread { } void ShutdownChannelOnIOThread() { - CHECK(channel_.get()); + CHECK(channel_); channel_->Shutdown(); channel_ = NULL; } diff --git a/mojo/system/proxy_message_pipe_endpoint.cc b/mojo/system/proxy_message_pipe_endpoint.cc index 81adda5..79074d0 100644 --- a/mojo/system/proxy_message_pipe_endpoint.cc +++ b/mojo/system/proxy_message_pipe_endpoint.cc @@ -83,7 +83,7 @@ void ProxyMessagePipeEndpoint::EnqueueMessage( void ProxyMessagePipeEndpoint::Attach(scoped_refptr<Channel> channel, MessageInTransit::EndpointId local_id) { - DCHECK(channel.get()); + DCHECK(channel); DCHECK_NE(local_id, MessageInTransit::kInvalidEndpointId); DCHECK(!is_attached()); diff --git a/mojo/system/proxy_message_pipe_endpoint.h b/mojo/system/proxy_message_pipe_endpoint.h index f3e9b1d..6959679 100644 --- a/mojo/system/proxy_message_pipe_endpoint.h +++ b/mojo/system/proxy_message_pipe_endpoint.h @@ -69,7 +69,7 @@ class MOJO_SYSTEM_IMPL_EXPORT ProxyMessagePipeEndpoint #endif bool is_attached() const { - return !!channel_.get(); + return !!channel_; } bool is_running() const { diff --git a/mojo/system/raw_channel_posix.cc b/mojo/system/raw_channel_posix.cc index 245ad81..ba23599 100644 --- a/mojo/system/raw_channel_posix.cc +++ b/mojo/system/raw_channel_posix.cc @@ -108,8 +108,8 @@ RawChannelPosix::~RawChannelPosix() { DCHECK(!weak_ptr_factory_.HasWeakPtrs()); // These must have been shut down/destroyed on the I/O thread. - DCHECK(!read_watcher_.get()); - DCHECK(!write_watcher_.get()); + DCHECK(!read_watcher_); + DCHECK(!write_watcher_); embedder::CloseAllPlatformHandles(&read_platform_handles_); } @@ -351,9 +351,9 @@ RawChannel::IOResult RawChannelPosix::ScheduleWriteNoLock() { bool RawChannelPosix::OnInit() { DCHECK_EQ(base::MessageLoop::current(), message_loop_for_io()); - DCHECK(!read_watcher_.get()); + DCHECK(!read_watcher_); read_watcher_.reset(new base::MessageLoopForIO::FileDescriptorWatcher()); - DCHECK(!write_watcher_.get()); + DCHECK(!write_watcher_); write_watcher_.reset(new base::MessageLoopForIO::FileDescriptorWatcher()); if (!message_loop_for_io()->WatchFileDescriptor(fd_.get().fd, true, @@ -410,7 +410,7 @@ void RawChannelPosix::OnFileCanReadWithoutBlocking(int fd) { // TODO(yzshen): An alternative is to stop watching if RawChannel doesn't // schedule a new read. But that code won't be reached under the current // RawChannel implementation. - DCHECK(!read_watcher_.get() || pending_read_); + DCHECK(!read_watcher_ || pending_read_); } void RawChannelPosix::OnFileCanWriteWithoutBlocking(int fd) { @@ -439,7 +439,7 @@ void RawChannelPosix::OnFileCanWriteWithoutBlocking(int fd) { void RawChannelPosix::WaitToWrite() { DCHECK_EQ(base::MessageLoop::current(), message_loop_for_io()); - DCHECK(write_watcher_.get()); + DCHECK(write_watcher_); if (!message_loop_for_io()->WatchFileDescriptor( fd_.get().fd, false, base::MessageLoopForIO::WATCH_WRITE, diff --git a/mojo/system/remote_message_pipe_unittest.cc b/mojo/system/remote_message_pipe_unittest.cc index da56413..4b3991f 100644 --- a/mojo/system/remote_message_pipe_unittest.cc +++ b/mojo/system/remote_message_pipe_unittest.cc @@ -100,11 +100,11 @@ class RemoteMessagePipeTest : public testing::Test { void TearDownOnIOThread() { CHECK_EQ(base::MessageLoop::current(), io_thread()->message_loop()); - if (channels_[0].get()) { + if (channels_[0]) { channels_[0]->Shutdown(); channels_[0] = NULL; } - if (channels_[1].get()) { + if (channels_[1]) { channels_[1]->Shutdown(); channels_[1] = NULL; } @@ -113,7 +113,7 @@ class RemoteMessagePipeTest : public testing::Test { void CreateAndInitChannel(unsigned channel_index) { CHECK_EQ(base::MessageLoop::current(), io_thread()->message_loop()); CHECK(channel_index == 0 || channel_index == 1); - CHECK(!channels_[channel_index].get()); + CHECK(!channels_[channel_index]); channels_[channel_index] = new Channel(); CHECK(channels_[channel_index]->Init( @@ -124,9 +124,9 @@ class RemoteMessagePipeTest : public testing::Test { scoped_refptr<MessagePipe> mp1) { CHECK_EQ(base::MessageLoop::current(), io_thread()->message_loop()); - if (!channels_[0].get()) + if (!channels_[0]) CreateAndInitChannel(0); - if (!channels_[1].get()) + if (!channels_[1]) CreateAndInitChannel(1); MessageInTransit::EndpointId local_id0 = @@ -498,7 +498,7 @@ TEST_F(RemoteMessagePipeTest, HandlePassing) { EXPECT_STREQ(kHello, read_buffer); EXPECT_EQ(1u, read_dispatchers.size()); EXPECT_EQ(1u, read_num_dispatchers); - ASSERT_TRUE(read_dispatchers[0].get()); + ASSERT_TRUE(read_dispatchers[0]); EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); EXPECT_EQ(Dispatcher::kTypeMessagePipe, read_dispatchers[0]->GetType()); @@ -632,7 +632,7 @@ TEST_F(RemoteMessagePipeTest, MAYBE_PlatformHandlePassing) { EXPECT_STREQ(kWorld, read_buffer); EXPECT_EQ(1u, read_dispatchers.size()); EXPECT_EQ(1u, read_num_dispatchers); - ASSERT_TRUE(read_dispatchers[0].get()); + ASSERT_TRUE(read_dispatchers[0]); EXPECT_TRUE(read_dispatchers[0]->HasOneRef()); EXPECT_EQ(Dispatcher::kTypePlatformHandle, read_dispatchers[0]->GetType()); |