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

Side by Side Diff: third_party/WebKit/Source/platform/TimerTest.cpp

Issue 2550373005: Make WebTaskRunner ThreadSafeRefCounted (Closed)
Patch Set: mac fix Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/Timer.h" 5 #include "platform/Timer.h"
6 6
7 #include "platform/scheduler/base/task_queue_impl.h" 7 #include "platform/scheduler/base/task_queue_impl.h"
8 #include "platform/scheduler/child/web_task_runner_impl.h" 8 #include "platform/scheduler/child/web_task_runner_impl.h"
9 #include "platform/scheduler/renderer/renderer_scheduler_impl.h" 9 #include "platform/scheduler/renderer/renderer_scheduler_impl.h"
10 #include "platform/testing/TestingPlatformSupport.h" 10 #include "platform/testing/TestingPlatformSupport.h"
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 } 519 }
520 520
521 template <typename TimerFiredClass> 521 template <typename TimerFiredClass>
522 class TimerForTest : public TaskRunnerTimer<TimerFiredClass> { 522 class TimerForTest : public TaskRunnerTimer<TimerFiredClass> {
523 public: 523 public:
524 using TimerFiredFunction = 524 using TimerFiredFunction =
525 typename TaskRunnerTimer<TimerFiredClass>::TimerFiredFunction; 525 typename TaskRunnerTimer<TimerFiredClass>::TimerFiredFunction;
526 526
527 ~TimerForTest() override {} 527 ~TimerForTest() override {}
528 528
529 TimerForTest(WebTaskRunner* webTaskRunner, 529 TimerForTest(RefPtr<WebTaskRunner> webTaskRunner,
530 TimerFiredClass* timerFiredClass, 530 TimerFiredClass* timerFiredClass,
531 TimerFiredFunction timerFiredFunction) 531 TimerFiredFunction timerFiredFunction)
532 : TaskRunnerTimer<TimerFiredClass>(webTaskRunner, 532 : TaskRunnerTimer<TimerFiredClass>(std::move(webTaskRunner),
533 timerFiredClass, 533 timerFiredClass,
534 timerFiredFunction) {} 534 timerFiredFunction) {}
535 }; 535 };
536 536
537 TEST_F(TimerTest, UserSuppliedWebTaskRunner) { 537 TEST_F(TimerTest, UserSuppliedWebTaskRunner) {
538 scoped_refptr<scheduler::TaskQueue> taskRunner( 538 scoped_refptr<scheduler::TaskQueue> taskRunner(
539 m_platform.rendererScheduler()->NewTimerTaskRunner( 539 m_platform.rendererScheduler()->NewTimerTaskRunner(
540 scheduler::TaskQueue::QueueType::TEST)); 540 scheduler::TaskQueue::QueueType::TEST));
541 scheduler::WebTaskRunnerImpl webTaskRunner(taskRunner); 541 scheduler::WebTaskRunnerImpl webTaskRunner(taskRunner);
542 TimerForTest<TimerTest> timer(&webTaskRunner, this, &TimerTest::countingTask); 542 TimerForTest<TimerTest> timer(&webTaskRunner, this, &TimerTest::countingTask);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 GCForbiddenScope scope; 591 GCForbiddenScope scope;
592 EXPECT_FALSE(record->timerHasFired()); 592 EXPECT_FALSE(record->timerHasFired());
593 m_platform.runUntilIdle(); 593 m_platform.runUntilIdle();
594 EXPECT_FALSE(record->timerHasFired()); 594 EXPECT_FALSE(record->timerHasFired());
595 EXPECT_FALSE(record->ownerIsDestructed()); 595 EXPECT_FALSE(record->ownerIsDestructed());
596 } 596 }
597 } 597 }
598 598
599 } // namespace 599 } // namespace
600 } // namespace blink 600 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698