update_engine: 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.
Bug: 29104761
Test: All tests in update_engine_unittest pass on dragonboard-eng build
Change-Id: Iec04c126630fd876114076e3cb10cf917c8817b0
diff --git a/common/http_fetcher_unittest.cc b/common/http_fetcher_unittest.cc
index 0dd6f84..6f3e480 100644
--- a/common/http_fetcher_unittest.cc
+++ b/common/http_fetcher_unittest.cc
@@ -847,7 +847,8 @@
// Check that no other callback runs in the next two seconds. That would
// indicate a leaked callback.
bool timeout = false;
- auto callback = base::Bind([&timeout]{ timeout = true;});
+ auto callback = base::Bind([](bool* timeout) { *timeout = true; },
+ base::Unretained(&timeout));
this->loop_.PostDelayedTask(FROM_HERE, callback,
base::TimeDelta::FromSeconds(2));
EXPECT_TRUE(this->loop_.RunOnce(true));
diff --git a/common/subprocess_unittest.cc b/common/subprocess_unittest.cc
index cc1f353..58d4191 100644
--- a/common/subprocess_unittest.cc
+++ b/common/subprocess_unittest.cc
@@ -249,13 +249,13 @@
fifo_fd,
MessageLoop::WatchMode::kWatchRead,
false,
- base::Bind([fifo_fd, tag] {
+ base::Bind([](int fifo_fd, uint32_t tag) {
char c;
EXPECT_EQ(1, HANDLE_EINTR(read(fifo_fd, &c, 1)));
EXPECT_EQ('X', c);
LOG(INFO) << "Killing tag " << tag;
Subprocess::Get().KillExec(tag);
- }));
+ }, fifo_fd, tag));
// This test would leak a callback that runs when the child process exits
// unless we wait for it to run.
diff --git a/omaha_request_action_unittest.cc b/omaha_request_action_unittest.cc
index 260a7a1..1c1d25c 100644
--- a/omaha_request_action_unittest.cc
+++ b/omaha_request_action_unittest.cc
@@ -352,7 +352,9 @@
.Times(expected_download_error_code == metrics::DownloadErrorCode::kUnset
? 0 : 1);
- loop.PostTask(base::Bind([&processor] { processor.StartProcessing(); }));
+ loop.PostTask(base::Bind(
+ [](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(&processor)));
loop.Run();
EXPECT_FALSE(loop.PendingTasks());
if (collector_action.has_input_object_ && out_response)
@@ -385,7 +387,9 @@
processor.set_delegate(&delegate);
processor.EnqueueAction(&action);
- loop.PostTask(base::Bind([&processor] { processor.StartProcessing(); }));
+ loop.PostTask(base::Bind(
+ [](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(&processor)));
loop.Run();
EXPECT_FALSE(loop.PendingTasks());
@@ -472,7 +476,9 @@
ActionProcessor processor;
processor.EnqueueAction(&action);
- loop.PostTask(base::Bind([&processor] { processor.StartProcessing(); }));
+ loop.PostTask(base::Bind(
+ [](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(&processor)));
loop.Run();
EXPECT_FALSE(loop.PendingTasks());
@@ -926,7 +932,9 @@
processor.set_delegate(&delegate);
processor.EnqueueAction(&action);
- loop.PostTask(base::Bind([&processor] { processor.StartProcessing(); }));
+ loop.PostTask(base::Bind(
+ [](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(&processor)));
loop.Run();
EXPECT_FALSE(loop.PendingTasks());
EXPECT_FALSE(processor.IsRunning());
diff --git a/payload_consumer/download_action_unittest.cc b/payload_consumer/download_action_unittest.cc
index 4ffd35c..5e9ef5c 100644
--- a/payload_consumer/download_action_unittest.cc
+++ b/payload_consumer/download_action_unittest.cc
@@ -395,8 +395,11 @@
processor.EnqueueAction(&download_action);
processor.EnqueueAction(&test_action);
- loop.PostTask(FROM_HERE,
- base::Bind([&processor] { processor.StartProcessing(); }));
+ loop.PostTask(
+ FROM_HERE,
+ base::Bind(
+ [](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(&processor)));
loop.Run();
EXPECT_FALSE(loop.PendingTasks());
diff --git a/payload_consumer/postinstall_runner_action_unittest.cc b/payload_consumer/postinstall_runner_action_unittest.cc
index c3a5120..e82a866 100644
--- a/payload_consumer/postinstall_runner_action_unittest.cc
+++ b/payload_consumer/postinstall_runner_action_unittest.cc
@@ -193,8 +193,11 @@
processor.EnqueueAction(&collector_action);
processor.set_delegate(&processor_delegate_);
- loop_.PostTask(FROM_HERE,
- base::Bind([&processor] { processor.StartProcessing(); }));
+ loop_.PostTask(
+ FROM_HERE,
+ base::Bind(
+ [](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(&processor)));
loop_.Run();
ASSERT_FALSE(processor.IsRunning());
postinstall_action_ = nullptr;
diff --git a/update_attempter.cc b/update_attempter.cc
index a2125a6..5e63ef6 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -1338,7 +1338,8 @@
start_action_processor_ = false;
MessageLoop::current()->PostTask(
FROM_HERE,
- Bind([this] { this->processor_->StartProcessing(); }));
+ Bind([](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(processor_.get())));
}
void UpdateAttempter::DisableDeltaUpdateIfNeeded() {
diff --git a/update_attempter_android.cc b/update_attempter_android.cc
index 01eb320..d435b52 100644
--- a/update_attempter_android.cc
+++ b/update_attempter_android.cc
@@ -372,7 +372,9 @@
void UpdateAttempterAndroid::ScheduleProcessingStart() {
LOG(INFO) << "Scheduling an action processor start.";
brillo::MessageLoop::current()->PostTask(
- FROM_HERE, Bind([this] { this->processor_->StartProcessing(); }));
+ FROM_HERE,
+ Bind([](ActionProcessor* processor) { processor->StartProcessing(); },
+ base::Unretained(processor_.get())));
}
void UpdateAttempterAndroid::TerminateUpdateAndNotify(ErrorCode error_code) {
diff --git a/update_attempter_unittest.cc b/update_attempter_unittest.cc
index dfb0465..94a1b3c 100644
--- a/update_attempter_unittest.cc
+++ b/update_attempter_unittest.cc
@@ -213,7 +213,10 @@
};
void UpdateAttempterTest::ScheduleQuitMainLoop() {
- loop_.PostTask(FROM_HERE, base::Bind([this] { this->loop_.BreakLoop(); }));
+ loop_.PostTask(
+ FROM_HERE,
+ base::Bind([](brillo::BaseMessageLoop* loop) { loop->BreakLoop(); },
+ base::Unretained(&loop_)));
}
TEST_F(UpdateAttempterTest, ActionCompletedDownloadTest) {