Index: ipc/mojo/async_handle_waiter_unittest.cc |
diff --git a/ipc/mojo/async_handle_waiter_unittest.cc b/ipc/mojo/async_handle_waiter_unittest.cc |
index fbaf3ca421e64b43971eaa9aade6f328b5131195..faa935f04f968b988c01454c592d68507454a86d 100644 |
--- a/ipc/mojo/async_handle_waiter_unittest.cc |
+++ b/ipc/mojo/async_handle_waiter_unittest.cc |
@@ -25,7 +25,8 @@ void ReadOneByteOfX(MojoHandle pipe) { |
CHECK_EQ(buffer, 'X'); |
} |
-class AsyncHandleWaiterTest : public testing::Test { |
+class AsyncHandleWaiterTest : public testing::Test, |
+ public AsyncHandleWaiter::Delegate { |
public: |
AsyncHandleWaiterTest() : worker_("test_worker") { |
worker_.StartWithOptions( |
@@ -36,8 +37,7 @@ class AsyncHandleWaiterTest : public testing::Test { |
message_loop_.reset(new base::MessageLoopForIO()); |
ResetSignaledStates(); |
mojo::CreateMessagePipe(nullptr, &pipe_to_write_, &pipe_to_read_); |
- target_.reset(new AsyncHandleWaiter(base::Bind( |
- &AsyncHandleWaiterTest::HandleIsReady, base::Unretained(this)))); |
+ target_.reset(new AsyncHandleWaiter(this)); |
} |
protected: |
@@ -78,7 +78,11 @@ class AsyncHandleWaiterTest : public testing::Test { |
EXPECT_EQ(MOJO_RESULT_UNKNOWN, signaled_result_); |
} |
- void HandleIsReady(MojoResult result) { |
+ void MessageWasArrived(const void* bytes, uint32_t num_bytes) override { |
+ EXPECT_TRUE(false); |
+ } |
+ |
+ void PipeIsReady(MojoResult result) override { |
CHECK_EQ(base::MessageLoop::current(), message_loop_.get()); |
CHECK_EQ(signaled_result_, MOJO_RESULT_UNKNOWN); |
signaled_result_ = result; |
@@ -139,14 +143,18 @@ TEST_F(AsyncHandleWaiterTest, DeleteWaiterBeforeSignal) { |
WaitAndAssertNotSignaled(); |
} |
-class HandlerThatReenters { |
+class HandlerThatReenters : public AsyncHandleWaiter::Delegate { |
public: |
HandlerThatReenters(base::RunLoop* loop, MojoHandle handle) |
: target_(nullptr), handle_(handle), loop_(loop), step_(0) {} |
void set_target(AsyncHandleWaiter* target) { target_ = target; } |
- void HandleIsReady(MojoResult result) { |
+ void MessageWasArrived(const void* bytes, uint32_t num_bytes) override { |
+ CHECK(false); |
+ } |
+ |
+ void PipeIsReady(MojoResult result) override { |
switch (step_) { |
case 0: |
RestartAndClose(result); |
@@ -190,8 +198,7 @@ class HandlerThatReenters { |
TEST_F(AsyncHandleWaiterTest, RestartWaitingWhileSignaled) { |
HandlerThatReenters handler(run_loop_.get(), pipe_to_read_.get().value()); |
- target_.reset(new AsyncHandleWaiter(base::Bind( |
- &HandlerThatReenters::HandleIsReady, base::Unretained(&handler)))); |
+ target_.reset(new AsyncHandleWaiter(&handler)); |
handler.set_target(target_.get()); |
EXPECT_EQ(MOJO_RESULT_OK, Start()); |