Closed
Bug 25021
Opened 26 years ago
Closed 26 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•26 years ago
|
Target Milestone: M15
Comment 2•26 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•26 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: 26 years ago
Resolution: --- → FIXED
Comment 10•26 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
•