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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 } | 147 } |
148 | 148 |
149 // TODO(alexclarke): Remove this when possible. | 149 // TODO(alexclarke): Remove this when possible. |
150 class MockTimer : public TaskRunnerTimer<ImageQualityController> { | 150 class MockTimer : public TaskRunnerTimer<ImageQualityController> { |
151 public: | 151 public: |
152 using TimerFiredFunction = | 152 using TimerFiredFunction = |
153 typename TaskRunnerTimer<ImageQualityController>::TimerFiredFunction; | 153 typename TaskRunnerTimer<ImageQualityController>::TimerFiredFunction; |
154 | 154 |
155 static std::unique_ptr<MockTimer> create(ImageQualityController* o, | 155 static std::unique_ptr<MockTimer> create(ImageQualityController* o, |
156 TimerFiredFunction f) { | 156 TimerFiredFunction f) { |
157 auto taskRunner = WTF::wrapUnique(new scheduler::FakeWebTaskRunner); | 157 auto taskRunner = adoptRef(new scheduler::FakeWebTaskRunner); |
158 return WTF::wrapUnique(new MockTimer(std::move(taskRunner), o, f)); | 158 return WTF::wrapUnique(new MockTimer(std::move(taskRunner), o, f)); |
159 } | 159 } |
160 | 160 |
161 void fire() { | 161 void fire() { |
162 fired(); | 162 fired(); |
163 stop(); | 163 stop(); |
164 } | 164 } |
165 | 165 |
166 void setTime(double newTime) { m_taskRunner->setTime(newTime); } | 166 void setTime(double newTime) { m_taskRunner->setTime(newTime); } |
167 | 167 |
168 private: | 168 private: |
169 MockTimer(std::unique_ptr<scheduler::FakeWebTaskRunner> taskRunner, | 169 MockTimer(RefPtr<scheduler::FakeWebTaskRunner> taskRunner, |
170 ImageQualityController* o, | 170 ImageQualityController* o, |
171 TimerFiredFunction f) | 171 TimerFiredFunction f) |
172 : TaskRunnerTimer(taskRunner.get(), o, f), | 172 : TaskRunnerTimer(taskRunner, o, f), |
173 m_taskRunner(std::move(taskRunner)) {} | 173 m_taskRunner(std::move(taskRunner)) {} |
174 | 174 |
175 std::unique_ptr<scheduler::FakeWebTaskRunner> m_taskRunner; | 175 RefPtr<scheduler::FakeWebTaskRunner> m_taskRunner; |
176 | 176 |
177 DISALLOW_COPY_AND_ASSIGN(MockTimer); | 177 DISALLOW_COPY_AND_ASSIGN(MockTimer); |
178 }; | 178 }; |
179 | 179 |
180 TEST_F(ImageQualityControllerTest, LowQualityFilterForResizingImage) { | 180 TEST_F(ImageQualityControllerTest, LowQualityFilterForResizingImage) { |
181 MockTimer* mockTimer = | 181 MockTimer* mockTimer = |
182 MockTimer::create(controller(), | 182 MockTimer::create(controller(), |
183 &ImageQualityController::highQualityRepaintTimerFired) | 183 &ImageQualityController::highQualityRepaintTimerFired) |
184 .release(); | 184 .release(); |
185 controller()->setTimer(WTF::wrapUnique(mockTimer)); | 185 controller()->setTimer(WTF::wrapUnique(mockTimer)); |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 *img, testImage.get(), testImage.get(), LayoutSize(4, 4), | 347 *img, testImage.get(), testImage.get(), LayoutSize(4, 4), |
348 nextTime)); | 348 nextTime)); |
349 // Now the timer has restarted, leading to a larger fire interval. | 349 // Now the timer has restarted, leading to a larger fire interval. |
350 EXPECT_EQ(ImageQualityController::cLowQualityTimeThreshold, | 350 EXPECT_EQ(ImageQualityController::cLowQualityTimeThreshold, |
351 mockTimer->nextFireInterval()); | 351 mockTimer->nextFireInterval()); |
352 } | 352 } |
353 | 353 |
354 #endif | 354 #endif |
355 | 355 |
356 } // namespace blink | 356 } // namespace blink |
OLD | NEW |