Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2352)

Unified Diff: content/renderer/scheduler/web_scheduler_impl.cc

Issue 904593002: Assert RendererScheduler thread usage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix mac Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/scheduler/web_scheduler_impl.cc
diff --git a/content/renderer/scheduler/web_scheduler_impl.cc b/content/renderer/scheduler/web_scheduler_impl.cc
index 1ca8a302698478b6257dbfed7dcf45cac9d67fe8..c7b6def108eb5c2e195f01c409551806a8e10a5a 100644
--- a/content/renderer/scheduler/web_scheduler_impl.cc
+++ b/content/renderer/scheduler/web_scheduler_impl.cc
@@ -5,6 +5,7 @@
#include "content/renderer/scheduler/web_scheduler_impl.h"
#include "base/bind.h"
+#include "base/single_thread_task_runner.h"
#include "content/renderer/scheduler/renderer_scheduler.h"
#include "third_party/WebKit/public/platform/WebTraceLocation.h"
@@ -12,7 +13,8 @@ namespace content {
WebSchedulerImpl::WebSchedulerImpl(RendererScheduler* renderer_scheduler)
: renderer_scheduler_(renderer_scheduler),
- idle_task_runner_(renderer_scheduler_->IdleTaskRunner()) {
+ idle_task_runner_(renderer_scheduler_->IdleTaskRunner()),
+ loading_task_runner_(renderer_scheduler_->LoadingTaskRunner()) {
}
WebSchedulerImpl::~WebSchedulerImpl() {
@@ -34,6 +36,7 @@ void WebSchedulerImpl::runTask(scoped_ptr<blink::WebThread::Task> task) {
void WebSchedulerImpl::postIdleTask(const blink::WebTraceLocation& web_location,
blink::WebScheduler::IdleTask* task) {
+ DCHECK(idle_task_runner_);
scoped_ptr<blink::WebScheduler::IdleTask> scoped_task(task);
tracked_objects::Location location(web_location.functionName(),
web_location.fileName(), -1, nullptr);
@@ -44,15 +47,18 @@ void WebSchedulerImpl::postIdleTask(const blink::WebTraceLocation& web_location,
void WebSchedulerImpl::postLoadingTask(
const blink::WebTraceLocation& web_location, blink::WebThread::Task* task) {
+ DCHECK(loading_task_runner_);
scoped_ptr<blink::WebThread::Task> scoped_task(task);
tracked_objects::Location location(web_location.functionName(),
web_location.fileName(), -1, nullptr);
- renderer_scheduler_->LoadingTaskRunner()->PostTask(
+ loading_task_runner_->PostTask(
location,
base::Bind(&WebSchedulerImpl::runTask, base::Passed(&scoped_task)));
}
void WebSchedulerImpl::shutdown() {
+ idle_task_runner_ = nullptr;
+ loading_task_runner_ = nullptr;
return renderer_scheduler_->Shutdown();
}
« no previous file with comments | « content/renderer/scheduler/web_scheduler_impl.h ('k') | media/video/capture/mac/video_capture_device_avfoundation_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698