| Index: cc/layers/layer.cc
|
| diff --git a/cc/layers/layer.cc b/cc/layers/layer.cc
|
| index e1354b9fbe9636da35ade3ba5585b391b37dfccf..bdcbc755d15db112782d34e3623ca2b07bd58c53 100644
|
| --- a/cc/layers/layer.cc
|
| +++ b/cc/layers/layer.cc
|
| @@ -6,11 +6,12 @@
|
|
|
| #include <algorithm>
|
|
|
| +#include "base/location.h"
|
| #include "base/metrics/histogram.h"
|
| +#include "base/single_thread_task_runner.h"
|
| #include "cc/animation/animation.h"
|
| #include "cc/animation/animation_events.h"
|
| #include "cc/animation/layer_animation_controller.h"
|
| -#include "cc/base/thread.h"
|
| #include "cc/layers/layer_impl.h"
|
| #include "cc/output/copy_output_request.h"
|
| #include "cc/output/copy_output_result.h"
|
| @@ -657,12 +658,14 @@ static void RunCopyCallbackOnMainThread(scoped_ptr<CopyOutputRequest> request,
|
| request->SendResult(result.Pass());
|
| }
|
|
|
| -static void PostCopyCallbackToMainThread(Thread* main_thread,
|
| - scoped_ptr<CopyOutputRequest> request,
|
| - scoped_ptr<CopyOutputResult> result) {
|
| - main_thread->PostTask(base::Bind(&RunCopyCallbackOnMainThread,
|
| - base::Passed(&request),
|
| - base::Passed(&result)));
|
| +static void PostCopyCallbackToMainThread(
|
| + scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner,
|
| + scoped_ptr<CopyOutputRequest> request,
|
| + scoped_ptr<CopyOutputResult> result) {
|
| + main_thread_task_runner->PostTask(FROM_HERE,
|
| + base::Bind(&RunCopyCallbackOnMainThread,
|
| + base::Passed(&request),
|
| + base::Passed(&result)));
|
| }
|
|
|
| void Layer::PushPropertiesTo(LayerImpl* layer) {
|
| @@ -712,13 +715,15 @@ void Layer::PushPropertiesTo(LayerImpl* layer) {
|
| for (ScopedPtrVector<CopyOutputRequest>::iterator it = copy_requests_.begin();
|
| it != copy_requests_.end();
|
| ++it) {
|
| + scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner =
|
| + layer_tree_host()->proxy()->MainThreadTaskRunner();
|
| scoped_ptr<CopyOutputRequest> original_request = copy_requests_.take(it);
|
| const CopyOutputRequest& original_request_ref = *original_request;
|
| scoped_ptr<CopyOutputRequest> main_thread_request =
|
| CopyOutputRequest::CreateRelayRequest(
|
| original_request_ref,
|
| base::Bind(&PostCopyCallbackToMainThread,
|
| - layer_tree_host()->proxy()->MainThread(),
|
| + main_thread_task_runner,
|
| base::Passed(&original_request)));
|
| main_thread_copy_requests.push_back(main_thread_request.Pass());
|
| }
|
|
|