Bug 35222 - REGRESSION (r55039): Animation starts from near end when loaded over slow network
Summary: REGRESSION (r55039): Animation starts from near end when loaded over slow net...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Images (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P1 Normal
Assignee: Nobody
URL: http://i.imgur.com/rEw6C.gif
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2010-02-21 16:41 PST by Mark Rowe (bdash)
Modified: 2010-02-22 11:49 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Rowe (bdash) 2010-02-21 16:41:28 PST
The change in <http://trac.webkit.org/projects/webkit/changeset/55039> for bug 35115 has caused animations to attempt to "catch up" if there is insufficient data to play through when they first attempt to animate.  When loading a large animated GIF over a slow connection this often leads to the animation skipping to near the end before starting to play.
Comment 1 Mark Rowe (bdash) 2010-02-21 16:46:29 PST
Bug 35115 doesn’t provide any information about what problem it is trying to fix.  The ChangeLog from the commit is similarly lacking in information.  Given the lack of details and the significant nature of the regression I’d like to roll out that change and have it be addressed in some other manner.
Comment 2 Mark Rowe (bdash) 2010-02-21 16:50:13 PST
<rdar://problem/7673523>
Comment 3 Sam Weinig 2010-02-21 18:50:44 PST
(In reply to comment #1)
> Bug 35115 doesn’t provide any information about what problem it is trying to
> fix.  The ChangeLog from the commit is similarly lacking in information.  Given
> the lack of details and the significant nature of the regression I’d like to
> roll out that change and have it be addressed in some other manner.

Seems like a good idea. Do we have a way to test these things yet?
Comment 4 Maciej Stachowiak 2010-02-21 20:08:05 PST
(In reply to comment #3)
> (In reply to comment #1)
> > Bug 35115 doesn’t provide any information about what problem it is trying to
> > fix.  The ChangeLog from the commit is similarly lacking in information.  Given
> > the lack of details and the significant nature of the regression I’d like to
> > roll out that change and have it be addressed in some other manner.

Sounds reasonable to me.

> Seems like a good idea. Do we have a way to test these things yet?

We clearly need to invent some sort of test mechanism since this code keeps getting broken.
Comment 5 Adam Barth 2010-02-21 22:10:38 PST
I'd be inclined to rollout first and ask questions later.  May we can use canvas to test this stuff?
Comment 6 Mark Rowe (bdash) 2010-02-22 03:18:49 PST
Rolled out in r55076.  I’ll reopen bug 35115.
Comment 7 Peter Kasting 2010-02-22 11:35:54 PST
I am confused.  The behavior you describe was the precise behavior the patch was designed to achieve.  This isn't a bug.  This behavior is necessary for sites such as YTMND which time animated GIFs to other elements such as audio.
Comment 8 Peter Kasting 2010-02-22 11:39:57 PST
Furthermore, you'll see the individual frames as soon as they come in during load.  And this has been the behavior of animations ever since the original set of timing patches a couple of years ago, except for the problem fixed in bug 35065 which could erroneously cause the animation to hang for a long time at the beginning.
Comment 9 Peter Kasting 2010-02-22 11:49:42 PST
I'm also frustrated at comment 1, because I gave details on the fix bug 35115 makes on the original bug 35065 (in comment 4) that caused this regression, where I wanted to patch it, and you asked that I open a different bug instead, which I did, referring back to the original issue!  So this isn't context free.

And finally, even if the behavior here was truly a bug, the patch on bug 35115 only causes the timer to start before advancing from frame 1 to frame 2 -- rolling that out starts the timer before advancing frame 2 to frame 3, so you'll still see skipping in the same condition (namely, if multiple frames worth of data come in at once).

Sadly none of you seem to be on IRC right now.  Please ping me when you show up so we can discuss.