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

Side by Side Diff: third_party/WebKit/Source/platform/scheduler/base/time_domain_unittest.cc

Issue 2258133002: [scheduler] Implement time-based cpu throttling. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renamed Enable/Disable to Enable/DisableThrottling. Created 4 years, 3 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 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/scheduler/base/time_domain.h" 5 #include "platform/scheduler/base/time_domain.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/test/simple_test_tick_clock.h" 9 #include "base/test/simple_test_tick_clock.h"
10 #include "cc/test/ordered_simple_task_runner.h" 10 #include "cc/test/ordered_simple_task_runner.h"
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 LazyNow lazy_now = time_domain_->CreateLazyNow(); 272 LazyNow lazy_now = time_domain_->CreateLazyNow();
273 time_domain_->UpdateWorkQueues(lazy_now); 273 time_domain_->UpdateWorkQueues(lazy_now);
274 ASSERT_FALSE(time_domain_->NextScheduledRunTime(&next_run_time)); 274 ASSERT_FALSE(time_domain_->NextScheduledRunTime(&next_run_time));
275 } 275 }
276 276
277 namespace { 277 namespace {
278 class MockObserver : public TimeDomain::Observer { 278 class MockObserver : public TimeDomain::Observer {
279 public: 279 public:
280 ~MockObserver() override {} 280 ~MockObserver() override {}
281 281
282 MOCK_METHOD0(OnTimeDomainHasImmediateWork, void()); 282 MOCK_METHOD1(OnTimeDomainHasImmediateWork, void(TaskQueue*));
283 MOCK_METHOD0(OnTimeDomainHasDelayedWork, void()); 283 MOCK_METHOD1(OnTimeDomainHasDelayedWork, void(TaskQueue*));
284 }; 284 };
285 } // namespace 285 } // namespace
286 286
287 class TimeDomainWithObserverTest : public TimeDomainTest { 287 class TimeDomainWithObserverTest : public TimeDomainTest {
288 public: 288 public:
289 MockTimeDomain* CreateMockTimeDomain() override { 289 MockTimeDomain* CreateMockTimeDomain() override {
290 observer_.reset(new MockObserver()); 290 observer_.reset(new MockObserver());
291 return new MockTimeDomain(observer_.get()); 291 return new MockTimeDomain(observer_.get());
292 } 292 }
293 293
294 std::unique_ptr<MockObserver> observer_; 294 std::unique_ptr<MockObserver> observer_;
295 }; 295 };
296 296
297 TEST_F(TimeDomainWithObserverTest, OnTimeDomainHasImmediateWork) { 297 TEST_F(TimeDomainWithObserverTest, OnTimeDomainHasImmediateWork) {
298 EXPECT_CALL(*observer_, OnTimeDomainHasImmediateWork()); 298 EXPECT_CALL(*observer_, OnTimeDomainHasImmediateWork(task_queue_.get()));
299 time_domain_->RegisterAsUpdatableTaskQueue(task_queue_.get()); 299 time_domain_->RegisterAsUpdatableTaskQueue(task_queue_.get());
300 } 300 }
301 301
302 TEST_F(TimeDomainWithObserverTest, OnTimeDomainHasDelayedWork) { 302 TEST_F(TimeDomainWithObserverTest, OnTimeDomainHasDelayedWork) {
303 EXPECT_CALL(*observer_, OnTimeDomainHasDelayedWork()); 303 EXPECT_CALL(*observer_, OnTimeDomainHasDelayedWork(task_queue_.get()));
304 EXPECT_CALL(*time_domain_.get(), RequestWakeup(_, _)); 304 EXPECT_CALL(*time_domain_.get(), RequestWakeup(_, _));
305 base::TimeTicks now = time_domain_->Now(); 305 base::TimeTicks now = time_domain_->Now();
306 time_domain_->ScheduleDelayedWork( 306 time_domain_->ScheduleDelayedWork(
307 task_queue_.get(), now + base::TimeDelta::FromMilliseconds(10), now); 307 task_queue_.get(), now + base::TimeDelta::FromMilliseconds(10), now);
308 } 308 }
309 309
310 } // namespace scheduler 310 } // namespace scheduler
311 } // namespace blink 311 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698