Index: tests/RecordOptsTest.cpp |
diff --git a/tests/RecordOptsTest.cpp b/tests/RecordOptsTest.cpp |
index dd6c410ed4d52723de40419ffa50caa0ba157442..a7c3ccd73297b7bae1a1b1de74848f6dbbe04367 100644 |
--- a/tests/RecordOptsTest.cpp |
+++ b/tests/RecordOptsTest.cpp |
@@ -114,6 +114,7 @@ static void assert_savelayer_restore(skiatest::Reporter* r, |
} |
} |
+#include "SkBlurImageFilter.h" |
DEF_TEST(RecordOpts_NoopSaveLayerDrawRestore, r) { |
SkRecord record; |
SkRecorder recorder(&record, W, H); |
@@ -171,6 +172,13 @@ DEF_TEST(RecordOpts_NoopSaveLayerDrawRestore, r) { |
const SkRecords::DrawRect* drawRect = assert_type<SkRecords::DrawRect>(r, record, 16); |
REPORTER_ASSERT(r, drawRect != nullptr); |
REPORTER_ASSERT(r, drawRect->paint.getColor() == 0x03020202); |
+ |
+ // saveLayer w/ backdrop should NOT go away |
+ SkAutoTUnref<SkImageFilter> filter(SkBlurImageFilter::Create(3, 3)); |
+ recorder.saveLayer({ nullptr, nullptr, filter, 0}); |
+ recorder.drawRect(draw, opaqueDrawPaint); |
+ recorder.restore(); |
+ assert_savelayer_restore(r, &record, 18, false); |
} |
static void assert_merge_svg_opacity_and_filter_layers(skiatest::Reporter* r, |