[Webkit-unassigned] [Bug 129480] New: Child elements aren't fully repainted when setting opacity from script

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 28 05:38:36 PST 2014


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

           Summary: Child elements aren't fully repainted when setting
                    opacity from script
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: CSS
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: mitica at adobe.com


Consider the following document:

<div id="parent">
   <div id="child" class="overflowsParent createsStackingContext">
   </div>
</div>

Setting the parent's opacity from script doesn't trigger a full repaint of the child. Instead, only the fragments that intersect the parent are painted.

See attached test case. After the opacity is changed (about 1s), observe the rendering defect. Resizing the window to see the desired result.

This is probably caused by the repaintRect not including the children elements. When detecting such a change, we should hook into RenderLayer::computeRepaintRectsIncludingDescendants.
Note that this problem is only present when the child creates a stacking context.

This problem should be fixed for all properties that cause transparency: opacity, isolation, blend modes. In other words, we should repaint the descendants when detecting a change in the layer transparency.

-- 
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