| Index: cc/trees/layer_tree_host_pixeltest_filters.cc
|
| diff --git a/cc/trees/layer_tree_host_pixeltest_filters.cc b/cc/trees/layer_tree_host_pixeltest_filters.cc
|
| index bfa8f81d312a4fe7c9c5a1980c838ce31f57d703..4a92bcada90d36c006f1b9c8f1d0642562645038 100644
|
| --- a/cc/trees/layer_tree_host_pixeltest_filters.cc
|
| +++ b/cc/trees/layer_tree_host_pixeltest_filters.cc
|
| @@ -609,8 +609,8 @@ class RotatedDropShadowFilterTest : public LayerTreeHostFiltersPixelTest {
|
| background->AddChild(child);
|
|
|
| #if defined(OS_WIN)
|
| - // Windows has 2 pixels off by 1: crbug.com/259915
|
| - float percentage_pixels_large_error = 0.00222223f; // 1px / (300*300)
|
| + // Windows has 3 pixels off by 1: crbug.com/259915
|
| + float percentage_pixels_large_error = 0.00333334f; // 3px / (300*300)
|
| float percentage_pixels_small_error = 0.0f;
|
| float average_error_allowed_in_bad_pixels = 1.f;
|
| int large_error_allowed = 1;
|
| @@ -746,6 +746,62 @@ TEST_F(EnlargedTextureWithCropOffsetFilter, Software) {
|
| base::FilePath(FILE_PATH_LITERAL("enlarged_texture_on_crop_offset.png")));
|
| }
|
|
|
| +class BlurFilterWithClip : public LayerTreeHostFiltersPixelTest {
|
| + protected:
|
| + void RunPixelTestType(PixelTestType test_type, base::FilePath image_name) {
|
| + scoped_refptr<SolidColorLayer> child1 =
|
| + CreateSolidColorLayer(gfx::Rect(200, 200), SK_ColorBLUE);
|
| + scoped_refptr<SolidColorLayer> child2 =
|
| + CreateSolidColorLayer(gfx::Rect(20, 20, 160, 160), SK_ColorWHITE);
|
| + scoped_refptr<SolidColorLayer> child3 =
|
| + CreateSolidColorLayer(gfx::Rect(40, 40, 20, 30), SK_ColorRED);
|
| + scoped_refptr<SolidColorLayer> child4 =
|
| + CreateSolidColorLayer(gfx::Rect(60, 70, 100, 90), SK_ColorGREEN);
|
| + scoped_refptr<SolidColorLayer> filter_layer =
|
| + CreateSolidColorLayer(gfx::Rect(200, 200), SK_ColorWHITE);
|
| +
|
| + filter_layer->AddChild(child1);
|
| + filter_layer->AddChild(child2);
|
| + filter_layer->AddChild(child3);
|
| + filter_layer->AddChild(child4);
|
| +
|
| + FilterOperations filters;
|
| + filters.Append(FilterOperation::CreateBlurFilter(2.f));
|
| + filter_layer->SetFilters(filters);
|
| +
|
| + // Force the allocation a larger textures.
|
| + set_enlarge_texture_amount(gfx::Vector2d(50, 50));
|
| +
|
| +#if defined(OS_WIN)
|
| + // Windows has 1880 pixels off by 1: crbug.com/259915
|
| + float percentage_pixels_large_error = 4.7f; // 1880px / (200*200)
|
| + float percentage_pixels_small_error = 0.0f;
|
| + float average_error_allowed_in_bad_pixels = 1.f;
|
| + int large_error_allowed = 2;
|
| + int small_error_allowed = 0;
|
| + pixel_comparator_.reset(new FuzzyPixelComparator(
|
| + true, // discard_alpha
|
| + percentage_pixels_large_error, percentage_pixels_small_error,
|
| + average_error_allowed_in_bad_pixels, large_error_allowed,
|
| + small_error_allowed));
|
| +#endif
|
| +
|
| + RunPixelTest(test_type, filter_layer, image_name);
|
| + }
|
| +};
|
| +
|
| +TEST_F(BlurFilterWithClip, GL) {
|
| + RunPixelTestType(
|
| + PIXEL_TEST_GL,
|
| + base::FilePath(FILE_PATH_LITERAL("blur_filter_with_clip_gl.png")));
|
| +}
|
| +
|
| +TEST_F(BlurFilterWithClip, Software) {
|
| + RunPixelTestType(
|
| + PIXEL_TEST_SOFTWARE,
|
| + base::FilePath(FILE_PATH_LITERAL("blur_filter_with_clip_sw.png")));
|
| +}
|
| +
|
| class FilterWithGiantCropRectPixelTest : public LayerTreeHostFiltersPixelTest {
|
| protected:
|
| scoped_refptr<SolidColorLayer> BuildFilterWithGiantCropRect(
|
|
|