haikuwebkit/LayoutTests/css3/filters/reference-filter-set-filter...

32 lines
941 B
HTML
Raw Permalink Normal View History

CSS reference filter that references a tiled feTurbulence is blank https://bugs.webkit.org/show_bug.cgi?id=188950 Reviewed by Dean Jackson. Source/WebCore: We need to run the code that was in RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion() for CSS reference filters, to set up the various rects in the filter effects. Do this by moving the code to FilterEffect::determineFilterPrimitiveSubregion(), which makes sense because it recurses on the FilterEffect input chain. To make it CSS/SVGFilter agnostic, we move filterRegionInUserSpace() to the Filter base class (for CSSFilter, it just returns m_filterRegion). Test: css3/filters/reference-filter-set-filter-regions.html * platform/graphics/filters/Filter.h: * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::determineFilterPrimitiveSubregion): * platform/graphics/filters/FilterEffect.h: * rendering/CSSFilter.cpp: (WebCore::CSSFilter::determineFilterPrimitiveSubregion): * rendering/CSSFilter.h: * rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::beginFilterEffect): * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Deleted. * rendering/svg/RenderSVGResourceFilterPrimitive.h: * svg/graphics/filters/SVGFilter.h: LayoutTests: * css3/filters/reference-filter-set-filter-regions-expected.html: Added. * css3/filters/reference-filter-set-filter-regions.html: Added. Canonical link: https://commits.webkit.org/204280@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-09-04 22:51:47 +00:00
<head>
<style>
.box {
width: 200px;
height: 200px;
background-color: silver;
filter: url(#filter);
}
svg {
display: none;
}
</style>
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0" version="1.1">
<defs>
<filter id="filter">
<feTurbulence type="turbulence" baseFrequency="0.01" numOctaves="1" seed="5" stitchTiles="stitch"/>
<feColorMatrix type="saturate" values="0"/>
<feComponentTransfer>
<feFuncR type="linear" slope="0" intercept="0"/>
<feFuncG type="linear" slope="0" intercept="0.5"/>
<feFuncB type="linear" slope="0" intercept="0"/>
<feFuncA type="linear" slope="0" intercept="1"/>
</feComponentTransfer>
</filter>
</defs>
</svg>
<div class="box"></div>
</body>