Index: gpu/command_buffer/service/async_pixel_transfer_manager_share_group.cc |
diff --git a/gpu/command_buffer/service/async_pixel_transfer_manager_share_group.cc b/gpu/command_buffer/service/async_pixel_transfer_manager_share_group.cc |
index 45e5e5cb2e4afed0e0d34b2cd1fcdbe3aa914573..eb007bc7fbc232785c20467a1ee0dd9fafd99a56 100644 |
--- a/gpu/command_buffer/service/async_pixel_transfer_manager_share_group.cc |
+++ b/gpu/command_buffer/service/async_pixel_transfer_manager_share_group.cc |
@@ -11,6 +11,7 @@ |
#include "base/logging.h" |
#include "base/memory/ref_counted.h" |
#include "base/memory/weak_ptr.h" |
+#include "base/single_thread_task_runner.h" |
#include "base/synchronization/cancellation_flag.h" |
#include "base/synchronization/lock.h" |
#include "base/synchronization/waitable_event.h" |
@@ -45,10 +46,12 @@ class TransferThread : public base::Thread { |
TransferThread() |
: base::Thread(kAsyncTransferThreadName), |
initialized_(false) { |
+ base::Thread::Options options; |
Start(); |
#if defined(OS_ANDROID) || defined(OS_LINUX) |
- SetPriority(base::ThreadPriority::BACKGROUND); |
+ options.priority = base::ThreadPriority::BACKGROUND; |
#endif |
+ StartWithOptions(options); |
} |
~TransferThread() override { |
@@ -62,12 +65,11 @@ class TransferThread : public base::Thread { |
return; |
base::WaitableEvent wait_for_init(true, false); |
- message_loop_proxy()->PostTask( |
- FROM_HERE, |
- base::Bind(&TransferThread::InitializeOnTransferThread, |
- base::Unretained(this), |
- base::Unretained(parent_context), |
- &wait_for_init)); |
+ task_runner()->PostTask( |
+ FROM_HERE, |
+ base::Bind(&TransferThread::InitializeOnTransferThread, |
+ base::Unretained(this), base::Unretained(parent_context), |
+ &wait_for_init)); |
wait_for_init.Wait(); |
} |
@@ -124,8 +126,8 @@ class TransferThread : public base::Thread { |
base::LazyInstance<TransferThread>::Leaky |
g_transfer_thread = LAZY_INSTANCE_INITIALIZER; |
-base::MessageLoopProxy* transfer_message_loop_proxy() { |
- return g_transfer_thread.Pointer()->message_loop_proxy().get(); |
+base::SingleThreadTaskRunner* transfer_task_runner() { |
+ return g_transfer_thread.Pointer()->task_runner().get(); |
} |
class PendingTask : public base::RefCountedThreadSafe<PendingTask> { |
@@ -247,10 +249,9 @@ class TransferStateInternal |
tex_params, |
mem_params, |
texture_upload_stats)); |
- transfer_message_loop_proxy()->PostTask( |
- FROM_HERE, |
- base::Bind( |
- &PendingTask::BindAndRun, pending_upload_task_, texture_id_)); |
+ transfer_task_runner()->PostTask( |
+ FROM_HERE, base::Bind(&PendingTask::BindAndRun, pending_upload_task_, |
+ texture_id_)); |
// Save the late bind callback, so we can notify the client when it is |
// bound. |
@@ -268,10 +269,9 @@ class TransferStateInternal |
tex_params, |
mem_params, |
texture_upload_stats)); |
- transfer_message_loop_proxy()->PostTask( |
- FROM_HERE, |
- base::Bind( |
- &PendingTask::BindAndRun, pending_upload_task_, texture_id_)); |
+ transfer_task_runner()->PostTask( |
+ FROM_HERE, base::Bind(&PendingTask::BindAndRun, pending_upload_task_, |
+ texture_id_)); |
} |
private: |
@@ -506,11 +506,9 @@ void AsyncPixelTransferManagerShareGroup::AsyncNotifyCompletion( |
AsyncPixelTransferCompletionObserver* observer) { |
// Post a PerformNotifyCompletion task to the upload thread. This task |
// will run after all async transfers are complete. |
- transfer_message_loop_proxy()->PostTask( |
- FROM_HERE, |
- base::Bind(&PerformNotifyCompletion, |
- mem_params, |
- make_scoped_refptr(observer))); |
+ transfer_task_runner()->PostTask( |
+ FROM_HERE, base::Bind(&PerformNotifyCompletion, mem_params, |
+ make_scoped_refptr(observer))); |
} |
uint32 AsyncPixelTransferManagerShareGroup::GetTextureUploadCount() { |