Index: cc/playback/display_item_list_unittest.cc |
diff --git a/cc/playback/display_item_list_unittest.cc b/cc/playback/display_item_list_unittest.cc |
index 9c65c7b1fb933da568e45e97d21e7a6f6188d928..65d12d69cccc7ed55107f07a30656cd0c4af059e 100644 |
--- a/cc/playback/display_item_list_unittest.cc |
+++ b/cc/playback/display_item_list_unittest.cc |
@@ -527,26 +527,43 @@ TEST(DisplayItemListTest, IsSuitableForGpuRasterizationWithCachedPicture) { |
paint.setAntiAlias(true); |
canvas->drawPath(path, paint); |
- list->CreateAndAppendItem<DrawingDisplayItem>( |
- kVisualRect, skia::AdoptRef(recorder.endRecordingAsPicture())); |
+ skia::RefPtr<SkPicture> suitable_picture = |
+ skia::AdoptRef(recorder.endRecordingAsPicture()); |
+ list->CreateAndAppendItem<DrawingDisplayItem>(kVisualRect, suitable_picture); |
list->Finalize(); |
// A single DrawingDisplayItem with a large AA concave path shouldn't trigger |
// a veto. |
EXPECT_TRUE(list->IsSuitableForGpuRasterization()); |
+ // Now check the RasterIntoCanvas path. |
+ list = DisplayItemList::Create(layer_rect, settings); |
+ DrawingDisplayItem suitable_item(suitable_picture); |
+ list->RasterIntoCanvas(suitable_item); |
+ list->Finalize(); |
+ EXPECT_TRUE(list->IsSuitableForGpuRasterization()); |
+ |
list = DisplayItemList::Create(layer_rect, settings); |
canvas = |
skia::SharePtr(recorder.beginRecording(gfx::RectToSkRect(layer_rect))); |
for (int i = 0; i < 10; ++i) |
canvas->drawPath(path, paint); |
- list->CreateAndAppendItem<DrawingDisplayItem>( |
- kVisualRect, skia::AdoptRef(recorder.endRecordingAsPicture())); |
+ skia::RefPtr<SkPicture> unsuitable_picture = |
+ skia::AdoptRef(recorder.endRecordingAsPicture()); |
+ list->CreateAndAppendItem<DrawingDisplayItem>(kVisualRect, |
+ unsuitable_picture); |
list->Finalize(); |
// A single DrawingDisplayItem with several large AA concave paths should |
// trigger a veto. |
EXPECT_FALSE(list->IsSuitableForGpuRasterization()); |
+ |
+ // Now check the RasterIntoCanvas path. |
+ list = DisplayItemList::Create(layer_rect, settings); |
+ DrawingDisplayItem unsuitable_item(unsuitable_picture); |
+ list->RasterIntoCanvas(unsuitable_item); |
+ list->Finalize(); |
+ EXPECT_FALSE(list->IsSuitableForGpuRasterization()); |
} |
TEST(DisplayItemListTest, IsSuitableForGpuRasterizationWithoutCachedPicture) { |