12015-06-22 Dean Jackson <dino@apple.com>
2
3 Element with blur backdrop-filter shows edge duplication and dark edges
4 https://bugs.webkit.org/show_bug.cgi?id=146215
5 <rdar://problem/20367695>
6
7 Reviewed by NOBODY (OOPS!).
8
9 The input images to backdrop filters should duplicate their edge pixels
10 outwards, rather than using transparent pixels. This is a flag we
11 set on the Gaussian blur, but means we have to remember if the
12 FilterOperations list came from a regular filter or a backdrop filter.
13
14 Test: css3/filters/backdrop/blur-input-bounds.html
15
16 * css/CSSPropertyNames.in: New custom convertor for backdrop-filter.
17 * css/StyleBuilderConverter.h:
18 (WebCore::StyleBuilderConverter::convertBackdropFilterOperations): New convertor
19 that sets the backdrop flag, but is otherwise the same as a normal filter
20 convertor.
21 * page/animation/CSSPropertyAnimation.cpp:
22 (WebCore::blendFilterOperations): Inherit the backdrop flag if either of our
23 inputs has it.
24 * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Set the inputNormalizeEdges
25 key on the CAFilter if necessary.
26 * platform/graphics/filters/FilterOperations.cpp: Add a new flag indicating if
27 these operations are intended for backdrops.
28 (WebCore::FilterOperations::operator=):
29 (WebCore::FilterOperations::operator==):
30 * platform/graphics/filters/FilterOperations.h:
31 (WebCore::FilterOperations::usedForBackdropFilters):
32 (WebCore::FilterOperations::setUsedForBackdropFilters):
33