Closed
Bug 25021
Opened 25 years ago
Closed 25 years ago
OnEndDocumentLoad is not reached when an image file is viewed directly
Categories
(Core :: Networking, defect, P3)
Tracking
()
VERIFIED
FIXED
M15
People
(Reporter: neeti, Assigned: pnunn)
References
()
Details
When the url http://jazz/users/pnunn/publish/adog.gif is loaded in mozilla, we get no end of document load. In nsDocLoaderImpl::OnStopRequest(nsIChannel *aChannel, nsISupports *aCtxt, nsresult aStatus, const PRUnichar *aMsg) { rv = mLoadGroup->GetActiveCount(&count); // // The load group for this DocumentLoader is idle... // if (0 == count) { DocLoaderIsEmpty(aStatus); /* We never reach here because the count never goes down to zero */ } else { FireOnEndURLLoad(this, aChannel, aStatus); } } The DocLoaderIsEmpty() method is never called because the count(active count for the mLoadGroup) remains at 1. mForegroundCount gets decremented in nsLoadGroup::RemoveChannel(). We reach an on end doc for the http://jazz/users/pnunn/publish/adog.gif url, if we first load http://jazz/users/pnunn/publish/adog.html, and then load http://jazz/users/pnunn/publish/adog.gif( if the image is in the cache). In the working case the mForegroundCount goes down to zero from 2, when the RemoveChannel is called twice, by the following methods, acheManagerStreamListener::OnStopRequest() and nsHTTPChannel::ResponseCompleted().
Updated•25 years ago
|
Target Milestone: M15
Comment 2•25 years ago
|
||
hey Pam, It looks like this one is due to your checkin (r 1.53) to nsImageNetContextAsync.cpp line 541. Clearing the mReconnectCallback before cloning, broke the internal-external reconnect hack that kipp had for displaying full page images... So, we are actually loading full page images twice!! This is because the reconnect callback (that was set due to calling GetImageFromStream) is lost when the ImageNetContext gets cloned :-( So, imagelib just loads the image from the network again! This, in turn, aggravates a bug(?) in the cache :-( But, I think that if the internal-external reconnect hack is fixed, the main problem will go away!
Assignee: rpotts → pnunn
hmmm. (I still don't have a build, but I'm scanning through lxr.) If this is whats breaking this stuff, backing out that change will bring back the crash on sample#9 where animating gifs in multiple frames on a page try to life beyond a document unload. -P
I tried commenting out Pam's changes //mReconnectCallback=nsnull; mReconnectArg=nsnull; Now we are hitting the OnEndDocument on some non animated gifs eg http://jazz/users/pnunn/publish/coffee.gif http://jazz/users/pnunn/publish/hat.gif. However, we are still seeing the problem for animated gifs. http://jazz/users/pnunn/publish/adog.gif Neeti
Thanks Rick, I'll back out that change and work on finding another fix for the sample#9 bug. This may also be affecting a few of my other pdt+ bugs. -P
Comment 7•25 years ago
|
||
hey neeti, I'm running build from 2/7 and when I comment out the line in nsAsyncImagenetContext, the animated gif example http://jazz/users/pnunn/publish/adog.gif works fine for me... Is the animation not stopping for you? -- rick
http://jazz/users/pnunn/publish/adog.gif and other images works fine today with the line commented out after I did a clobber build. Neeti
I just checked this in. -pn
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Comment 10•24 years ago
|
||
verified: NT 2000042009 Linux 2000042609 Mac 2000041810
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•