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

Unified Diff: media/filters/skcanvas_video_renderer_unittest.cc

Issue 662033002: Potential bug on drawing video on SkCanvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address nits, and use timer Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: media/filters/skcanvas_video_renderer_unittest.cc
diff --git a/media/filters/skcanvas_video_renderer_unittest.cc b/media/filters/skcanvas_video_renderer_unittest.cc
index 4bd2a18f919b5ce7ad0e63c51a065f8d808ecb57..799cebbc00ccf025662a96eea169ad67d74a3e7c 100644
--- a/media/filters/skcanvas_video_renderer_unittest.cc
+++ b/media/filters/skcanvas_video_renderer_unittest.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/single_thread_task_runner.h"
+#include "base/thread_task_runner_handle.h"
#include "media/base/video_frame.h"
#include "media/base/video_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -83,6 +85,9 @@ class SkCanvasVideoRendererTest : public testing::Test {
SkCanvas target_canvas_;
+ // Needed because SkCanvasVideoRenderer uses OneShotTimer.
+ base::ThreadTaskRunnerHandle task_runner_handle_;
scherkus (not reviewing) 2014/10/28 23:24:19 pretty sure you can replace all of this new code w
+
DISALLOW_COPY_AND_ASSIGN(SkCanvasVideoRendererTest);
};
@@ -93,19 +98,48 @@ static SkBitmap AllocBitmap(int width, int height) {
return bitmap;
}
+class FakeSingleThreadTaskRunner : public base::SingleThreadTaskRunner {
+ public:
+ FakeSingleThreadTaskRunner() {}
+
+ // base::SingleThreadTaskRunner implementation.
+ virtual bool PostDelayedTask(const tracked_objects::Location& from_here,
+ const base::Closure& task,
+ base::TimeDelta delay) override {
+ return true;
+ }
+
+ virtual bool RunsTasksOnCurrentThread() const override { return true; }
+
+ // base::SequencedTaskRunner implementation
+ virtual bool PostNonNestableDelayedTask(
+ const tracked_objects::Location& from_here,
+ const base::Closure& task,
+ base::TimeDelta delay) override {
+ return false;
+ }
+
+ protected:
+ ~FakeSingleThreadTaskRunner() override {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(FakeSingleThreadTaskRunner);
+};
+
SkCanvasVideoRendererTest::SkCanvasVideoRendererTest()
: natural_frame_(VideoFrame::CreateBlackFrame(gfx::Size(kWidth, kHeight))),
- larger_frame_(VideoFrame::CreateBlackFrame(
- gfx::Size(kWidth * 2, kHeight * 2))),
- smaller_frame_(VideoFrame::CreateBlackFrame(
- gfx::Size(kWidth / 2, kHeight / 2))),
- cropped_frame_(VideoFrame::CreateFrame(
- VideoFrame::YV12,
- gfx::Size(16, 16),
- gfx::Rect(6, 6, 8, 6),
- gfx::Size(8, 6),
- base::TimeDelta::FromMilliseconds(4))),
- target_canvas_(AllocBitmap(kWidth, kHeight)) {
+ larger_frame_(
+ VideoFrame::CreateBlackFrame(gfx::Size(kWidth * 2, kHeight * 2))),
+ smaller_frame_(
+ VideoFrame::CreateBlackFrame(gfx::Size(kWidth / 2, kHeight / 2))),
+ cropped_frame_(
+ VideoFrame::CreateFrame(VideoFrame::YV12,
+ gfx::Size(16, 16),
+ gfx::Rect(6, 6, 8, 6),
+ gfx::Size(8, 6),
+ base::TimeDelta::FromMilliseconds(4))),
+ target_canvas_(AllocBitmap(kWidth, kHeight)),
+ task_runner_handle_(new FakeSingleThreadTaskRunner) {
// Give each frame a unique timestamp.
natural_frame_->set_timestamp(base::TimeDelta::FromMilliseconds(1));
larger_frame_->set_timestamp(base::TimeDelta::FromMilliseconds(2));
« media/filters/skcanvas_video_renderer.cc ('K') | « media/filters/skcanvas_video_renderer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698