diff options
author | Mike Reed <reed@google.com> | 2017-09-15 20:30:28 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-09-15 20:30:36 +0000 |
commit | b6d2be1330f16fe05f1eed5abda927c0fbb50055 (patch) | |
tree | 35628f0ed27fac3d8ea4dcf047069f5605f8fd68 /tests | |
parent | b2b28d1eba7d098689410c30427fc1fc29ddbae4 (diff) |
Revert "Fix SkImageSource::filterBounds()"
This reverts commit cb4d58766668b003fea67798027fc25d84acd059.
Reason for revert: speculative fix for broken layout tests
https://storage.googleapis.com/chromium-layout-test-archives/linux_chromium_rel_ng/547101/layout-test-results/results.html
+fast/css/transformed-mask.html images diff image pass
+svg/W3C-SVG-1.1-SE/filters-image-03-f.svg images diff image pass
+svg/W3C-SVG-1.1-SE/filters-image-05-f.svg images diff image pass
+svg/W3C-SVG-1.1/filters-displace-01-f.svg images diff image pass
+svg/filters/feImage-preserveAspectRatio-all.svg images diff image pass
+svg/filters/feImage-preserveAspectratio.svg images diff image pass
Original change's description:
> Fix SkImageSource::filterBounds()
>
> Previously SkImageSource::filterBounds() uses the default
> SkImageFilter::onFilterNodeBounds() which returns the input rect.
>
> Now override onFilterNodeBounds() in SkImageSource to return src
> or dst rect (with transform applied).
>
> Change-Id: I6681e1ba97affb09ef1ca5bc03b3d0f66c10f149
> Reviewed-on: https://skia-review.googlesource.com/46741
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Mike Reed <reed@google.com>
TBR=senorblanco@chromium.org,reed@google.com,wangxianzhu@chromium.org
Change-Id: Ib335f8e2ccbadc2335d23bc5f122fc5de53a8740
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/47342
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ImageFilterTest.cpp | 46 |
1 files changed, 2 insertions, 44 deletions
diff --git a/tests/ImageFilterTest.cpp b/tests/ImageFilterTest.cpp index b6d4c7b37b..05c0bffbea 100644 --- a/tests/ImageFilterTest.cpp +++ b/tests/ImageFilterTest.cpp @@ -1941,7 +1941,7 @@ DEF_TEST(ImageFilterColorSpaceDAG, reporter) { REPORTER_ASSERT(reporter, filter->cloneCount() == 1u); } -// Test SkXfermodeImageFilter::filterBounds with different blending modes. +// Test XfermodeimageFilter::onFilterBounds with different blending modes. DEF_TEST(XfermodeImageFilterBounds, reporter) { SkIRect background_rect = SkIRect::MakeXYWH(0, 0, 100, 100); SkIRect foreground_rect = SkIRect::MakeXYWH(50, 50, 100, 100); @@ -2049,50 +2049,8 @@ static void test_arithmetic_combinations(skiatest::Reporter* reporter, float v) test_arithmetic_bounds(reporter, v, v, v, v, background, foreground, &crop, crop_rect); } -// Test SkArithmeticImageFilter::filterBounds with different blending modes. +// Test ArithmeticImageFilter::onFilterBounds with different blending modes. DEF_TEST(ArithmeticImageFilterBounds, reporter) { test_arithmetic_combinations(reporter, 1); test_arithmetic_combinations(reporter, 0.5); } - -// Test SkImageSource::filterBounds. -DEF_TEST(ImageSourceBounds, reporter) { - sk_sp<SkImage> image(SkImage::MakeFromBitmap(make_gradient_circle(64, 64))); - // Default src and dst rects. - sk_sp<SkImageFilter> source1(SkImageSource::Make(image)); - SkIRect imageBounds = SkIRect::MakeWH(64, 64); - SkIRect input(SkIRect::MakeXYWH(10, 20, 30, 40)); // The values don't matter. - REPORTER_ASSERT(reporter, - imageBounds == source1->filterBounds(input, SkMatrix::I(), - SkImageFilter::kForward_MapDirection)); - REPORTER_ASSERT(reporter, - imageBounds == source1->filterBounds(input, SkMatrix::I(), - SkImageFilter::kReverse_MapDirection)); - SkMatrix scale(SkMatrix::MakeScale(2)); - SkIRect scaledBounds = SkIRect::MakeWH(128, 128); - REPORTER_ASSERT(reporter, - scaledBounds == source1->filterBounds(input, scale, - SkImageFilter::kForward_MapDirection)); - REPORTER_ASSERT(reporter, - scaledBounds == source1->filterBounds(input, scale, - SkImageFilter::kReverse_MapDirection)); - - // Specified src and dst rects. - SkRect src(SkRect::MakeXYWH(0.5, 0.5, 100.5, 100.5)); - SkRect dst(SkRect::MakeXYWH(-10.5, -10.5, 120.5, 120.5)); - sk_sp<SkImageFilter> source2(SkImageSource::Make(image, src, dst, kMedium_SkFilterQuality)); - REPORTER_ASSERT(reporter, - dst.roundOut() == source2->filterBounds(input, SkMatrix::I(), - SkImageFilter::kForward_MapDirection)); - REPORTER_ASSERT(reporter, - src.roundOut() == source2->filterBounds(input, SkMatrix::I(), - SkImageFilter::kReverse_MapDirection)); - scale.mapRect(&dst); - scale.mapRect(&src); - REPORTER_ASSERT(reporter, - dst.roundOut() == source2->filterBounds(input, scale, - SkImageFilter::kForward_MapDirection)); - REPORTER_ASSERT(reporter, - src.roundOut() == source2->filterBounds(input, scale, - SkImageFilter::kReverse_MapDirection)); -} |