<?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>26455</bug_id>
          
          <creation_ts>2009-06-16 14:02:28 -0700</creation_ts>
          <short_desc>GIF clamping time differs from Firefox</short_desc>
          <delta_ts>2010-12-03 13:46:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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="Peter Kasting">pkasting</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>gavin.sharp</cc>
    
    <cc>hyatt</cc>
    
    <cc>mkterra</cc>
    
    <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126283</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-06-16 14:02:28 -0700</bug_when>
    <thetext>On bug 14413 WebKit&apos;s GIF clamping algorithm was changed from &quot;&lt;= 10 ms -&gt; 100 ms&quot;, which matches all versions of Firefox, to &quot;&lt;= 50 ms -&gt; 100 ms&quot;, which matches IE 6+.  There is a long discussion of the history of this clamping time (in all browsers, though mainly Gecko-based ones) at https://bugzilla.mozilla.org/show_bug.cgi?id=440882 .

This change has compatibility ramifications.  At I noted on that Mozilla bug, some GIFs in the wild are clearly more correct with Firefox&apos; lower clamping time:

http://img5.imageshack.us/img5/2482/creepin.gif
http://img106.exs.cx/img106/2384/fattyfatfatfat8kd.gif
http://img18.exs.cx/img18/3766/w3is.gif

And some are clearly more correct in IE:

http://img160.echo.cx/img160/5202/catsarejerks7rn.gif

And some are not clear precisely which is better (in which case hopefully it doesn&apos;t matter too much):

http://www.forumammo.com/cpg/albums/userpics/10062/stop-posting.gif
http://img.funnyanimatedgifs.net/img/450-elmo-rofl.gif

Anecdotally, Safari is widely seen to have &quot;performance problems&quot; with GIFs; a search for &quot;Safari animated GIFs&quot; turns up pages like  http://discussions.apple.com/thread.jspa?threadID=1229922 with comments like &quot;GIF support was perfect in Safari 2 but now they play half as slow as needed. YTMND has been rendered useless!!!&quot;, which matches the implementation of the more aggressive clamping on bug 14413.  (However, most problems reported actually turn out to be either bug 19663 or bug 22280.)

In discussion on IRC Hyatt raised the following points:
* Abandoning IE compat is worrisome.
* There cannot be no clamp at all, at least in Safari, for similar reasons as to setTimeout().
* Clamping &quot;&lt;= n ms -&gt; n ms&quot; makes more sense than raising low values all the way to 100, however, this probably affects compat drastically (e.g. images that have a frame time of 0 ms and expect to be played at 10 FPS)
* Clamping &lt;= 50 ms == 20 FPS, which seems to aggressive in the abstract... people ought to be able to do at least 60 FPS.

I think it is clear from the above samples that no matter what WebKit does some GIFs will be incompatible.  From a purely abstract perspective, allowing people to do &gt; 20 FPS and in general respecting GIFs&apos; frame times as much as possible both seem like good things to me.  From a perception perspective, playing GIFs too slow makes Safari/WebKit look slow and boggy in general, whereas playing them too fast at least doesn&apos;t make people think &quot;my browser is slow&quot;.  From an anecdotal perspective, I have long heard more complaints about IE and Safari (and experienced a number of too-slow images therein) than about Firefox.

I propose returning the clamp to &quot;&lt;= 10 ms -&gt; 100 ms&quot;.  It is not perfect, but I think it is a net win.

I can write a patch to do this easily, but I&apos;d like to hear an explicit thumbs up or down first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126303</commentid>
    <comment_count>1</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-06-16 14:43:38 -0700</bug_when>
    <thetext>Normally we follow Firefox instead of IE for otherwise arbitrary Web compatibility issues, unless we think following IE will give better compatibility. Part of the reason we do that is due to the prevalence of dual code path sites. In this case though, it&apos;s unlikely a site will have different versions of an animated GIF for Firefox and IE. Some thoughts:

1) It seems that, for reasons stated above, following IE is probably the right default choice for this issue, in the absence of other reasons.

2) Making the clamp limit lower does seem more right in the abstract - the main purpose of having a limit is to give reasonable behavior for a frame time of 0 or other unreasonably low values. But an animated GIF should be allowed to legitimately do 60fps.

3) The exact details of the clamping limit don&apos;t seem hugely important. For high quality animations it&apos;s likely better to use a real video codec, and current animated GIF uses seem to be in situations where quality of presentation is not a prime concern.

Given this, I&apos;m personally fairly indifferent between the options.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126306</commentid>
    <comment_count>2</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-06-16 14:46:49 -0700</bug_when>
    <thetext>Thanks for the comments Maciej.  Hyatt has said he&apos;s also fairly indifferent.

(In reply to comment #1)
&gt; 1) It seems that, for reasons stated above, following IE is probably the right
&gt; default choice for this issue, in the absence of other reasons.

Could you clarify which reasons you meant by this?

&gt; 3) The exact details of the clamping limit don&apos;t seem hugely important. For
&gt; high quality animations it&apos;s likely better to use a real video codec, and
&gt; current animated GIF uses seem to be in situations where quality of
&gt; presentation is not a prime concern.

I agree with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126313</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-06-16 14:53:50 -0700</bug_when>
    <thetext>One user on a forum noted that videos (often the source of animated GIFs) are generally either 24 FPS or 30 FPS, both of which are over 20 FPS and thus would currently be dropped to 10 FPS by WebKit.

Of course, with the prevalence of sites like YouTube, the need to use animated GIFs to display video is presumably decreasing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132006</commentid>
    <comment_count>4</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-07-15 13:11:36 -0700</bug_when>
    <thetext>Here&apos;s an entire site that relies on Firefox&apos; clamp times:
http://www.sorting-algorithms.com/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132010</commentid>
    <comment_count>5</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2009-07-15 13:32:36 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; 3) The exact details of the clamping limit don&apos;t seem hugely important. For
&gt; high quality animations it&apos;s likely better to use a real video codec, and
&gt; current animated GIF uses seem to be in situations where quality of
&gt; presentation is not a prime concern.

The sorting-algorithms.com demos involve pixel-perfect graphics.  I think even a high-quality video codec will introduce artifacts.  So at this point for that application, lossless GIF animations are the best option for the author.

(I have no strong opinion on the actual bug, except to note that someone came into #chromium and wondered why were were &quot;slower&quot; than Firefox due to this issue.  But I can see from the prior discussion that both options are reasonable.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186168</commentid>
    <comment_count>6</comment_count>
      <attachid>47786</attachid>
    <who name="">mkterra</who>
    <bug_when>2010-01-30 22:33:48 -0800</bug_when>
    <thetext>Created attachment 47786
50 frames with 0.02s duration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186169</commentid>
    <comment_count>7</comment_count>
      <attachid>47787</attachid>
    <who name="">mkterra</who>
    <bug_when>2010-01-30 22:35:36 -0800</bug_when>
    <thetext>Created attachment 47787
50 frames with 0.01s duration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186171</commentid>
    <comment_count>8</comment_count>
    <who name="">mkterra</who>
    <bug_when>2010-01-30 22:44:14 -0800</bug_when>
    <thetext>For the record, Opera seems to match Firefox&apos;s behavior.  I&apos;ve attached two spinner gifs for testing; in Firefox and Opera the 0.02s version doesn&apos;t trigger clamping and thus plays faster than the 0.01s version, whereas in IE and WebKit both versions play the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199477</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-14 11:43:00 -0700</bug_when>
    <thetext>*** Bug 36082 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199478</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-14 11:46:26 -0700</bug_when>
    <thetext>Bug 36082 has some research into Web compatibility effects of changing to Firefox behavior. This data makes simply matching Firefox unfeasible, even though we do have compatibility problems either way, and finding a solution would be most welcome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199481</commentid>
    <comment_count>11</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-03-14 12:52:29 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Bug 36082 has some research into Web compatibility effects of changing to
&gt; Firefox behavior. This data makes simply matching Firefox unfeasible

This is your opinion, not objective fact.  In my opinion it is obvious from the research I have done (some of which is on these bugs) here that changing our behavior will result in a net win.  The fact that that win is not perfect does not make it unreasonable.

There is a good analogy here with the BMP decoder I wrote.  Transparency in BMPs is not specced anywhere and different programs produce different output.  There is no perfect way to display all BMPs as their creators intend; you _must_ use heuristics to decide what to do, and no matter what you do some BMPs will display incorrectly.  In that situation it would be silly to say that one cannot prefer behavior X over behavior Y because behavior X causes some BMPs to display incorrectly which behavior Y does not.  There are problems either way, and thus the right behavior is a judgment call.

Here too, it is impossible to craft a behavior that makes all images display perfectly.  Therefore, what we should do is a judgment call.  I agree with bdash that it would be good judgment to change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199483</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-14 13:13:04 -0700</bug_when>
    <thetext>I think you misunderstood. Introducing a significant number of regressions is unacceptable, and that&apos;s more than a subjective opinion.

By saying &quot;a significant number&quot; instead of &quot;any&quot;, I&apos;m already suggesting a lower standard than we normally require, acknowledging that there is no perfect answer. Now, this is a subjective opinion, and someone may disagree that a lower standard is acceptable here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199485</commentid>
    <comment_count>13</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-03-14 13:25:22 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; I think you misunderstood. Introducing a significant number of regressions is
&gt; unacceptable, and that&apos;s more than a subjective opinion.

I didn&apos;t misunderstand a thing.  Regressions are bugs -- just like existing bugs are bugs.  Introducing a regression is bad, but not fixing an existing bug is also bad.  Saying &quot;no new regressions&quot; without context or acknowledgement of what gets fixed isn&apos;t good policy, it&apos;s blind dogmatism.

With this change, I claim we fix more bugs than we introduce, our new behavior makes much more sense, there is more agreement amongst browsers (everyone except IE will agree), and it&apos;s possible for people to fix GIFs to comply with the new behavior, which isn&apos;t possible with the old behavior.

HTML5&apos;s new parsing rules introduce some regressions too.  When browsers disagree, there are usually regressions of some sort when you try to converge on something.

If this were so cut-and-dried as you make it, I&apos;d have expected any commentary to that effect on comment 1 from Maciej or the linked bug from Mark, both of whom are pretty meticulous about doing things The Right Way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199815</commentid>
    <comment_count>14</comment_count>
      <attachid>50734</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-03-15 13:59:28 -0700</bug_when>
    <thetext>Created attachment 50734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199836</commentid>
    <comment_count>15</comment_count>
      <attachid>50734</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-03-15 14:35:31 -0700</bug_when>
    <thetext>Comment on attachment 50734
Patch

We are considering ways to solve the compatibility problem without introducing an equal number of regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199841</commentid>
    <comment_count>16</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-03-15 14:40:15 -0700</bug_when>
    <thetext>One suggestion was that rather than matching Firefox we clamp anything trying to play faster than 30fps.  This would allow the reasonably common practice of video clip style animated GIFs to play back smoothly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199844</commentid>
    <comment_count>17</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-03-15 14:42:46 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; One suggestion was that rather than matching Firefox we clamp anything trying
&gt; to play faster than 30fps.  This would allow the reasonably common practice of
&gt; video clip style animated GIFs to play back smoothly.

...And mean that the three major browser engines have three different GIF clamping algorithms.

Moving further away from a common behavior seems like backwards progress to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199931</commentid>
    <comment_count>18</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-03-15 17:28:50 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; ...And mean that the three major browser engines have three different GIF
&gt; clamping algorithms.
&gt; 
&gt; Moving further away from a common behavior seems like backwards progress to me.

I’m all out of ideas then.  Both the Firefox and IE behavior have obvious downsides.  The Firefox behavior seems preferable to me because at least it’s possible for content authors to achieve the effect that they’re after, while the IE behavior makes certain types of content impossible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199932</commentid>
    <comment_count>19</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-03-15 17:33:26 -0700</bug_when>
    <thetext>I spoke with Maciej and he said that matching the Firefox behavior seems preferable unless the Internet Explorer behavior is obviously better in terms of web compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199934</commentid>
    <comment_count>20</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-03-15 17:45:53 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; I spoke with Maciej and he said that matching the Firefox behavior seems
&gt; preferable unless the Internet Explorer behavior is obviously better in terms
&gt; of web compatibility.

That&apos;s also my sense, and both my anecdotal experience as well as the stuff I looked up online originally suggested that, if anything, the Firefox behavior is more broadly compatible.  This makes some logical sense, given that in order to work with IE but not Firefox, you have to set frame timings that are longer than 10 ms and expect them to be raised to 100 ms--that is, you have to tell your animation to run at e.g. 30 FPS and then expect it to run at 10.  In the abstract this seems less likely than simply saying &quot;run as fast as possible&quot;, which winds up either clamped or unclamped in both IE and Firefox, depending on whether the animation program knows about IE and sets the timings to 50 ms, or not and sets them to 0 or 1 or similar.  It&apos;s this bounded-on-both-sides &quot;window&quot; that I didn&apos;t find large numbers of images falling into when I looked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>209787</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-04-07 12:51:33 -0700</bug_when>
    <thetext>So we are leaning towards following the exact frame duration unless the frame duration is &lt;= 10 ms, in which case we will use a frame duration of 100 ms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306479</commentid>
    <comment_count>22</comment_count>
      <attachid>50734</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-11-08 17:04:50 -0800</bug_when>
    <thetext>Comment on attachment 50734
Patch

I&apos;d like this patch to be re-considered for review based on the following:

* I continue to receive a large volume of complaints about this bug on the Chromium side.  It is easily the #1 most-reported issue with images in Chromium.

* Firefox continues to ship with &quot;&lt;= 10 ms --&gt; 100 ms&quot;.  I think it highly unlikely there can be major web compat problems caused by this behavior with such a widely-used browser shipping it for so long.  (FWIW, Opera also ships with this behavior [I tested Opera 11].)

* From comments 19 - 21, it seems like matching Firefox is what bdash, maciej, darin and I all want to do.  I also talked with several Chromium developers and they all agreed that matching Firefox/Opera made the most sense here.

My previous arguments in favor of this change, of course, also still stand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316900</commentid>
    <comment_count>23</comment_count>
      <attachid>50734</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-03 10:56:03 -0800</bug_when>
    <thetext>Comment on attachment 50734
Patch

As far as I can tell from the discusion.  We&apos;re all in agreement... this is a good change.  So I guess I&apos;ll set r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316946</commentid>
    <comment_count>24</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-03 11:59:15 -0800</bug_when>
    <thetext>I don&apos;t think anything has changed, so I didn&apos;t repeat that we&apos;re not in agreement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316964</commentid>
    <comment_count>25</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-12-03 12:32:56 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; I don&apos;t think anything has changed

I disagree.  Darin, Mark, and Maciej have weighed in in favor, and the other points I make in comment 22 also represent the passage of time.

I don&apos;t want to ignore or disregard your comments and just land this patch anyway.  But I also don&apos;t think it&apos;s fair to hold the code hostage to the behavior you think is better when a group of hopefully-also-respected developers disagrees for what seem like valid reasons.  I think we should publicly note that you don&apos;t like this change, proceed with what the group as a whole seems to have converged on, and take a look at what sorts of feedback we receive about the behavior change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316968</commentid>
    <comment_count>26</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-12-03 12:41:33 -0800</bug_when>
    <thetext>I think we should proceed with this change.  Overall it&apos;s a net improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316999</commentid>
    <comment_count>27</comment_count>
      <attachid>50734</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2010-12-03 13:13:35 -0800</bug_when>
    <thetext>Comment on attachment 50734
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317012</commentid>
    <comment_count>28</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-03 13:30:18 -0800</bug_when>
    <thetext>I don&apos;t know why the process of making a decision came down to counting opinions. Pretty much every argument for this change that was made in this discussion has been found unsound.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317013</commentid>
    <comment_count>29</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-03 13:32:18 -0800</bug_when>
    <thetext>So mark it as r- then. :)  I&apos;m simply going through the review queue attempting to move patches along.  We topped over 250 this morning. :)  Figured it was time for some housecleaning.

I&apos;m not attempting to stir controversy with this (or other) r+&apos;s.  If this decision is not obvious, than someone more involved in the decision should bring this bug to a close.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317024</commentid>
    <comment_count>30</comment_count>
      <attachid>50734</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-03 13:41:18 -0800</bug_when>
    <thetext>Comment on attachment 50734
Patch

Clearing flags on attachment: 50734

Committed r73295: &lt;http://trac.webkit.org/changeset/73295&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317025</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-03 13:41:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317030</commentid>
    <comment_count>32</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-03 13:46:24 -0800</bug_when>
    <thetext>In fact, this hasn&apos;t been ignored - someone else at Apple was actively working on weighing the arguments, and had some new ones. This hasn&apos;t been reflected in the bug, unfortunately.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>47786</attachid>
            <date>2010-01-30 22:33:48 -0800</date>
            <delta_ts>2010-01-30 22:34:53 -0800</delta_ts>
            <desc>50 frames with 0.02s duration</desc>
            <filename>Rotation1Sec.gif</filename>
            <type>image/gif</type>
            <size>11622</size>
            <attacher>mkterra</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>47787</attachid>
            <date>2010-01-30 22:35:36 -0800</date>
            <delta_ts>2010-01-30 22:35:36 -0800</delta_ts>
            <desc>50 frames with 0.01s duration</desc>
            <filename>Rotation0.5Sec.gif</filename>
            <type>image/gif</type>
            <size>11622</size>
            <attacher>mkterra</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50734</attachid>
            <date>2010-03-15 13:59:28 -0700</date>
            <delta_ts>2010-12-03 13:41:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Animated-GIF-animates-much-more-slowly-in-Safari-tha.patch</filename>
            <type>text/plain</type>
            <size>4787</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">RnJvbSAxYjVkODY0MjljZmVkOTA4ZTYwMWVjMTg5Mjg0YzIyMjUzZGVhNmNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFJvd2UgPG1yb3dlQGFwcGxlLmNvbT4KRGF0ZTogVHVl
LCA5IE1hciAyMDEwIDIzOjQ1OjUxIC0wODAwClN1YmplY3Q6IFtQQVRDSF0gQW5pbWF0ZWQgR0lG
IGFuaW1hdGVzIG11Y2ggbW9yZSBzbG93bHkgaW4gU2FmYXJpIHRoYW4gRmlyZWZveAogPHJkYXI6
Ly9wcm9ibGVtLzc2ODkzMDA+IC8gPGh0dHA6Ly93ZWJraXQub3JnL2IvMjY0NTU+CgpSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KCkFkb3B0IEZpcmVmb3gncyBiZWhhdmlvciBmb3IgZnJhbWUg
ZHVyYXRpb24gY2xhbXBpbmcuIEltYWdlcyB0aGF0IHNwZWNpZnkgYSBmcmFtZSBkdXJhdGlvbgpv
ZiA8PSAxMG1zIGFyZSB0cmVhdGVkIGFzIGhhdmluZyBhIGZyYW1lIGR1cmF0aW9uIG9mIDEwMG1z
LCB3aGlsZSBhbGwgb3RoZXIgaW1hZ2VzIHVzZSB0aGUKZnJhbWUgZHVyYXRpb24gdGhhdCB0aGV5
IHNwZWNpZnkuCgpJbWFnZUlPIGN1cnJlbnRseSBpbXBsZW1lbnRzIGl0cyBvd24gY2xhbXBpbmcg
b2YgZnJhbWUgZHVyYXRpb25zICg8cmRhcjovL3Byb2JsZW0vNzY4OTI5Nz4pCndoaWNoIHdpbGwg
cmVzdWx0IGluIHRoaXMgY2hhbmdlIGhhdmluZyBubyBvYnNlcnZhYmxlIGVmZmVjdCBvbiBwbGF0
Zm9ybXMgd2hlcmUgaXQgaXMgdXNlZAp1bnRpbCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgSW1hZ2VJ
TyBiZWNvbWVzIGF2YWlsYWJsZS4KCiogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3Bw
OgooV2ViQ29yZTo6SW1hZ2VTb3VyY2U6OmZyYW1lRHVyYXRpb25BdEluZGV4KTogVXBkYXRlIHRo
ZSBmb3JtYXR0aW5nIG9mIHRoZSBjb21tZW50IGFuZCBzdHlsZQpvZiB0aGUgY29kZSB0byBtYXRj
aCB0aGF0IGluIEltYWdlU291cmNlQ0cuCiogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3Vy
Y2VDRy5jcHA6CihXZWJDb3JlOjpJbWFnZVNvdXJjZTo6ZnJhbWVEdXJhdGlvbkF0SW5kZXgpOgot
LS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIx
ICsrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNv
dXJjZS5jcHAgICAgICB8ICAgMTMgKysrKysrKy0tLS0tLQogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JbWFnZVNvdXJjZUNHLmNwcCB8ICAgIDcgKysrKy0tLQogMyBmaWxlcyBjaGFuZ2Vk
LCAzMiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQyNzgzZC4uOTcyOWRlNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxMC0wMy0xMiAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFuaW1hdGVkIEdJ
RiBhbmltYXRlcyBtdWNoIG1vcmUgc2xvd2x5IGluIFNhZmFyaSB0aGFuIEZpcmVmb3gKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzc2ODkzMDA+IC8gPGh0dHA6Ly93ZWJraXQub3JnL2IvMjY0NTU+
CisKKyAgICAgICAgQWRvcHQgRmlyZWZveCdzIGJlaGF2aW9yIGZvciBmcmFtZSBkdXJhdGlvbiBj
bGFtcGluZy4gSW1hZ2VzIHRoYXQgc3BlY2lmeSBhIGZyYW1lIGR1cmF0aW9uCisgICAgICAgIG9m
IDw9IDEwbXMgYXJlIHRyZWF0ZWQgYXMgaGF2aW5nIGEgZnJhbWUgZHVyYXRpb24gb2YgMTAwbXMs
IHdoaWxlIGFsbCBvdGhlciBpbWFnZXMgdXNlIHRoZQorICAgICAgICBmcmFtZSBkdXJhdGlvbiB0
aGF0IHRoZXkgc3BlY2lmeS4KKworICAgICAgICBJbWFnZUlPIGN1cnJlbnRseSBpbXBsZW1lbnRz
IGl0cyBvd24gY2xhbXBpbmcgb2YgZnJhbWUgZHVyYXRpb25zICg8cmRhcjovL3Byb2JsZW0vNzY4
OTI5Nz4pCisgICAgICAgIHdoaWNoIHdpbGwgcmVzdWx0IGluIHRoaXMgY2hhbmdlIGhhdmluZyBu
byBvYnNlcnZhYmxlIGVmZmVjdCBvbiBwbGF0Zm9ybXMgd2hlcmUgaXQgaXMgdXNlZAorICAgICAg
ICB1bnRpbCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgSW1hZ2VJTyBiZWNvbWVzIGF2YWlsYWJsZS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkltYWdlU291cmNlOjpmcmFtZUR1cmF0aW9uQXRJbmRleCk6IFVwZGF0ZSB0aGUg
Zm9ybWF0dGluZyBvZiB0aGUgY29tbWVudCBhbmQgc3R5bGUKKyAgICAgICAgb2YgdGhlIGNvZGUg
dG8gbWF0Y2ggdGhhdCBpbiBJbWFnZVNvdXJjZUNHLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6
OmZyYW1lRHVyYXRpb25BdEluZGV4KToKKwogMjAxMC0wMy0xNSAgQW5keSBFc3RlcyAgPGFlc3Rl
c0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9obiBTdWxsaXZhbi4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKaW5kZXggYzIzNjZjMS4uMTQ0MDE2
NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKQEAgLTE0NSwx
MyArMTQ1LDE0IEBAIGZsb2F0IEltYWdlU291cmNlOjpmcmFtZUR1cmF0aW9uQXRJbmRleChzaXpl
X3QgaW5kZXgpCiAgICAgaWYgKCFidWZmZXIgfHwgYnVmZmVyLT5zdGF0dXMoKSA9PSBSR0JBMzJC
dWZmZXI6OkZyYW1lRW1wdHkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgLy8gTWFueSBhbm5v
eWluZyBhZHMgc3BlY2lmeSBhIDAgZHVyYXRpb24gdG8gbWFrZSBhbiBpbWFnZSBmbGFzaCBhcyBx
dWlja2x5Ci0gICAgLy8gYXMgcG9zc2libGUuICBXZSBmb2xsb3cgV2luSUUncyBiZWhhdmlvciBh
bmQgdXNlIGEgZHVyYXRpb24gb2YgMTAwIG1zCi0gICAgLy8gZm9yIGFueSBmcmFtZXMgdGhhdCBz
cGVjaWZ5IGEgZHVyYXRpb24gb2YgPD0gNTAgbXMuICBTZWUKLSAgICAvLyA8aHR0cDovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MTM+IG9yIFJhZGFyIDQwNTEzODkgZm9yCi0g
ICAgLy8gbW9yZS4KKyAgICAvLyBNYW55IGFubm95aW5nIGFkcyBzcGVjaWZ5IGEgMCBkdXJhdGlv
biB0byBtYWtlIGFuIGltYWdlIGZsYXNoIGFzIHF1aWNrbHkgYXMgcG9zc2libGUuCisgICAgLy8g
V2UgZm9sbG93IEZpcmVmb3gncyBiZWhhdmlvciBhbmQgdXNlIGEgZHVyYXRpb24gb2YgMTAwIG1z
IGZvciBhbnkgZnJhbWVzIHRoYXQgc3BlY2lmeQorICAgIC8vIGEgZHVyYXRpb24gb2YgPD0gMTAg
bXMuIFNlZSA8cmRhcjovL3Byb2JsZW0vNzY4OTMwMD4gYW5kIDxodHRwOi8vd2Via2l0Lm9yZy9i
LzM2MDgyPgorICAgIC8vIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgIGNvbnN0IGZsb2F0IGR1
cmF0aW9uID0gYnVmZmVyLT5kdXJhdGlvbigpIC8gMTAwMC4wZjsKLSAgICByZXR1cm4gKGR1cmF0
aW9uIDwgMC4wNTFmKSA/IDAuMTAwZiA6IGR1cmF0aW9uOworICAgIGlmIChkdXJhdGlvbiA8IDAu
MDExZikKKyAgICAgICAgcmV0dXJuIDAuMTAwZjsKKyAgICByZXR1cm4gZHVyYXRpb247CiB9CiAK
IGJvb2wgSW1hZ2VTb3VyY2U6OmZyYW1lSGFzQWxwaGFBdEluZGV4KHNpemVfdCBpbmRleCkKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VTb3VyY2VDRy5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCmluZGV4IGE5
MTc5YmMuLjA4MDg0MmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cv
SW1hZ2VTb3VyY2VDRy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFn
ZVNvdXJjZUNHLmNwcApAQCAtMjY5LDkgKzI2OSwxMCBAQCBmbG9hdCBJbWFnZVNvdXJjZTo6ZnJh
bWVEdXJhdGlvbkF0SW5kZXgoc2l6ZV90IGluZGV4KQogICAgIH0KIAogICAgIC8vIE1hbnkgYW5u
b3lpbmcgYWRzIHNwZWNpZnkgYSAwIGR1cmF0aW9uIHRvIG1ha2UgYW4gaW1hZ2UgZmxhc2ggYXMg
cXVpY2tseSBhcyBwb3NzaWJsZS4KLSAgICAvLyBXZSBmb2xsb3cgV2luSUUncyBiZWhhdmlvciBh
bmQgdXNlIGEgZHVyYXRpb24gb2YgMTAwIG1zIGZvciBhbnkgZnJhbWVzIHRoYXQgc3BlY2lmeQot
ICAgIC8vIGEgZHVyYXRpb24gb2YgPD0gNTAgbXMuIFNlZSA8aHR0cDovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MTM+IG9yIFJhZGFyIDQwNTEzODkgZm9yIG1vcmUuCi0gICAg
aWYgKGR1cmF0aW9uIDwgMC4wNTFmKQorICAgIC8vIFdlIGZvbGxvdyBGaXJlZm94J3MgYmVoYXZp
b3IgYW5kIHVzZSBhIGR1cmF0aW9uIG9mIDEwMCBtcyBmb3IgYW55IGZyYW1lcyB0aGF0IHNwZWNp
ZnkKKyAgICAvLyBhIGR1cmF0aW9uIG9mIDw9IDEwIG1zLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzc2
ODkzMDA+IGFuZCA8aHR0cDovL3dlYmtpdC5vcmcvYi8zNjA4Mj4KKyAgICAvLyBmb3IgbW9yZSBp
bmZvcm1hdGlvbi4KKyAgICBpZiAoZHVyYXRpb24gPCAwLjAxMWYpCiAgICAgICAgIHJldHVybiAw
LjEwMGY7CiAgICAgcmV0dXJuIGR1cmF0aW9uOwogfQotLSAKMS43LjAuMi4yMDEuZzgwOTc4Cgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>