| Index: content/renderer/gpu/compositor_thread.cc
|
| diff --git a/content/renderer/gpu/compositor_thread.cc b/content/renderer/gpu/compositor_thread.cc
|
| index 815d1c221b155cab71ddea083fc165e5350bb124..cde2e933d8ac22a16ab1c6cfd57d1dec98168c2d 100644
|
| --- a/content/renderer/gpu/compositor_thread.cc
|
| +++ b/content/renderer/gpu/compositor_thread.cc
|
| @@ -12,6 +12,11 @@
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebCompositorInputHandler.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
|
|
|
| +#if defined(OS_ANDROID)
|
| +// TODO(epenner): Move thread priorities to base. (crbug.com/170549)
|
| +#include <sys/resource.h>
|
| +#endif
|
| +
|
| using WebKit::WebCompositorInputHandler;
|
| using WebKit::WebInputEvent;
|
|
|
| @@ -83,6 +88,16 @@ class CompositorThread::InputHandlerWrapper
|
|
|
| //------------------------------------------------------------------------------
|
|
|
| +#if defined(OS_ANDROID)
|
| +// TODO(epenner): Move thread priorities to base. (crbug.com/170549)
|
| +namespace {
|
| +void SetHighThreadPriority() {
|
| + int nice_value = -6; // High priority.
|
| + setpriority(PRIO_PROCESS, base::PlatformThread::CurrentId(), nice_value);
|
| +}
|
| +}
|
| +#endif
|
| +
|
| CompositorThread::CompositorThread(IPC::Listener* main_listener)
|
| : thread_("Compositor") {
|
| filter_ =
|
| @@ -90,6 +105,11 @@ CompositorThread::CompositorThread(IPC::Listener* main_listener)
|
| thread_.message_loop()->message_loop_proxy(),
|
| base::Bind(&CompositorThread::HandleInputEvent,
|
| base::Unretained(this)));
|
| +#if defined(OS_ANDROID)
|
| +// TODO(epenner): Move thread priorities to base. (crbug.com/170549)
|
| + thread_.message_loop()->PostTask(FROM_HERE,
|
| + base::Bind(&SetHighThreadPriority));
|
| +#endif
|
| }
|
|
|
| CompositorThread::~CompositorThread() {
|
|
|