libbrillo: Update libchrome APIs to r405848
The new libchrome has been ported from Chromium and some APIs have
changed. Make necessary changes at call sites.
Notable changes from libchrome:
- base::Bind() now explicitly disallows captures in lambdas (which was
never allowed in the style guide), so lambdas should now be written in
a way that take the captures as parameters.
- base::ListValue::iterator now exposes std::unique_ptr<base::Value>
instead of raw base::Value*.
Bug: 29104761
Test: All tests in libbrillo_test pass on dragonboard-eng build
Change-Id: I4c49a27ca65dfcd180e863fcd3a9778ef80a8c41
diff --git a/brillo/message_loops/fake_message_loop_unittest.cc b/brillo/message_loops/fake_message_loop_unittest.cc
index 10b551e..1f94a4b 100644
--- a/brillo/message_loops/fake_message_loop_unittest.cc
+++ b/brillo/message_loops/fake_message_loop_unittest.cc
@@ -45,13 +45,16 @@
TEST_F(FakeMessageLoopTest, PostDelayedTaskRunsInOrder) {
vector<int> order;
- loop_->PostDelayedTask(Bind([&order]() { order.push_back(1); }),
+ auto callback = [](std::vector<int>* order, int value) {
+ order->push_back(value);
+ };
+ loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 1),
TimeDelta::FromSeconds(1));
- loop_->PostDelayedTask(Bind([&order]() { order.push_back(4); }),
+ loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 4),
TimeDelta::FromSeconds(4));
- loop_->PostDelayedTask(Bind([&order]() { order.push_back(3); }),
+ loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 3),
TimeDelta::FromSeconds(3));
- loop_->PostDelayedTask(Bind([&order]() { order.push_back(2); }),
+ loop_->PostDelayedTask(Bind(callback, base::Unretained(&order), 2),
TimeDelta::FromSeconds(2));
// Run until all the tasks are run.
loop_->Run();
@@ -89,15 +92,18 @@
int called = 0;
TaskId task_id = loop_->WatchFileDescriptor(
FROM_HERE, fd, MessageLoop::kWatchRead, false,
- Bind([&called] { called++; }));
+ Bind([](int* called) { (*called)++; }, base::Unretained(&called)));
EXPECT_NE(MessageLoop::kTaskIdNull, task_id);
- EXPECT_NE(MessageLoop::kTaskIdNull,
- loop_->PostDelayedTask(Bind([this] { this->loop_->BreakLoop(); }),
- TimeDelta::FromSeconds(10)));
- EXPECT_NE(MessageLoop::kTaskIdNull,
- loop_->PostDelayedTask(Bind([this] { this->loop_->BreakLoop(); }),
- TimeDelta::FromSeconds(20)));
+ auto callback = [](FakeMessageLoop* loop) { loop->BreakLoop(); };
+ EXPECT_NE(
+ MessageLoop::kTaskIdNull,
+ loop_->PostDelayedTask(Bind(callback, base::Unretained(loop_.get())),
+ TimeDelta::FromSeconds(10)));
+ EXPECT_NE(
+ MessageLoop::kTaskIdNull,
+ loop_->PostDelayedTask(Bind(callback, base::Unretained(loop_.get())),
+ TimeDelta::FromSeconds(20)));
loop_->Run();
EXPECT_EQ(0, called);