Index: tests/DeferredCanvasTest.cpp |
diff --git a/tests/DeferredCanvasTest.cpp b/tests/DeferredCanvasTest.cpp |
index b8b82b2e8329429c31a052f24af8871a74e4021a..ada9a9b9384cdd793887b70999f27c1666e01629 100644 |
--- a/tests/DeferredCanvasTest.cpp |
+++ b/tests/DeferredCanvasTest.cpp |
@@ -291,7 +291,21 @@ static void TestDeferredCanvasFreshFrame(skiatest::Reporter* reporter) { |
canvas->clear(0x00000000); |
canvas->restore(); |
REPORTER_ASSERT(reporter, canvas->isFreshFrame()); |
+} |
+ |
+static void TestDeferredCanvasFreshFrameWithDrawOps(skiatest::Reporter* reporter) { |
+ SkRect fullRect; |
+ fullRect.setXYWH(SkIntToScalar(0), SkIntToScalar(0), SkIntToScalar(gWidth), |
+ SkIntToScalar(gHeight)); |
+ SkRect partialRect; |
+ partialRect.setXYWH(SkIntToScalar(0), SkIntToScalar(0), |
+ SkIntToScalar(1), SkIntToScalar(1)); |
+ |
+ SkAutoTUnref<SkSurface> surface(createSurface(0xFFFFFFFF)); |
+ SkAutoTUnref<SkDeferredCanvas> canvas(SkDeferredCanvas::Create(surface.get())); |
+ // We have verified that the frame is initially fresh, So It will get |
+ // the canvasSize, and reuse this canvasSize if the frame is not fresh. |
// Verify that full frame rects with different forms of opaque paint |
// trigger frames to be marked as fresh |
{ |
@@ -843,6 +857,7 @@ DEF_TEST(DeferredCanvas_CPU, reporter) { |
TestDeferredCanvasFlush(reporter); |
TestDeferredCanvasSilentFlush(reporter); |
TestDeferredCanvasFreshFrame(reporter); |
+ TestDeferredCanvasFreshFrameWithDrawOps(reporter); |
TestDeferredCanvasMemoryLimit(reporter); |
TestDeferredCanvasBitmapCaching(reporter); |
TestDeferredCanvasSkip(reporter); |