-webkit-mask-size and -webkit-mask-composite don't interact correctly, mask image appears to be clipped
Reported by
mab...@microsoft.com,
Dec 20
|
|||
Issue descriptionChrome Version : 71.0.3578.98 (Official Build) (64-bit) (cohort: Stable) URLs (if applicable) : http://jsfiddle.net/2m8f6oaL/2/ Other browsers tested: Firefox: OK Edge: OK What steps will reproduce the problem? (1) Open jsfiddle linked above. What is the expected result? Only the intersection of where the repeat-x and repeat-y masks appear, which is an oval and a bit above it. What happens instead? The oval and small piece appear, but then it appears that outside the edges of the mask that has repeat-x, the repeat-y mask just displays without instersecting. Please provide any additional information below. Attach a screenshot if possible. Tough to describe, sorry. It appears that the masks are correctly intersected at the point that they should be, but it seems like outside of the bounds of the first mask, the second mask just displays rather than being intersected.
,
Dec 20
Standalone test case.
,
Dec 20
The mask-size is not essential to the bug really, except to make it possible to see the issue at all. I suspect the best way to tackle this is starting with the Skia output and working backwards.
,
Dec 20
In the display list we have the background rect painting, then a save layer with a kDst that first paints the vertical mask then paints the horizontal with srcIn. It seems like the error is in the setting up of the layer with DstIn.
,
Dec 21
I think the problem is that we don't actually "paint" the transparency in the top (non-bottom-most in general) layers of the mask-stack. (I.e when painting the top layer, the composite/blend operation only apply to the actual dest rect computed for that layer.)
,
Dec 21
TC sans images. |
|||
►
Sign in to add a comment |
|||
Comment 1 by dtapu...@chromium.org
, Dec 20