<?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>116744</bug_id>
          
          <creation_ts>2013-05-24 15:55:14 -0700</creation_ts>
          <short_desc>Animated GIFs don&apos;t repaint after TCADA un-suspends painting</short_desc>
          <delta_ts>2013-05-24 16:38:18 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>893482</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-05-24 15:55:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/13973514&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893487</commentid>
    <comment_count>1</comment_count>
      <attachid>202861</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-05-24 15:57:45 -0700</bug_when>
    <thetext>Created attachment 202861
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893501</commentid>
    <comment_count>2</comment_count>
      <attachid>202861</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-05-24 16:23:18 -0700</bug_when>
    <thetext>Comment on attachment 202861
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=202861&amp;action=review

&gt; Source/WebCore/ChangeLog:3
&gt; +        Animated GIFs don&apos;t repaint after TCADA un-suspends painting

TCADA wut?

&gt; Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:391
&gt; +    if (m_webPage-&gt;windowIsVisible()) {
&gt;          m_webPage-&gt;corePage()-&gt;resumeScriptedAnimations();
&gt; +        m_webPage-&gt;corePage()-&gt;mainFrame()-&gt;view()-&gt;resumeAnimatingImages();
&gt; +    }

Weird that this is in WK2 code. Are all of m_webPage-&gt;corePage()-&gt;mainFrame()-&gt;view() always non-null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893504</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-05-24 16:34:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 202861 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=202861&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Animated GIFs don&apos;t repaint after TCADA un-suspends painting
&gt; 
&gt; TCADA wut?

I&apos;ll fix that.

&gt; &gt; Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:391
&gt; &gt; +    if (m_webPage-&gt;windowIsVisible()) {
&gt; &gt;          m_webPage-&gt;corePage()-&gt;resumeScriptedAnimations();
&gt; &gt; +        m_webPage-&gt;corePage()-&gt;mainFrame()-&gt;view()-&gt;resumeAnimatingImages();
&gt; &gt; +    }
&gt; 
&gt; Weird that this is in WK2 code.

A little, but no weirder than resumeScriptedAnimations.

&gt; Are all of m_webPage-&gt;corePage()-&gt;mainFrame()-&gt;view() always non-null?

flushLayers depends on all of them being non-null as well, but other code null-checks frame and frameView. I&apos;m never sure. I don&apos;t see any clear guarantee that frame or its view are non-null, so I&apos;ll check them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893507</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-05-24 16:38:00 -0700</bug_when>
    <thetext>https://trac.webkit.org/r150666</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202861</attachid>
            <date>2013-05-24 15:57:45 -0700</date>
            <delta_ts>2013-05-24 16:23:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>repaint.diff</filename>
            <type>text/plain</type>
            <size>5084</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxOGFmOWEwLi44MjM1YzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTMtMDUtMjQgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgQW5pbWF0ZWQgR0lGcyBkb24ndCByZXBhaW50IGFmdGVyIFRDQURBIHVuLXN1c3Bl
bmRzIHBhaW50aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTY3NDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzOTczNTE0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46
IEV4cG9ydCBGcmFtZVZpZXc6OnJlc3VtZUFuaW1hdGluZ0ltYWdlcy4KKyAgICAgICAgKiBwYWdl
L0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldElzSW5XaW5k
b3cpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXN1bWVBbmltYXRpbmdJbWFnZXMp
OgorICAgICAgICBGYWN0b3IgdGhlIGNvZGUgdG8gcmVzdGFydCBhbmltYXRlZCBpbWFnZXMgb3V0
IG9mIGZyYW1lVmlldzo6c2V0SXNJbldpbmRvdy4KKworICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3
Lmg6CisgICAgICAgIChGcmFtZVZpZXcpOgorCiAyMDEzLTA1LTI0ICBTZW9ranUgS3dvbiAgPHNl
b2tqdS5rd29uQGdtYWlsLmNvbT4KIAogICAgICAgICBbQUNdIE5lZWRzIHRvIGJlIGd1YXJkZWQg
YnkgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA1
MGI0ZjBmLi5mZDg0MjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTE1OSw2ICsxMTU5LDcg
QEAgX19aTjdXZWJDb3JlOUZyYW1lVmlldzIwZW50ZXJDb21wb3NpdGluZ01vZGVFdgogX19aTjdX
ZWJDb3JlOUZyYW1lVmlldzIwcmVtb3ZlU2Nyb2xsYWJsZUFyZWFFUE5TXzE0U2Nyb2xsYWJsZUFy
ZWFFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjByZXNldFRyYWNrZWRSZXBhaW50c0V2CiBfX1pO
N1dlYkNvcmU5RnJhbWVWaWV3MjFmbHVzaERlZmVycmVkUmVwYWludHNFdgorX19aTjdXZWJDb3Jl
OUZyYW1lVmlldzIxcmVzdW1lQW5pbWF0aW5nSW1hZ2VzRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZp
ZXcyMnNldEJhc2VCYWNrZ3JvdW5kQ29sb3JFUktOU181Q29sb3JFCiBfX1pON1dlYkNvcmU5RnJh
bWVWaWV3MjN1cGRhdGVDYW5IYXZlU2Nyb2xsYmFyc0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MjRmb3JjZUxheW91dEZvclBhZ2luYXRpb25FUktOU185RmxvYXRTaXplRVMzX2ZOU18xOUFkanVz
dFZpZXdTaXplT3JOb3RFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNjE2M2NkOC4u
ZjViZjNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTA2OSwxMiArMTA2OSwx
NiBAQCB2b2lkIEZyYW1lVmlldzo6c2V0SXNJbldpbmRvdyhib29sIGlzSW5XaW5kb3cpCiAgICAg
aWYgKFJlbmRlclZpZXcqIHJlbmRlclZpZXcgPSB0aGlzLT5yZW5kZXJWaWV3KCkpCiAgICAgICAg
IHJlbmRlclZpZXctPnNldElzSW5XaW5kb3coaXNJbldpbmRvdyk7CiAKLSAgICBpZiAoaXNJbldp
bmRvdykgewotICAgICAgICAvLyBEcmF3aW5nIG1vZGVscyB3aGljaCBjYWNoZSBwYWludGVkIGNv
bnRlbnQgd2hpbGUgb3V0LW9mLXdpbmRvdyAoV2ViS2l0MidzIGNvbXBvc2l0ZWQgZHJhd2luZyBh
cmVhcywgZXRjLikKLSAgICAgICAgLy8gcmVxdWlyZSB0aGF0IHdlIHJlcGFpbnQgYW5pbWF0ZWQg
aW1hZ2VzIHRvIGtpY2tzdGFydCB0aGUgYW5pbWF0aW9uIGxvb3AuCisgICAgaWYgKGlzSW5XaW5k
b3cpCisgICAgICAgIHJlc3VtZUFuaW1hdGluZ0ltYWdlcygpOworfQogCi0gICAgICAgIENhY2hl
ZEltYWdlOjpyZXN1bWVBbmltYXRpbmdJbWFnZXNGb3JMb2FkZXIoZnJhbWUoKS0+ZG9jdW1lbnQo
KS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKSk7Ci0gICAgfQordm9pZCBGcmFtZVZpZXc6OnJlc3Vt
ZUFuaW1hdGluZ0ltYWdlcygpCit7CisgICAgLy8gRHJhd2luZyBtb2RlbHMgd2hpY2ggY2FjaGUg
cGFpbnRlZCBjb250ZW50IHdoaWxlIG91dC1vZi13aW5kb3cgKFdlYktpdDIncyBjb21wb3NpdGVk
IGRyYXdpbmcgYXJlYXMsIGV0Yy4pCisgICAgLy8gcmVxdWlyZSB0aGF0IHdlIHJlcGFpbnQgYW5p
bWF0ZWQgaW1hZ2VzIHRvIGtpY2tzdGFydCB0aGUgYW5pbWF0aW9uIGxvb3AuCisKKyAgICBDYWNo
ZWRJbWFnZTo6cmVzdW1lQW5pbWF0aW5nSW1hZ2VzRm9yTG9hZGVyKGZyYW1lKCktPmRvY3VtZW50
KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCkpOwogfQogCiBSZW5kZXJPYmplY3QqIEZyYW1lVmll
dzo6bGF5b3V0Um9vdChib29sIG9ubHlEdXJpbmdMYXlvdXQpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaAppbmRleCBmNDQ1ZWYwLi40ZWE0ZjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgK
QEAgLTQzMCw2ICs0MzAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCB2aXN1YWxVcGRhdGVzQWxsb3dl
ZEJ5Q2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV92aXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xpZW50
OyB9CiAgICAgdm9pZCBzZXRWaXN1YWxVcGRhdGVzQWxsb3dlZEJ5Q2xpZW50KGJvb2wpOwogCisg
ICAgdm9pZCByZXN1bWVBbmltYXRpbmdJbWFnZXMoKTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1
YWwgYm9vbCBzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRh
LCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1
cGRhdGVSZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlMjY4ZDEyLi41ODQwZTRkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTMtMDUtMjQgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgQW5pbWF0ZWQgR0lGcyBkb24ndCByZXBhaW50IGFmdGVyIFRD
QURBIHVuLXN1c3BlbmRzIHBhaW50aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTY3NDQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzOTczNTE0
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnJlc3VtZVBhaW50
aW5nKToKKyAgICAgICAgRm9yY2UgV2ViQ29yZSB0byByZXBhaW50IGFuaW1hdGVkIGltYWdlcyB3
aGVuIHBhaW50aW5nIGlzIHJlc3VtZWQuCisKIDIwMTMtMDUtMjQgIFRob21hcyBEZW5pYXUgIDxk
ZW5pYXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtb3JlIGxpbmVzIHRvIHRoZSBjb250ZXh0
IGR1cmluZyBEaWN0aW9uYXJ5IGxvb2t1cHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhLm1tCmluZGV4IGYyYTJlYWMuLjk3ZGVkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtMzg1LDggKzM4NSwxMCBAQCB2b2lkIFRpbGVk
Q29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpyZXN1bWVQYWludGluZygpCiAgICAgW21fcm9vdExh
eWVyLmdldCgpIHNldFZhbHVlOihpZClrQ0ZCb29sZWFuRmFsc2UgZm9yS2V5OkAiTlNDQVZpZXdS
ZW5kZXJQYXVzZWQiXTsKICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IHBvc3ROb3RpZmljYXRpb25OYW1lOkAiTlNDQVZpZXdSZW5kZXJEaWRSZXN1bWVOb3RpZmljYXRp
b24iIG9iamVjdDpuaWwgdXNlckluZm86W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVj
dDptX3Jvb3RMYXllci5nZXQoKSBmb3JLZXk6QCJsYXllciJdXTsKIAotICAgIGlmIChtX3dlYlBh
Z2UtPndpbmRvd0lzVmlzaWJsZSgpKQorICAgIGlmIChtX3dlYlBhZ2UtPndpbmRvd0lzVmlzaWJs
ZSgpKSB7CiAgICAgICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+cmVzdW1lU2NyaXB0ZWRBbmlt
YXRpb25zKCk7CisgICAgICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZp
ZXcoKS0+cmVzdW1lQW5pbWF0aW5nSW1hZ2VzKCk7CisgICAgfQogfQogCiB2b2lkIFRpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpzZXRFeHBvc2VkUmVjdChjb25zdCBGbG9hdFJlY3QmIGV4
cG9zZWRSZWN0KQo=
</data>
<flag name="review"
          id="224265"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>