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

Side by Side Diff: Source/platform/scheduler/SchedulerTest.cpp

Issue 1011693003: Remove WebScheduler::shutdown() which is no longer needed. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix SchedulerTest Created 5 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « Source/platform/scheduler/Scheduler.cpp ('k') | public/platform/WebScheduler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "config.h" 5 #include "config.h"
6 #include "platform/scheduler/Scheduler.h" 6 #include "platform/scheduler/Scheduler.h"
7 7
8 #include "platform/RuntimeEnabledFeatures.h" 8 #include "platform/RuntimeEnabledFeatures.h"
9 #include "platform/TestingPlatformSupport.h" 9 #include "platform/TestingPlatformSupport.h"
10 #include "public/platform/Platform.h" 10 #include "public/platform/Platform.h"
(...skipping 16 matching lines...) Expand all
27 SchedulerForTest(WebScheduler* webScheduler): 27 SchedulerForTest(WebScheduler* webScheduler):
28 Scheduler(webScheduler) 28 Scheduler(webScheduler)
29 { 29 {
30 } 30 }
31 }; 31 };
32 32
33 class WebSchedulerForTest : public WebScheduler { 33 class WebSchedulerForTest : public WebScheduler {
34 public: 34 public:
35 WebSchedulerForTest() 35 WebSchedulerForTest()
36 : m_shouldYieldForHighPriorityWork(false) 36 : m_shouldYieldForHighPriorityWork(false)
37 , m_didShutdown(false)
38 { 37 {
39 } 38 }
40 39
41 // WebScheduler implementation: 40 // WebScheduler implementation:
42 void shutdown() override
43 {
44 m_didShutdown = true;
45 }
46
47 bool shouldYieldForHighPriorityWork() override 41 bool shouldYieldForHighPriorityWork() override
48 { 42 {
49 return m_shouldYieldForHighPriorityWork; 43 return m_shouldYieldForHighPriorityWork;
50 } 44 }
51 45
52 void postIdleTask(const WebTraceLocation&, IdleTask* task) override 46 void postIdleTask(const WebTraceLocation&, IdleTask* task) override
53 { 47 {
54 m_latestIdleTask = adoptPtr(task); 48 m_latestIdleTask = adoptPtr(task);
55 } 49 }
56 50
57 bool didShutdown() const
58 {
59 return m_didShutdown;
60 }
61
62 void setShouldYieldForHighPriorityWork(bool shouldYieldForHighPriorityWork) 51 void setShouldYieldForHighPriorityWork(bool shouldYieldForHighPriorityWork)
63 { 52 {
64 m_shouldYieldForHighPriorityWork = shouldYieldForHighPriorityWork; 53 m_shouldYieldForHighPriorityWork = shouldYieldForHighPriorityWork;
65 } 54 }
66 55
67 void runLatestIdleTask(double deadlineSeconds) 56 void runLatestIdleTask(double deadlineSeconds)
68 { 57 {
69 m_latestIdleTask->run(deadlineSeconds); 58 m_latestIdleTask->run(deadlineSeconds);
70 m_latestIdleTask.clear(); 59 m_latestIdleTask.clear();
71 } 60 }
72 61
73 protected: 62 protected:
74 bool m_shouldYieldForHighPriorityWork; 63 bool m_shouldYieldForHighPriorityWork;
75 bool m_didShutdown;
76 64
77 OwnPtr<WebScheduler::IdleTask> m_latestIdleTask; 65 OwnPtr<WebScheduler::IdleTask> m_latestIdleTask;
78 }; 66 };
79 67
80 class SchedulerTest : public testing::Test { 68 class SchedulerTest : public testing::Test {
81 public: 69 public:
82 SchedulerTest() 70 SchedulerTest()
83 { 71 {
84 blink::RuntimeEnabledFeatures::setBlinkSchedulerEnabled(true); 72 blink::RuntimeEnabledFeatures::setBlinkSchedulerEnabled(true);
85 m_webScheduler = adoptPtr(new WebSchedulerForTest()); 73 m_webScheduler = adoptPtr(new WebSchedulerForTest());
86 m_scheduler = adoptPtr(new SchedulerForTest(m_webScheduler.get())); 74 m_scheduler = adoptPtr(new SchedulerForTest(m_webScheduler.get()));
87 } 75 }
88 76
89 protected: 77 protected:
90 OwnPtr<WebSchedulerForTest> m_webScheduler; 78 OwnPtr<WebSchedulerForTest> m_webScheduler;
91 OwnPtr<SchedulerForTest> m_scheduler; 79 OwnPtr<SchedulerForTest> m_scheduler;
92 }; 80 };
93 81
94 TEST_F(SchedulerTest, TestShutdown)
95 {
96 EXPECT_FALSE(m_webScheduler->didShutdown());
97 m_scheduler.clear();
98 EXPECT_TRUE(m_webScheduler->didShutdown());
99 }
100
101 TEST_F(SchedulerTest, TestShouldYield) 82 TEST_F(SchedulerTest, TestShouldYield)
102 { 83 {
103 EXPECT_FALSE(m_scheduler->shouldYieldForHighPriorityWork()); 84 EXPECT_FALSE(m_scheduler->shouldYieldForHighPriorityWork());
104 m_webScheduler->setShouldYieldForHighPriorityWork(true); 85 m_webScheduler->setShouldYieldForHighPriorityWork(true);
105 EXPECT_TRUE(m_scheduler->shouldYieldForHighPriorityWork()); 86 EXPECT_TRUE(m_scheduler->shouldYieldForHighPriorityWork());
106 } 87 }
107 88
108 void idleTestTask(double expectedDeadline, double deadlineSeconds) 89 void idleTestTask(double expectedDeadline, double deadlineSeconds)
109 { 90 {
110 EXPECT_EQ(expectedDeadline, deadlineSeconds); 91 EXPECT_EQ(expectedDeadline, deadlineSeconds);
111 } 92 }
112 93
113 TEST_F(SchedulerTest, TestIdleTasks) 94 TEST_F(SchedulerTest, TestIdleTasks)
114 { 95 {
115 double deadline = 1.1; 96 double deadline = 1.1;
116 m_scheduler->postIdleTask(FROM_HERE, WTF::bind<double>(&idleTestTask, deadli ne)); 97 m_scheduler->postIdleTask(FROM_HERE, WTF::bind<double>(&idleTestTask, deadli ne));
117 m_webScheduler->runLatestIdleTask(deadline); 98 m_webScheduler->runLatestIdleTask(deadline);
118 } 99 }
119 100
120 } // namespace 101 } // namespace
OLDNEW
« no previous file with comments | « Source/platform/scheduler/Scheduler.cpp ('k') | public/platform/WebScheduler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698