[Webkit-unassigned] [Bug 170577] New: A synchronous DecodingOptions should be compatible with any asynchronous sizeForDrawing DecodingOptions

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Apr 6 17:15:23 PDT 2017


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

            Bug ID: 170577
           Summary: A synchronous DecodingOptions should be compatible
                    with any asynchronous sizeForDrawing DecodingOptions
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: Images
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: sabouhallawa at apple.com

This prevents the following repaint infinite loop:

Suppose I have two elements 'x' and 'y' and 'y' is the parent of 'x'. Both 'x' and 'y' are using the image 'm' to draw their background. 'x' does not repeat the background while 'y' does.

1. 'x' draws its background.
2. 'm' is not decoded, so request async image decoding for 'm' since it is a large image.
3. 'm' finishes decoding, it repaints the rectangle of 'x'.
4. Repainting the rectangle of 'x' causes a repaint for 'y' as well.
5. To paint 'y', 'm' will be used to draw a pattern.
6. To draw a pattern of 'm', a synchronous decoded frame has to be obtained so the one that finished decoding is now deleted.
7. Now goto step 1

This loops will runs forever. To prevent this loop from happening, once a synchronous decoded frame is found, there is no need to decode it again. This decoded frame is suitable for any sizeForDrawing.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170407/e9f3c562/attachment.html>


More information about the webkit-unassigned mailing list