| Index: content/child/resource_scheduling_filter.cc
|
| diff --git a/content/child/resource_scheduling_filter.cc b/content/child/resource_scheduling_filter.cc
|
| index 2d53cd0b5c5a49855d8bca4d4dcfa79c3dbdf90c..9621fe4e08230fc73bdc6d5bcba702143e48d54a 100644
|
| --- a/content/child/resource_scheduling_filter.cc
|
| +++ b/content/child/resource_scheduling_filter.cc
|
| @@ -11,32 +11,9 @@
|
| #include "content/child/resource_dispatcher.h"
|
| #include "ipc/ipc_message.h"
|
| #include "ipc/ipc_message_start.h"
|
| -#include "third_party/WebKit/public/platform/WebTaskRunner.h"
|
| -#include "third_party/WebKit/public/platform/WebTraceLocation.h"
|
|
|
| namespace content {
|
|
|
| -namespace {
|
| -class DispatchMessageTask : public blink::WebTaskRunner::Task {
|
| - public:
|
| - DispatchMessageTask(
|
| - base::WeakPtr<ResourceSchedulingFilter> resource_scheduling_filter,
|
| - const IPC::Message& message)
|
| - : resource_scheduling_filter_(resource_scheduling_filter),
|
| - message_(message) {}
|
| -
|
| - void run() override {
|
| - if (!resource_scheduling_filter_.get())
|
| - return;
|
| - resource_scheduling_filter_->DispatchMessage(message_);
|
| - }
|
| -
|
| - private:
|
| - base::WeakPtr<ResourceSchedulingFilter> resource_scheduling_filter_;
|
| - const IPC::Message message_;
|
| -};
|
| -} // namespace
|
| -
|
| ResourceSchedulingFilter::ResourceSchedulingFilter(
|
| const scoped_refptr<base::SingleThreadTaskRunner>& main_thread_task_runner,
|
| ResourceDispatcher* resource_dispatcher)
|
| @@ -63,25 +40,23 @@ bool ResourceSchedulingFilter::OnMessageReceived(const IPC::Message& message) {
|
| // one, or on the general main_thread_task_runner if there isn't.
|
| RequestIdToTaskRunnerMap::const_iterator iter =
|
| request_id_to_task_runner_map_.find(request_id);
|
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner;
|
| if (iter != request_id_to_task_runner_map_.end()) {
|
| - // TODO(alexclarke): Find a way to let blink and chromium FROM_HERE coexist.
|
| - iter->second->postTask(
|
| - BLINK_FROM_HERE,
|
| - new DispatchMessageTask(weak_ptr_factory_.GetWeakPtr(), message));
|
| + task_runner = iter->second;
|
| } else {
|
| - main_thread_task_runner_->PostTask(
|
| - FROM_HERE, base::Bind(&ResourceSchedulingFilter::DispatchMessage,
|
| - weak_ptr_factory_.GetWeakPtr(), message));
|
| + task_runner = main_thread_task_runner_;
|
| }
|
| + task_runner->PostTask(FROM_HERE,
|
| + base::Bind(&ResourceSchedulingFilter::DispatchMessage,
|
| + weak_ptr_factory_.GetWeakPtr(), message));
|
| return true;
|
| }
|
|
|
| void ResourceSchedulingFilter::SetRequestIdTaskRunner(
|
| int id,
|
| - std::unique_ptr<blink::WebTaskRunner> web_task_runner) {
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner) {
|
| base::AutoLock lock(request_id_to_task_runner_map_lock_);
|
| - request_id_to_task_runner_map_.insert(
|
| - std::make_pair(id, std::move(web_task_runner)));
|
| + request_id_to_task_runner_map_.insert(std::make_pair(id, task_runner));
|
| }
|
|
|
| void ResourceSchedulingFilter::ClearRequestIdTaskRunner(int id) {
|
|
|