<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>174459</bug_id>
          
          <creation_ts>2017-07-13 07:58:21 -0700</creation_ts>
          <short_desc>[GTK] Several image related tests are timing out since r222264</short_desc>
          <delta_ts>2017-09-21 02:06:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Miguel Gomez">magomez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>Ms2ger</cc>
    
    <cc>sabouhallawa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1328436</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-13 07:58:21 -0700</bug_when>
    <thetext>fast/images/async-image-background-image-repeated.html [ Timeout ]
fast/images/async-image-background-image.html [ Timeout ]
fast/images/async-image-body-background-image.html [ Timeout ]
fast/images/sprite-sheet-image-draw.html [ Timeout ]
fast/images/async-image-multiple-clients-repaint.html [ Timeout ]

Except fast/images/async-image-multiple-clients-repaint.html, which was failing since r219364, all of these tests started to timeout since r219438.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328449</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2017-07-13 09:08:00 -0700</bug_when>
    <thetext>This is happening because the WebView needs to send GraphicsLayerPaintFlags::AllowAsyncImageDecoding when painting the page if it is not printing or snapshotting. GTK needs to do something similar to what mac does in:

Source/WebKit/mac/WebView/WebFrame.mm
Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328469</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-13 10:32:30 -0700</bug_when>
    <thetext>Thanks Said.

Miguel, is this something you could tackle?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328535</commentid>
    <comment_count>3</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-13 12:19:35 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #2)
&gt; Thanks Said.
&gt; 
&gt; Miguel, is this something you could tackle?

I&apos;ll add it to my todo list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328537</commentid>
    <comment_count>4</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-07-13 12:22:03 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #1)
&gt; This is happening because the WebView needs to send
&gt; GraphicsLayerPaintFlags::AllowAsyncImageDecoding when painting the page if
&gt; it is not printing or snapshotting. GTK needs to do something similar to
&gt; what mac does in:
&gt; 
&gt; Source/WebKit/mac/WebView/WebFrame.mm
&gt; Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm

BTW, thanks for the tip Said :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1330633</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-07-20 08:47:30 -0700</bug_when>
    <thetext>(In reply to Miguel Gomez from comment #0)
&gt; fast/images/async-image-background-image-repeated.html [ Timeout ]
&gt; fast/images/async-image-background-image.html [ Timeout ]

I&apos;ve moved these timeout expectations elsewhere in the file, so be sure to remove them when this bug is closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335159</commentid>
    <comment_count>6</comment_count>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2017-08-04 00:09:30 -0700</bug_when>
    <thetext>(In reply to Miguel Gomez from comment #0)
&gt; fast/images/async-image-multiple-clients-repaint.html [ Timeout ]

I unmarked this in r220218; it seems to have stopped timing out in r219876.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1336918</commentid>
    <comment_count>7</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-08-09 03:09:42 -0700</bug_when>
    <thetext>I&apos;ve been investigating the status of this at r220393. Specially since r219876, which changed the way to decide whether sync or async decoding is going to be performed. Now the timeouts are gone and the situation is:

fast/images/async-image-background-image.html is now passing
fast/images/async-image-multiple-clients-repaint.html is passing as well (as Ms2ger mentioned)

and

fast/images/async-image-background-image-repeated.html
fast/images/async-image-body-background-image.html
fast/images/sprite-sheet-image-draw.html

are now failing with ImageOnlyFailure. This fail happens because these tests use an image with a size of 200x33100, which basically is too big to be rendered with cairo, so the result is an empty page. In order to fix these tests we need to use a smaller image.

Said, is it a problem if I replace the image (sprite-sheet-red-green-blue.png) with a slightly smaller one? I think 200x30000 should be ok for us and it would still be large enough to be used for large image decoding tests. I&apos;ll update the affected tests as well, of course.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1338301</commentid>
    <comment_count>8</comment_count>
    <who name="Ms2ger (he/him; ⌚ UTC+1/+2)">Ms2ger</who>
    <bug_when>2017-08-14 02:45:53 -0700</bug_when>
    <thetext>*** Bug 171972 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1351154</commentid>
    <comment_count>9</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2017-09-21 02:05:55 -0700</bug_when>
    <thetext>In r222264 we disabled the decoding for image bigger than 32768, as cairo won&apos;t be able to render them. This caused some tests to start timing out:

fast/images/async-image-background-image-repeated.html [ Timeout ]
fast/images/sprite-sheet-image-draw.html [ Timeout ]
fast/images/async-image-body-background-image.html [ Timeout ]
fast/images/async-image-multiple-clients-repaint.html [ Timeout ]

I&apos;m using this bug to track those as those tests are the ones that were handled by this bug already.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>