diff --git a/forwarder2/device_controller.cc b/forwarder2/device_controller.cc
index 19827a0..6be52be 100644
--- a/forwarder2/device_controller.cc
+++ b/forwarder2/device_controller.cc
@@ -55,8 +55,8 @@
 
 void DeviceController::AcceptHostCommandSoon() {
   base::ThreadTaskRunnerHandle::Get()->PostTask(
-      FROM_HERE, base::Bind(&DeviceController::AcceptHostCommandInternal,
-                            base::Unretained(this)));
+      FROM_HERE, base::BindOnce(&DeviceController::AcceptHostCommandInternal,
+                                base::Unretained(this)));
 }
 
 void DeviceController::AcceptHostCommandInternal() {
diff --git a/forwarder2/device_forwarder_main.cc b/forwarder2/device_forwarder_main.cc
index 0efd61b..2a6c753 100644
--- a/forwarder2/device_forwarder_main.cc
+++ b/forwarder2/device_forwarder_main.cc
@@ -75,8 +75,8 @@
     }
     controller_thread_->task_runner()->PostTask(
         FROM_HERE,
-        base::Bind(&ServerDelegate::StartController, base::Unretained(this),
-                   GetExitNotifierFD(), base::Passed(&client_socket)));
+        base::BindOnce(&ServerDelegate::StartController, base::Unretained(this),
+                       GetExitNotifierFD(), std::move(client_socket)));
     initialized_ = true;
   }
 
diff --git a/forwarder2/device_listener.cc b/forwarder2/device_listener.cc
index b4c7799..415fa22 100644
--- a/forwarder2/device_listener.cc
+++ b/forwarder2/device_listener.cc
@@ -55,8 +55,8 @@
 void DeviceListener::SetAdbDataSocket(std::unique_ptr<Socket> adb_data_socket) {
   thread_.task_runner()->PostTask(
       FROM_HERE,
-      base::Bind(&DeviceListener::OnAdbDataSocketReceivedOnInternalThread,
-                 base::Unretained(this), base::Passed(&adb_data_socket)));
+      base::BindOnce(&DeviceListener::OnAdbDataSocketReceivedOnInternalThread,
+                     base::Unretained(this), std::move(adb_data_socket)));
 }
 
 DeviceListener::DeviceListener(std::unique_ptr<Socket> listener_socket,
@@ -77,9 +77,8 @@
 
 void DeviceListener::AcceptNextClientSoon() {
   thread_.task_runner()->PostTask(
-      FROM_HERE,
-      base::Bind(&DeviceListener::AcceptClientOnInternalThread,
-                 base::Unretained(this)));
+      FROM_HERE, base::BindOnce(&DeviceListener::AcceptClientOnInternalThread,
+                                base::Unretained(this)));
 }
 
 void DeviceListener::AcceptClientOnInternalThread() {
diff --git a/forwarder2/forwarders_manager.cc b/forwarder2/forwarders_manager.cc
index 6ab8ed5..fcb3976 100644
--- a/forwarder2/forwarders_manager.cc
+++ b/forwarder2/forwarders_manager.cc
@@ -39,9 +39,9 @@
   // which is the only thread from which it's accessed.
   thread_.task_runner()->PostTask(
       FROM_HERE,
-      base::Bind(&ForwardersManager::CreateNewForwarderOnInternalThread,
-                 base::Unretained(this), base::Passed(&socket1),
-                 base::Passed(&socket2)));
+      base::BindOnce(&ForwardersManager::CreateNewForwarderOnInternalThread,
+                     base::Unretained(this), std::move(socket1),
+                     std::move(socket2)));
 
   // Guarantees that the CreateNewForwarderOnInternalThread callback posted to
   // the internal thread gets executed immediately.
@@ -59,8 +59,8 @@
 void ForwardersManager::WaitForEventsOnInternalThreadSoon() {
   thread_.task_runner()->PostTask(
       FROM_HERE,
-      base::Bind(&ForwardersManager::WaitForEventsOnInternalThread,
-                 base::Unretained(this)));
+      base::BindOnce(&ForwardersManager::WaitForEventsOnInternalThread,
+                     base::Unretained(this)));
 }
 
 void ForwardersManager::WaitForEventsOnInternalThread() {
diff --git a/forwarder2/host_controller.cc b/forwarder2/host_controller.cc
index 316794f..007f46b 100644
--- a/forwarder2/host_controller.cc
+++ b/forwarder2/host_controller.cc
@@ -87,9 +87,8 @@
 
 void HostController::ReadNextCommandSoon() {
   thread_.task_runner()->PostTask(
-      FROM_HERE,
-      base::Bind(&HostController::ReadCommandOnInternalThread,
-                 base::Unretained(this)));
+      FROM_HERE, base::BindOnce(&HostController::ReadCommandOnInternalThread,
+                                base::Unretained(this)));
 }
 
 void HostController::ReadCommandOnInternalThread() {
diff --git a/forwarder2/host_controllers_manager.cc b/forwarder2/host_controllers_manager.cc
index 880402c..f024ab8 100644
--- a/forwarder2/host_controllers_manager.cc
+++ b/forwarder2/host_controllers_manager.cc
@@ -38,9 +38,9 @@
   InitOnce();
   thread_->task_runner()->PostTask(
       FROM_HERE,
-      base::Bind(&HostControllersManager::HandleRequestOnInternalThread,
-                 base::Unretained(this), adb_path, device_serial, command,
-                 device_port, host_port, base::Passed(&client_socket)));
+      base::BindOnce(&HostControllersManager::HandleRequestOnInternalThread,
+                     base::Unretained(this), adb_path, device_serial, command,
+                     device_port, host_port, std::move(client_socket)));
 }
 
 // static
diff --git a/forwarder2/self_deleter_helper.h b/forwarder2/self_deleter_helper.h
index b9ccc33..19c56a2 100644
--- a/forwarder2/self_deleter_helper.h
+++ b/forwarder2/self_deleter_helper.h
@@ -113,9 +113,8 @@
   void MaybeSelfDeleteSoon() {
     DCHECK(!construction_runner_->RunsTasksInCurrentSequence());
     construction_runner_->PostTask(
-        FROM_HERE,
-        base::Bind(&SelfDeleterHelper::SelfDelete,
-                   weak_ptr_factory_.GetWeakPtr()));
+        FROM_HERE, base::BindOnce(&SelfDeleterHelper::SelfDelete,
+                                  weak_ptr_factory_.GetWeakPtr()));
   }
 
  private:
