OLD | NEW |
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 "core/layout/ImageQualityController.h" | 5 #include "core/layout/ImageQualityController.h" |
6 | 6 |
7 #include "core/layout/LayoutImage.h" | 7 #include "core/layout/LayoutImage.h" |
8 #include "core/layout/LayoutTestHelper.h" | 8 #include "core/layout/LayoutTestHelper.h" |
9 #include "platform/graphics/GraphicsContext.h" | 9 #include "platform/graphics/GraphicsContext.h" |
10 #include "platform/graphics/paint/PaintController.h" | 10 #include "platform/graphics/paint/PaintController.h" |
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 } | 138 } |
139 | 139 |
140 // TODO(alexclarke): Remove this when possible. | 140 // TODO(alexclarke): Remove this when possible. |
141 class MockTimer : public TaskRunnerTimer<ImageQualityController> { | 141 class MockTimer : public TaskRunnerTimer<ImageQualityController> { |
142 public: | 142 public: |
143 using TimerFiredFunction = | 143 using TimerFiredFunction = |
144 typename TaskRunnerTimer<ImageQualityController>::TimerFiredFunction; | 144 typename TaskRunnerTimer<ImageQualityController>::TimerFiredFunction; |
145 | 145 |
146 static std::unique_ptr<MockTimer> create(ImageQualityController* o, | 146 static std::unique_ptr<MockTimer> create(ImageQualityController* o, |
147 TimerFiredFunction f) { | 147 TimerFiredFunction f) { |
148 auto taskRunner = WTF::wrapUnique(new scheduler::FakeWebTaskRunner); | 148 auto taskRunner = adoptRef(new scheduler::FakeWebTaskRunner); |
149 return WTF::wrapUnique(new MockTimer(std::move(taskRunner), o, f)); | 149 return WTF::wrapUnique(new MockTimer(std::move(taskRunner), o, f)); |
150 } | 150 } |
151 | 151 |
152 void fire() { | 152 void fire() { |
153 fired(); | 153 fired(); |
154 stop(); | 154 stop(); |
155 } | 155 } |
156 | 156 |
157 void setTime(double newTime) { m_taskRunner->setTime(newTime); } | 157 void setTime(double newTime) { m_taskRunner->setTime(newTime); } |
158 | 158 |
159 private: | 159 private: |
160 MockTimer(std::unique_ptr<scheduler::FakeWebTaskRunner> taskRunner, | 160 MockTimer(RefPtr<scheduler::FakeWebTaskRunner> taskRunner, |
161 ImageQualityController* o, | 161 ImageQualityController* o, |
162 TimerFiredFunction f) | 162 TimerFiredFunction f) |
163 : TaskRunnerTimer(taskRunner.get(), o, f), | 163 : TaskRunnerTimer(taskRunner, o, f), |
164 m_taskRunner(std::move(taskRunner)) {} | 164 m_taskRunner(std::move(taskRunner)) {} |
165 | 165 |
166 std::unique_ptr<scheduler::FakeWebTaskRunner> m_taskRunner; | 166 RefPtr<scheduler::FakeWebTaskRunner> m_taskRunner; |
167 | 167 |
168 DISALLOW_COPY_AND_ASSIGN(MockTimer); | 168 DISALLOW_COPY_AND_ASSIGN(MockTimer); |
169 }; | 169 }; |
170 | 170 |
171 TEST_F(ImageQualityControllerTest, LowQualityFilterForResizingImage) { | 171 TEST_F(ImageQualityControllerTest, LowQualityFilterForResizingImage) { |
172 MockTimer* mockTimer = | 172 MockTimer* mockTimer = |
173 MockTimer::create(controller(), | 173 MockTimer::create(controller(), |
174 &ImageQualityController::highQualityRepaintTimerFired) | 174 &ImageQualityController::highQualityRepaintTimerFired) |
175 .release(); | 175 .release(); |
176 controller()->setTimer(wrapUnique(mockTimer)); | 176 controller()->setTimer(wrapUnique(mockTimer)); |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 *img, testImage.get(), testImage.get(), LayoutSize(4, 4), | 338 *img, testImage.get(), testImage.get(), LayoutSize(4, 4), |
339 nextTime)); | 339 nextTime)); |
340 // Now the timer has restarted, leading to a larger fire interval. | 340 // Now the timer has restarted, leading to a larger fire interval. |
341 EXPECT_EQ(ImageQualityController::cLowQualityTimeThreshold, | 341 EXPECT_EQ(ImageQualityController::cLowQualityTimeThreshold, |
342 mockTimer->nextFireInterval()); | 342 mockTimer->nextFireInterval()); |
343 } | 343 } |
344 | 344 |
345 #endif | 345 #endif |
346 | 346 |
347 } // namespace blink | 347 } // namespace blink |
OLD | NEW |