Skip to content

Commit

Permalink
Remove use of deprecated MessageLoop methods in extensions.
Browse files Browse the repository at this point in the history
MessageLoop::PostTask/PostDelayedTask/DeleteSoon/ReleaseSoon
are deprecated. This CL makes the following replacements to
remove some uses of these methods:

"MessageLoop(ForUI|ForIO)::current()->PostTask" ->
  "ThreadTaskRunnerHandle::Get()->PostTask"
"MessageLoop(ForUI|ForIO)::current()->PostDelayedTask" ->
  "ThreadTaskRunnerHandle::Get()->PostDelayedTask"
"MessageLoop(ForUI|ForIO)::current()->DeleteSoon" ->
  "ThreadTaskRunnerHandle::Get()->DeleteSoon"
"MessageLoop(ForUI|ForIO)::current()->ReleaseSoon" ->
  "ThreadTaskRunnerHandle::Get()->ReleaseSoon"

In files where these replacements are made, it adds these includes:
  #include "base/location.h"
  #include "base/single_thread_task_runner.h"
  #include "base/threading/thread_task_runner_handle.h"

And removes this include if it is no longer required:
  #include "base/message_loop/message_loop.h"

Why ThreadTaskRunnerHandle::Get() instead of
MessageLoop::current()->task_runner()?
 - The two are equivalent on threads that run a MessageLoop.
 - MessageLoop::current() doesn't work in base/task_scheduler
   because the scheduler's thread don't run MessageLoops.
   This CL will therefore facilitate the migration of browser
   threads to base/task_scheduler.

Steps to generate this patch:
1. Run message_loop_cleanup.py (see code on the bug).
2. Run tools/sort-headers.py on modified files.
3. Run git cl format.

BUG=616447
R=reillyg@chromium.org

Review-Url: https://codereview.chromium.org/2036863002
Cr-Commit-Position: refs/heads/master@{#398088}
  • Loading branch information
fdoray authored and Commit bot committed Jun 6, 2016
1 parent b3549d9 commit e6609ac
Show file tree
Hide file tree
Showing 20 changed files with 107 additions and 71 deletions.
8 changes: 5 additions & 3 deletions extensions/browser/api/cast_channel/cast_socket.cc
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@
#include "base/callback_helpers.h"
#include "base/format_macros.h"
#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/numerics/safe_conversions.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/sys_byteorder.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
#include "extensions/browser/api/cast_channel/cast_auth_util.h"
#include "extensions/browser/api/cast_channel/cast_framer.h"
Expand Down Expand Up @@ -297,8 +299,8 @@ void CastSocketImpl::PostTaskToStartConnectLoop(int result) {
DCHECK(connect_loop_callback_.IsCancelled());
connect_loop_callback_.Reset(base::Bind(&CastSocketImpl::DoConnectLoop,
base::Unretained(this), result));
base::MessageLoop::current()->PostTask(FROM_HERE,
connect_loop_callback_.callback());
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, connect_loop_callback_.callback());
}

// This method performs the state machine transitions for connection flow.
Expand Down
8 changes: 5 additions & 3 deletions extensions/browser/api/cast_channel/cast_socket_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,17 @@
#include <utility>
#include <vector>

#include "base/location.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/memory/weak_ptr.h"
#include "base/message_loop/message_loop.h"
#include "base/run_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_number_conversions.h"
#include "base/sys_byteorder.h"
#include "base/test/simple_test_clock.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/timer/mock_timer.h"
#include "extensions/browser/api/cast_channel/cast_auth_util.h"
#include "extensions/browser/api/cast_channel/cast_framer.h"
Expand Down Expand Up @@ -108,9 +111,8 @@ class MockTCPSocket : public net::TCPClientSocket {

if (connect_data_.mode == net::ASYNC) {
CHECK_NE(connect_data_.result, net::ERR_IO_PENDING);
base::MessageLoop::current()->PostTask(
FROM_HERE,
base::Bind(callback, connect_data_.result));
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(callback, connect_data_.result));
return net::ERR_IO_PENDING;
} else {
return connect_data_.result;
Expand Down
16 changes: 9 additions & 7 deletions extensions/browser/api/cast_channel/cast_transport.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@

#include "base/bind.h"
#include "base/format_macros.h"
#include "base/message_loop/message_loop.h"
#include "base/location.h"
#include "base/numerics/safe_conversions.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/stringprintf.h"
#include "base/threading/thread_task_runner_handle.h"
#include "extensions/browser/api/cast_channel/cast_framer.h"
#include "extensions/browser/api/cast_channel/cast_message_util.h"
#include "extensions/browser/api/cast_channel/logger.h"
Expand Down Expand Up @@ -156,7 +158,7 @@ void CastTransportImpl::SetReadDelegate(std::unique_ptr<Delegate> delegate) {
void CastTransportImpl::FlushWriteQueue() {
for (; !write_queue_.empty(); write_queue_.pop()) {
net::CompletionCallback& callback = write_queue_.front().callback;
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(callback, net::ERR_FAILED));
callback.Reset();
}
Expand All @@ -170,7 +172,7 @@ void CastTransportImpl::SendMessage(const CastMessage& message,
logger_->LogSocketEventForMessage(channel_id_, proto::SEND_MESSAGE_FAILED,
message.namespace_(),
"Error when serializing message.");
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(callback, net::ERR_FAILED));
return;
}
Expand Down Expand Up @@ -325,10 +327,10 @@ int CastTransportImpl::DoWriteCallback() {
logger_->LogSocketEventForMessage(
channel_id_, proto::MESSAGE_WRITTEN, request.message_namespace,
base::StringPrintf("Bytes: %d", bytes_consumed));
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(&base::DoNothing));
base::MessageLoop::current()->PostTask(FROM_HERE,
base::Bind(request.callback, net::OK));
base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE,
base::Bind(&base::DoNothing));
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(request.callback, net::OK));

write_queue_.pop();
if (write_queue_.empty()) {
Expand Down
5 changes: 4 additions & 1 deletion extensions/browser/api/hid/hid_device_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@
#include <vector>

#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "device/core/device_client.h"
#include "device/hid/hid_device_filter.h"
#include "device/hid/hid_service.h"
Expand Down Expand Up @@ -124,7 +127,7 @@ void HidDeviceManager::GetApiDevices(
if (enumeration_ready_) {
std::unique_ptr<base::ListValue> devices =
CreateApiDeviceList(extension, filters);
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(callback, base::Passed(&devices)));
} else {
pending_enumerations_.push_back(base::WrapUnique(
Expand Down
5 changes: 4 additions & 1 deletion extensions/browser/api/management/management_api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,16 @@
#include "base/bind.h"
#include "base/json/json_writer.h"
#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/memory/linked_ptr.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
#include "content/public/browser/browser_context.h"
#include "extensions/browser/api/extensions_api_client.h"
Expand Down Expand Up @@ -548,7 +551,7 @@ ExtensionFunction::ResponseAction ManagementUninstallFunctionBase::Uninstall(
uninstall_dialog_ = delegate->UninstallFunctionDelegate(
this, target_extension, show_programmatic_uninstall_ui);
} else { // No confirm dialog.
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&ManagementUninstallFunctionBase::UninstallExtension, this));
}
Expand Down
12 changes: 6 additions & 6 deletions extensions/browser/api/runtime/runtime_api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@
#include <utility>

#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/values.h"
#include "base/version.h"
#include "content/public/browser/browser_context.h"
Expand Down Expand Up @@ -194,7 +197,7 @@ void RuntimeAPI::OnExtensionLoaded(content::BrowserContext* browser_context,
const Extension* extension) {
base::Version previous_version;
if (ReadPendingOnInstallInfoFromPref(extension->id(), &previous_version)) {
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&RuntimeEventRouter::DispatchOnInstalledEvent,
browser_context_, extension->id(), previous_version, false));
Expand All @@ -205,13 +208,10 @@ void RuntimeAPI::OnExtensionLoaded(content::BrowserContext* browser_context,
return;

// Dispatch the onInstalled event with reason "chrome_update".
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&RuntimeEventRouter::DispatchOnInstalledEvent,
browser_context_,
extension->id(),
Version(),
true));
browser_context_, extension->id(), Version(), true));
}

void RuntimeAPI::OnExtensionWillBeInstalled(
Expand Down
9 changes: 5 additions & 4 deletions extensions/browser/api/serial/serial_connection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@

#include "base/files/file_path.h"
#include "base/lazy_instance.h"
#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "device/serial/buffer.h"
#include "extensions/browser/api/api_resource_manager.h"
#include "extensions/common/api/serial.h"
Expand Down Expand Up @@ -364,9 +366,8 @@ void SerialConnection::OnAsyncWriteComplete(int bytes_sent,
SerialConnection::TimeoutTask::TimeoutTask(const base::Closure& closure,
const base::TimeDelta& delay)
: closure_(closure), delay_(delay), weak_factory_(this) {
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE,
base::Bind(&TimeoutTask::Run, weak_factory_.GetWeakPtr()),
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::Bind(&TimeoutTask::Run, weak_factory_.GetWeakPtr()),
delay_);
}

Expand Down
5 changes: 3 additions & 2 deletions extensions/browser/api/vpn_provider/vpn_service.cc
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@
#include "base/location.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/values.h"
#include "chromeos/dbus/shill_third_party_vpn_driver_client.h"
#include "chromeos/dbus/shill_third_party_vpn_observer.h"
Expand Down Expand Up @@ -155,7 +156,7 @@ VpnService::VpnService(
extension_registry_->AddObserver(this);
network_state_handler_->AddObserver(this, FROM_HERE);
network_configuration_handler_->AddObserver(this);
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&VpnService::NetworkListChanged, weak_factory_.GetWeakPtr()));
}
Expand Down
8 changes: 5 additions & 3 deletions extensions/browser/api/webcam_private/visca_webcam.cc
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@
#include <utility>

#include "base/bind.h"
#include "base/location.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "content/public/browser/browser_thread.h"

using content::BrowserThread;
Expand Down Expand Up @@ -259,7 +261,7 @@ void ViscaWebcam::OnReceiveCompleted(const CommandCompleteCallback& callback,
// Success case. If waiting for more data, then loop until encounter the
// terminator.
if (data_buffer_.back() != kViscaTerminator) {
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&ViscaWebcam::ReceiveLoop,
weak_ptr_factory_.GetWeakPtr(), callback));
return;
Expand All @@ -278,7 +280,7 @@ void ViscaWebcam::OnReceiveCompleted(const CommandCompleteCallback& callback,
kViscaResponseNetworkChange) {
callback.Run(true, response);
} else {
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::Bind(&ViscaWebcam::ReceiveLoop,
weak_ptr_factory_.GetWeakPtr(), callback));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@

#include <utility>

#include "base/location.h"
#include "base/memory/ptr_util.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/guest_view/browser/guest_view_event.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
Expand Down Expand Up @@ -317,12 +320,11 @@ int WebViewPermissionHelper::RequestPermission(
// objects held by the permission request are not destroyed immediately
// after creation. This is to allow those same objects to be accessed again
// in the same scope without fear of use after freeing.
base::MessageLoop::current()->PostTask(
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE,
base::Bind(&PermissionResponseCallback::Run,
base::Owned(new PermissionResponseCallback(callback)),
allowed_by_default,
std::string()));
allowed_by_default, std::string()));
return webview::kInvalidPermissionRequestID;
}

Expand Down
6 changes: 4 additions & 2 deletions extensions/browser/load_monitoring_extension_host_queue.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
#include <utility>

#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram_macros.h"
#include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "content/public/browser/render_frame_host.h"
#include "extensions/browser/extension_host.h"
#include "extensions/browser/extension_host_observer.h"
Expand Down Expand Up @@ -46,7 +48,7 @@ void LoadMonitoringExtensionHostQueue::StartMonitoring() {
return;
}
started_ = true;
base::MessageLoop::current()->PostDelayedTask(
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::Bind(&LoadMonitoringExtensionHostQueue::FinishMonitoring,
weak_ptr_factory_.GetWeakPtr()),
monitor_time_);
Expand Down
26 changes: 12 additions & 14 deletions extensions/browser/process_manager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,14 @@
#include <vector>

#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram_macros.h"
#include "base/single_thread_task_runner.h"
#include "base/stl_util.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/devtools_agent_host.h"
Expand Down Expand Up @@ -555,12 +558,10 @@ void ProcessManager::OnShouldSuspendAck(const std::string& extension_id,
void ProcessManager::OnSuspendAck(const std::string& extension_id) {
background_page_data_[extension_id].is_closing = true;
uint64_t sequence_id = background_page_data_[extension_id].close_sequence_id;
base::MessageLoop::current()->PostDelayedTask(
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE,
base::Bind(&ProcessManager::CloseLazyBackgroundPageNow,
weak_ptr_factory_.GetWeakPtr(),
extension_id,
sequence_id),
weak_ptr_factory_.GetWeakPtr(), extension_id, sequence_id),
base::TimeDelta::FromMilliseconds(g_event_page_suspending_time_msec));
}

Expand Down Expand Up @@ -787,12 +788,10 @@ void ProcessManager::DecrementLazyKeepaliveCount(
if (--count == 0 && !background_page_data_[extension_id].is_closing) {
background_page_data_[extension_id].close_sequence_id =
++last_background_close_sequence_id_;
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE,
base::Bind(&ProcessManager::OnLazyBackgroundPageIdle,
weak_ptr_factory_.GetWeakPtr(),
extension_id,
last_background_close_sequence_id_),
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::Bind(&ProcessManager::OnLazyBackgroundPageIdle,
weak_ptr_factory_.GetWeakPtr(), extension_id,
last_background_close_sequence_id_),
base::TimeDelta::FromMilliseconds(g_event_page_idle_time_msec));
}
}
Expand Down Expand Up @@ -824,10 +823,9 @@ void ProcessManager::OnKeepaliveImpulseCheck() {
// OnKeepaliveImpulseCheck() is always called in constructor, but in unit
// tests there will be no message loop. In that event don't schedule tasks.
if (base::MessageLoop::current()) {
base::MessageLoop::current()->PostDelayedTask(
FROM_HERE,
base::Bind(&ProcessManager::OnKeepaliveImpulseCheck,
weak_ptr_factory_.GetWeakPtr()),
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::Bind(&ProcessManager::OnKeepaliveImpulseCheck,
weak_ptr_factory_.GetWeakPtr()),
base::TimeDelta::FromMilliseconds(g_event_page_idle_time_msec));
}
}
Expand Down
6 changes: 4 additions & 2 deletions extensions/browser/serial_extension_host_queue.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
#include "extensions/browser/serial_extension_host_queue.h"

#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "base/location.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_number_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "base/time/time.h"
#include "components/variations/variations_associated_data.h"
#include "extensions/browser/deferred_start_render_host.h"
Expand Down Expand Up @@ -61,7 +63,7 @@ void SerialExtensionHostQueue::Remove(DeferredStartRenderHost* host) {

void SerialExtensionHostQueue::PostTask() {
if (!pending_create_) {
base::MessageLoop::current()->PostDelayedTask(
base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
FROM_HERE, base::Bind(&SerialExtensionHostQueue::ProcessOneHost,
ptr_factory_.GetWeakPtr()),
base::TimeDelta::FromMilliseconds(GetDelayMs()));
Expand Down
Loading

0 comments on commit e6609ac

Please sign in to comment.