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

Side by Side Diff: third_party/WebKit/Source/core/layout/ImageQualityControllerTest.cpp

Issue 2550373005: Make WebTaskRunner ThreadSafeRefCounted (Closed)
Patch Set: mac fix Created 4 years 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 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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698