https://codepen.io/yoksel/pen/BOjmqj?editors=1000 shows blank in WebKit (macOS and iOS). It works in Firefox.
<rdar://problem/43724286>
In debug builds we assert: ASSERTION FAILED: tileWidth > 0 && tileHeight > 0 ./platform/graphics/filters/FETurbulence.cpp(188) : FETurbulence::StitchData WebCore::FETurbulence::computeStitching(WebCore::IntSize, float &, float &) const 1 0x116495479 WTFCrash 2 0x105b0fe4b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x1088fd976 WebCore::FETurbulence::computeStitching(WebCore::IntSize, float&, float&) const 4 0x1088ff138 WebCore::FETurbulence::platformApplySoftware() 5 0x1089005a4 WebCore::FilterEffect::apply()
If we early return to avoid the assertion, the content renders, but the turbulence seems to have the wrong resolution on Retina displays.
Created attachment 348704 [details] Reduction Seems related to stitchTiles="stitch" on feTurbulence
tile size is computed from filterPrimitiveSubregion, which we never compute for CSS filters.
Created attachment 348806 [details] Patch
Comment on attachment 348806 [details] Patch Depends on the patch in bug 189248.
Created attachment 348844 [details] Patch
Created attachment 348848 [details] Patch
Comment on attachment 348848 [details] Patch Clearing flags on attachment: 348848 Committed r235644: <https://trac.webkit.org/changeset/235644>