| Index: content/child/blink_platform_impl.cc
|
| diff --git a/content/child/blink_platform_impl.cc b/content/child/blink_platform_impl.cc
|
| index ca621267cf83df6204699d1f2ef338b7ebf54f5c..1f05b21b957eced95221f949f14dfb31bb5a12e4 100644
|
| --- a/content/child/blink_platform_impl.cc
|
| +++ b/content/child/blink_platform_impl.cc
|
| @@ -25,6 +25,7 @@
|
| #include "base/sys_info.h"
|
| #include "base/thread_task_runner_handle.h"
|
| #include "base/threading/platform_thread.h"
|
| +#include "base/threading/thread.h"
|
| #include "base/time/time.h"
|
| #include "base/trace_event/memory_allocator_dump_guid.h"
|
| #include "base/trace_event/memory_dump_manager.h"
|
| @@ -442,7 +443,8 @@ BlinkPlatformImpl::BlinkPlatformImpl()
|
|
|
| BlinkPlatformImpl::BlinkPlatformImpl(
|
| scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner)
|
| - : main_thread_task_runner_(main_thread_task_runner) {
|
| + : main_thread_task_runner_(main_thread_task_runner),
|
| + compositor_thread_(nullptr) {
|
| InternalInit();
|
| }
|
|
|
| @@ -529,14 +531,30 @@ bool BlinkPlatformImpl::portAllowed(const blink::WebURL& url) const {
|
| }
|
|
|
| blink::WebThread* BlinkPlatformImpl::createThread(const char* name) {
|
| + base::Thread::Options options;
|
| scheduler::WebThreadImplForWorkerScheduler* thread =
|
| - new scheduler::WebThreadImplForWorkerScheduler(name);
|
| + new scheduler::WebThreadImplForWorkerScheduler(name, options);
|
| thread->TaskRunner()->PostTask(
|
| FROM_HERE, base::Bind(&BlinkPlatformImpl::UpdateWebThreadTLS,
|
| base::Unretained(this), thread));
|
| return thread;
|
| }
|
|
|
| +blink::WebThread* BlinkPlatformImpl::createThreadForCompositor(
|
| + const char* name) {
|
| + base::Thread::Options options;
|
| + DCHECK(!compositor_thread_);
|
| +#if defined(OS_ANDROID)
|
| + options.priority = base::ThreadPriority::DISPLAY;
|
| +#endif
|
| + compositor_thread_ =
|
| + new scheduler::WebThreadImplForWorkerScheduler(name, options);
|
| + compositor_thread_->TaskRunner()->PostTask(
|
| + FROM_HERE, base::Bind(&BlinkPlatformImpl::UpdateWebThreadTLS,
|
| + base::Unretained(this), compositor_thread_));
|
| + return compositor_thread_;
|
| +}
|
| +
|
| blink::WebThread* BlinkPlatformImpl::currentThread() {
|
| return static_cast<blink::WebThread*>(current_thread_slot_.Get());
|
| }
|
| @@ -1089,6 +1107,10 @@ void BlinkPlatformImpl::cryptographicallyRandomValues(
|
| base::RandBytes(buffer, length);
|
| }
|
|
|
| +blink::WebThread* BlinkPlatformImpl::compositorThread() const {
|
| + return compositor_thread_;
|
| +}
|
| +
|
| blink::WebGestureCurve* BlinkPlatformImpl::createFlingAnimationCurve(
|
| blink::WebGestureDevice device_source,
|
| const blink::WebFloatPoint& velocity,
|
|
|