[Webkit-unassigned] [Bug 129305] [CSS Blending] Incomplete repainting when setting blend mode on an element

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 28 01:03:45 PST 2014


https://bugs.webkit.org/show_bug.cgi?id=129305





--- Comment #7 from Mihai Tica <mitica at adobe.com>  2014-02-28 01:00:50 PST ---
(In reply to comment #6)
> (In reply to comment #5)
> > Created an attachment (id=225362)
 --> (https://bugs.webkit.org/attachment.cgi?id=225362&action=review) [details] [details]
> > Screenshot of expected versus current behaviour
> > 
> > This screenshot shows the current behaviour (upper part) versus the actual behaviour (lower part of the image).
> > 
> > This test has two divs: the yellow top one creates a stacking context, while the second blue div is placed on top of the first one.
> > When setting -webkit-mix-blend-mode on the blue div from script, it should only blend with the contents of the yellow div, since it's the parent stacking context.
> > This means that the part of the blue div that doesn't overlap the parent shouldn't blend with the body - it should stay blue.
> > 
> > The problem I've found was that the lower fragment of the yellow div wouldn't get repainted when setting blend-mode dynamically.
> > Since the yellow div has the m_isolatesBlending member set to true, it should fully paint, create a transparency layer, thus achieving isolation.
> > 
> > In other words, when m_isolatesBlending is set to true, the layer and its children should be fully painted.
> > 
> > What do you think of this approach? Do you see any other alternatives?
> 
> Sorry, wasn't attached to bug report. I meant that I didn't see from the expected result if the test passes or not. I would prefer a non-pixel test as you have. Is it possible from the expected file to see if the test passes? If yes, could you add a note in the test please?

While working on https://bugs.webkit.org/show_bug.cgi?id=129307, I figured out that this is not the correct way of handling this issue.

The solution I've posted implied painting a fragment that wasn't included in the dirty rect.
This is somehow a hack.

When isolation should be performed, the element representing the parent stacking context of a blended element should repaint, including its descendants.

I'm now working on posting this solution to the bug I've mentioned above.

Sorry for the noise

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list