| Index: components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
|
| diff --git a/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc b/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
|
| index 750811cf3252c10586dea2ebfd80857d49d3a309..401b39a022c04938ad2106c6bff504836c7d8321 100644
|
| --- a/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
|
| +++ b/components/scheduler/renderer/web_view_scheduler_impl_unittest.cc
|
| @@ -13,8 +13,6 @@
|
| #include "components/scheduler/renderer/renderer_scheduler_impl.h"
|
| #include "components/scheduler/renderer/web_frame_scheduler_impl.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| -#include "third_party/WebKit/public/platform/WebTaskRunner.h"
|
| -#include "third_party/WebKit/public/platform/WebTraceLocation.h"
|
|
|
| namespace scheduler {
|
|
|
| @@ -26,29 +24,22 @@
|
| void SetUp() override {
|
| clock_.reset(new base::SimpleTestTickClock());
|
| clock_->Advance(base::TimeDelta::FromMicroseconds(5000));
|
| - mock_task_runner_ =
|
| - make_scoped_refptr(new cc::OrderedSimpleTaskRunner(clock_.get(), true));
|
| - delagate_ = SchedulerTqmDelegateForTest::Create(
|
| + mock_task_runner_ = make_scoped_refptr(
|
| + new cc::OrderedSimpleTaskRunner(clock_.get(), false));
|
| + main_task_runner_ = SchedulerTqmDelegateForTest::Create(
|
| mock_task_runner_, make_scoped_ptr(new TestTimeSource(clock_.get())));
|
| - scheduler_.reset(new RendererSchedulerImpl(delagate_));
|
| + scheduler_.reset(new RendererSchedulerImpl(main_task_runner_));
|
| web_view_scheduler_.reset(
|
| new WebViewSchedulerImpl(nullptr, scheduler_.get()));
|
| - web_frame_scheduler_ = web_view_scheduler_->createWebFrameSchedulerImpl();
|
| }
|
|
|
| - void TearDown() override {
|
| - web_frame_scheduler_.reset();
|
| - web_view_scheduler_.reset();
|
| - scheduler_->Shutdown();
|
| - scheduler_.reset();
|
| - }
|
| + void TearDown() override { scheduler_->Shutdown(); }
|
|
|
| scoped_ptr<base::SimpleTestTickClock> clock_;
|
| scoped_refptr<cc::OrderedSimpleTaskRunner> mock_task_runner_;
|
| - scoped_refptr<SchedulerTqmDelegate> delagate_;
|
| + scoped_refptr<SchedulerTqmDelegate> main_task_runner_;
|
| scoped_ptr<RendererSchedulerImpl> scheduler_;
|
| scoped_ptr<WebViewSchedulerImpl> web_view_scheduler_;
|
| - scoped_ptr<WebFrameSchedulerImpl> web_frame_scheduler_;
|
| };
|
|
|
| TEST_F(WebViewSchedulerImplTest, TestDestructionOfFrameSchedulersBefore) {
|
| @@ -66,88 +57,4 @@
|
| web_view_scheduler_.reset();
|
| }
|
|
|
| -namespace {
|
| -class RepeatingTask : public blink::WebTaskRunner::Task {
|
| - public:
|
| - RepeatingTask(blink::WebTaskRunner* web_task_runner, int* run_count)
|
| - : web_task_runner_(web_task_runner), run_count_(run_count) {}
|
| -
|
| - ~RepeatingTask() override {}
|
| -
|
| - void run() override {
|
| - (*run_count_)++;
|
| - web_task_runner_->postDelayedTask(
|
| - BLINK_FROM_HERE, new RepeatingTask(web_task_runner_, run_count_), 1.0);
|
| - }
|
| -
|
| - private:
|
| - blink::WebTaskRunner* web_task_runner_; // NOT OWNED
|
| - int* run_count_; // NOT OWNED
|
| -};
|
| -} // namespace
|
| -
|
| -TEST_F(WebViewSchedulerImplTest, RepeatingTimer_PageInForeground) {
|
| - web_view_scheduler_->setPageInBackground(false);
|
| -
|
| - int run_count = 0;
|
| - web_frame_scheduler_->timerTaskRunner()->postDelayedTask(
|
| - BLINK_FROM_HERE,
|
| - new RepeatingTask(web_frame_scheduler_->timerTaskRunner(), &run_count),
|
| - 1.0);
|
| -
|
| - mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
|
| - EXPECT_EQ(1000, run_count);
|
| -}
|
| -
|
| -TEST_F(WebViewSchedulerImplTest, RepeatingTimer_PageInBackground) {
|
| - web_view_scheduler_->setPageInBackground(true);
|
| -
|
| - int run_count = 0;
|
| - web_frame_scheduler_->timerTaskRunner()->postDelayedTask(
|
| - BLINK_FROM_HERE,
|
| - new RepeatingTask(web_frame_scheduler_->timerTaskRunner(), &run_count),
|
| - 1.0);
|
| -
|
| - mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
|
| - EXPECT_EQ(1, run_count);
|
| -}
|
| -
|
| -TEST_F(WebViewSchedulerImplTest, RepeatingLoadingTask_PageInBackground) {
|
| - web_view_scheduler_->setPageInBackground(true);
|
| -
|
| - int run_count = 0;
|
| - web_frame_scheduler_->loadingTaskRunner()->postDelayedTask(
|
| - BLINK_FROM_HERE,
|
| - new RepeatingTask(web_frame_scheduler_->loadingTaskRunner(), &run_count),
|
| - 1.0);
|
| -
|
| - mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
|
| - EXPECT_EQ(1000, run_count); // Loading tasks should not be throttled
|
| -}
|
| -
|
| -TEST_F(WebViewSchedulerImplTest, RepeatingTimers_OneBackgroundOneForeground) {
|
| - scoped_ptr<WebViewSchedulerImpl> web_view_scheduler2(
|
| - new WebViewSchedulerImpl(nullptr, scheduler_.get()));
|
| - scoped_ptr<WebFrameSchedulerImpl> web_frame_scheduler2 =
|
| - web_view_scheduler2->createWebFrameSchedulerImpl();
|
| -
|
| - web_view_scheduler_->setPageInBackground(false);
|
| - web_view_scheduler2->setPageInBackground(true);
|
| -
|
| - int run_count1 = 0;
|
| - int run_count2 = 0;
|
| - web_frame_scheduler_->timerTaskRunner()->postDelayedTask(
|
| - BLINK_FROM_HERE,
|
| - new RepeatingTask(web_frame_scheduler_->timerTaskRunner(), &run_count1),
|
| - 1.0);
|
| - web_frame_scheduler2->timerTaskRunner()->postDelayedTask(
|
| - BLINK_FROM_HERE,
|
| - new RepeatingTask(web_frame_scheduler2->timerTaskRunner(), &run_count2),
|
| - 1.0);
|
| -
|
| - mock_task_runner_->RunForPeriod(base::TimeDelta::FromSeconds(1));
|
| - EXPECT_EQ(1000, run_count1);
|
| - EXPECT_EQ(1, run_count2);
|
| -}
|
| -
|
| } // namespace scheduler
|
|
|