diff options
author | alexclarke <alexclarke@chromium.org> | 2015-04-01 03:33:01 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-04-01 10:34:04 +0000 |
commit | 42c0d7d626b8dacaf1fb8730955f0c70d9102e65 (patch) | |
tree | fb400c1fe71861fb0a18bd5f75fd9b18bf6c03b0 /content/renderer | |
parent | 852991e304eed0f1fb8271c794501d0cbd65d0c6 (diff) | |
download | chromium_src-42c0d7d626b8dacaf1fb8730955f0c70d9102e65.zip chromium_src-42c0d7d626b8dacaf1fb8730955f0c70d9102e65.tar.gz chromium_src-42c0d7d626b8dacaf1fb8730955f0c70d9102e65.tar.bz2 |
Change TaskQueue::WillDeleteTaskQueueManager to clear all queues
This is needed by https://codereview.chromium.org/1025323003/#
but it's potentially risky so it would be good to do it seperatly.
BUG=463143, 468308
Review URL: https://codereview.chromium.org/1055473002
Cr-Commit-Position: refs/heads/master@{#323209}
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/scheduler/task_queue_manager.cc | 3 | ||||
-rw-r--r-- | content/renderer/scheduler/task_queue_manager_unittest.cc | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/content/renderer/scheduler/task_queue_manager.cc b/content/renderer/scheduler/task_queue_manager.cc index 60ae565..a9a75a6 100644 --- a/content/renderer/scheduler/task_queue_manager.cc +++ b/content/renderer/scheduler/task_queue_manager.cc @@ -154,8 +154,9 @@ TaskQueue::~TaskQueue() { void TaskQueue::WillDeleteTaskQueueManager() { base::AutoLock lock(lock_); task_queue_manager_ = nullptr; - // TODO(scheduler-dev): Should we also clear the other queues here too? delayed_task_queue_ = base::DelayedTaskQueue(); + incoming_queue_ = base::TaskQueue(); + work_queue_ = base::TaskQueue(); } bool TaskQueue::RunsTasksOnCurrentThread() const { diff --git a/content/renderer/scheduler/task_queue_manager_unittest.cc b/content/renderer/scheduler/task_queue_manager_unittest.cc index 533223e..34fa200 100644 --- a/content/renderer/scheduler/task_queue_manager_unittest.cc +++ b/content/renderer/scheduler/task_queue_manager_unittest.cc @@ -442,10 +442,12 @@ TEST_F(TaskQueueManagerTest, PendingDelayedTasksRemovedOnShutdown) { runner->PostDelayedTask( FROM_HERE, base::Bind(&TestObject::Run, base::Owned(new TestObject())), delay); + runner->PostTask( + FROM_HERE, base::Bind(&TestObject::Run, base::Owned(new TestObject()))); manager_.reset(); - EXPECT_EQ(1, TestObject::destructor_count_); + EXPECT_EQ(2, TestObject::destructor_count_); } TEST_F(TaskQueueManagerTest, ManualPumping) { |