| Index: content/renderer/render_thread_impl.cc
|
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
| index e4ea63fd7b158c8c4c99be3523549abdfeb637a9..3efccda9f11a4c7528b3829a90e023c04884ba1b 100644
|
| --- a/content/renderer/render_thread_impl.cc
|
| +++ b/content/renderer/render_thread_impl.cc
|
| @@ -16,6 +16,7 @@
|
| #include "base/logging.h"
|
| #include "base/memory/discardable_memory.h"
|
| #include "base/memory/shared_memory.h"
|
| +#include "base/message_loop/high_priority_task_runner.h"
|
| #include "base/metrics/field_trial.h"
|
| #include "base/metrics/histogram.h"
|
| #include "base/metrics/stats_table.h"
|
| @@ -33,6 +34,7 @@
|
| #include "content/child/appcache/appcache_frontend_impl.h"
|
| #include "content/child/child_histogram_message_filter.h"
|
| #include "content/child/db_message_filter.h"
|
| +#include "content/child/high_priority_resource_filter.h"
|
| #include "content/child/indexed_db/indexed_db_dispatcher.h"
|
| #include "content/child/indexed_db/indexed_db_message_filter.h"
|
| #include "content/child/npapi/npobject_util.h"
|
| @@ -561,6 +563,11 @@ void RenderThreadImpl::Shutdown() {
|
| input_event_filter_ = NULL;
|
| }
|
|
|
| + if (high_priority_resource_filter_.get()) {
|
| + RemoveFilter(high_priority_resource_filter_.get());
|
| + high_priority_resource_filter_ = NULL;
|
| + }
|
| +
|
| // Ramp down IDB before we ramp down WebKit (and V8), since IDB classes might
|
| // hold pointers to V8 objects (e.g., via pending requests).
|
| main_thread_indexed_db_dispatcher_.reset();
|
| @@ -761,6 +768,10 @@ void RenderThreadImpl::EnsureWebKitInitialized() {
|
| if (!input_handler_manager_client) {
|
| input_event_filter_ =
|
| new InputEventFilter(this, compositor_message_loop_proxy_);
|
| + if (high_priority_task_runner_.get()) {
|
| + input_event_filter_->SetHighPriorityTaskRunner(
|
| + high_priority_task_runner_);
|
| + }
|
| AddFilter(input_event_filter_.get());
|
| input_handler_manager_client = input_event_filter_.get();
|
| }
|
| @@ -1072,6 +1083,20 @@ media::AudioHardwareConfig* RenderThreadImpl::GetAudioHardwareConfig() {
|
| return audio_hardware_config_.get();
|
| }
|
|
|
| +void RenderThreadImpl::UseHighPriorityTaskRunner(
|
| + scoped_refptr<base::HighPriorityTaskRunner> high_priority_task_runner) {
|
| + DCHECK(!high_priority_resource_filter_.get());
|
| + DCHECK(channel());
|
| +
|
| + high_priority_task_runner_ = high_priority_task_runner;
|
| + high_priority_resource_filter_ = new HighPriorityResourceFilter(
|
| + resource_dispatcher(), high_priority_task_runner);
|
| + resource_dispatcher()->set_high_priority_resource_filter(
|
| + high_priority_resource_filter_.get());
|
| +
|
| + channel()->AddFilter(high_priority_resource_filter_.get());
|
| +}
|
| +
|
| base::WaitableEvent* RenderThreadImpl::GetShutdownEvent() {
|
| return ChildProcess::current()->GetShutDownEvent();
|
| }
|
|
|