Closed
Bug 583825
Opened 14 years ago
Closed 14 years ago
Progressive decoding/display of images no longer works
Categories
(Core :: Graphics: ImageLib, defect)
Core
Graphics: ImageLib
Tracking
()
VERIFIED
FIXED
mozilla2.0b4
Tracking | Status | |
---|---|---|
blocking2.0 | --- | beta4+ |
People
(Reporter: joe, Assigned: bholley)
References
()
Details
(Keywords: regression)
Attachments
(1 file)
(deleted),
patch
|
joe
:
review+
|
Details | Diff | Splinter Review |
Visit the URL mentioned. Firefox loads the image properly, but doesn't progressively decode it - instead, you get the alt text while the image downloads, and then once it's done downloading/decoding, you get the full image displayed.
Reporter | ||
Updated•14 years ago
|
blocking2.0: --- → beta4+
Assignee | ||
Updated•14 years ago
|
Keywords: regressionwindow-wanted
Assignee | ||
Comment 1•14 years ago
|
||
this is bad.
Setting image.mem.decodeondraw to true seems to fix this (or at least get around it) for me.
Comment 3•14 years ago
|
||
Regression window:
Works:
http://hg.mozilla.org/mozilla-central/rev/5f857be14db9
Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b3pre) Gecko/20100727
Minefield/4.0b3pre ID:20100728145944
Fails:
http://hg.mozilla.org/mozilla-central/rev/b8b62b351c09
Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b3pre) Gecko/20100728
Minefield/4.0b3pre ID:20100728152620
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5f857be14db9&tochange=b8b62b351c09
Reporter | ||
Comment 5•14 years ago
|
||
Oh hooray, a regression from my bug!
Blocks: 572520
Keywords: regressionwindow-wanted
Updated•14 years ago
|
OS: Mac OS X → All
Hardware: x86 → x86_64
Assignee | ||
Updated•14 years ago
|
Summary: progessive decoding/display no longer works → progressive decoding/display no longer works
Assignee | ||
Updated•14 years ago
|
Hardware: x86_64 → All
Updated•14 years ago
|
Keywords: regression
Summary: progressive decoding/display no longer works → Progressive decoding/display of images no longer works
Assignee | ||
Comment 7•14 years ago
|
||
Figured this bug out.
The issue has to do with the tricky stuff we do with OnStartContainer, as discussed in bug 572520 comment 31. Before that patch, we were setting stateHasSize after sending OnStartContainer, but we'd send imgIRequest::STATUS_SIZE_AVAILABLE _before_. In bug 572520, this was all rolled together into RecordStartContainer(), so they both got set afterwards.
This is a problem, because consumers of OnStartContainer expect STATUS_SIZE_AVAILABLE to be set. In particular, nsImageLoadingContent calls UpdateImageState(), which doesn't set mLoading=false because it doesn't find STATUS_SIZE_AVAILABLE (note the abuse of the concept of "loading" here - in nsImageLoadingContent, "loading" means "size not yet available"). This means that nsImageFrame::ShouldCreateImageFrameFor() returns falls during reflow, which means that the frame doesn't get created until we do another reflow when we get the whole image.
Patch coming right up.
Status: NEW → ASSIGNED
Assignee | ||
Comment 8•14 years ago
|
||
Since really we want to send OnStartContainer once per-proxy, it doesn't make the most sense to have such handling be done in imgRequest and imgStatusTracker. This patch moves all that into imgRequestProxy, and fixes the bug.
Assignee | ||
Updated•14 years ago
|
Attachment #464503 -
Flags: review?(joe)
Reporter | ||
Comment 9•14 years ago
|
||
Comment on attachment 464503 [details] [diff] [review]
patch v1
r+, looks great. File a followup for the very-likely-to-be-intermittently-faily test for this functionality.
Attachment #464503 -
Flags: review?(joe) → review+
Assignee | ||
Comment 10•14 years ago
|
||
(In reply to comment #9)
> Comment on attachment 464503 [details] [diff] [review]
> patch v1
>
> r+, looks great. File a followup for the very-likely-to-be-intermittently-faily
> test for this functionality.
Filed bug 586078.
Comment 11•14 years ago
|
||
Is there any chances of seeing this merged to trunk any time soon, or will it have to wait(forever) for that test?
Assignee | ||
Comment 12•14 years ago
|
||
(In reply to comment #11)
> Is there any chances of seeing this merged to trunk any time soon, or will it
> have to wait(forever) for that test?
No, this is ready to land. It's just difficult to land patches right now because the tree is so busy.
Comment 13•14 years ago
|
||
This is marked as a beta4 blocker, so it needs to land by Friday. Please ensure that it does so (by landing it yourself, or getting checkin-needed on the bug while keeping in mind the points raised in http://blog.bonardo.net/2010/06/22/so-youre-about-to-use-checkin-needed)
Assignee | ||
Comment 14•14 years ago
|
||
This just landed:
http://hg.mozilla.org/mozilla-central/rev/706f72b0c151
Resolving fixed.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Comment 15•14 years ago
|
||
Verified fixed with Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0b4pre) Gecko/20100813 Minefield/4.0b4pre
Status: RESOLVED → VERIFIED
Target Milestone: --- → mozilla2.0b4
You need to log in
before you can comment on or make changes to this bug.
Description
•