[Webkit-unassigned] [Bug 77464] New: [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jan 31 12:34:08 PST 2012


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

           Summary: [chromium] LayerChromium::setNeedsDisplay does not
                    apply contents scale correctly
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Layout and Rendering
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: skyostil at google.com


LayerChromium::setNeedsDisplay() internally uses contentBounds() to calculate that the layer region needing to be repainted. The problem is that setNeedsDisplayRect() expects CSS coordinates without the contents scale applied, while contentBounds() includes the contents scale factor.

The fix is to use bounds() to get the unscaled layer bounds. This leads to a second problem, however, that TiledLayerChromium::setNeedsDisplayRect() expects to receive coordinates with the contents scale applied. It uses the given rectangle to invalidate the underlying tiles, which leads to incorrect results if the rectangle is not scaled. This problem is remedied by scaling the rectangle passed into TiledLayerChromium::invalidate().

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