don't add requests to the loadgroup yet... it causes the browser not to start up...

This commit is contained in:
pavlov%netscape.com 2001-03-06 05:15:04 +00:00
Родитель e6bdc3f5d0
Коммит c4c823f58d
2 изменённых файлов: 23 добавлений и 3 удалений

Просмотреть файл

@ -92,9 +92,29 @@ NS_IMETHODIMP imgLoader::LoadImage(nsIURI *aURI, nsILoadGroup *aLoadGroup, imgID
ImageCache::Get(aURI, &request, getter_AddRefs(entry)); // addrefs request ImageCache::Get(aURI, &request, getter_AddRefs(entry)); // addrefs request
if (request && entry && aLoadGroup) { if (request && entry && aLoadGroup) {
/* this isn't exactly what I want here. This code will re-doom every cache hit in a document while
it is force reloading. So for multiple copies of an image on a page, when you force reload, this
will cause you to get seperate loads for each copy of the image... this sucks.
*/
PRUint32 flags = 0; PRUint32 flags = 0;
PRBool doomRequest = PR_FALSE;
aLoadGroup->GetDefaultLoadAttributes(&flags); aLoadGroup->GetDefaultLoadAttributes(&flags);
if (flags & nsIChannel::FORCE_RELOAD) { if (flags & nsIChannel::FORCE_RELOAD)
doomRequest = PR_TRUE;
else {
nsCOMPtr<nsIRequest> r;
aLoadGroup->GetDefaultLoadRequest(getter_AddRefs(r));
if (r) {
nsCOMPtr<nsIChannel> c(do_QueryInterface(r));
if (c) {
c->GetLoadAttributes(&flags);
if (flags & nsIChannel::FORCE_RELOAD)
doomRequest = PR_TRUE;
}
}
}
if (doomRequest) {
entry->Doom(); // doom this thing. entry->Doom(); // doom this thing.
entry = nsnull; entry = nsnull;
NS_RELEASE(request); NS_RELEASE(request);

Просмотреть файл

@ -86,7 +86,7 @@ nsresult imgRequestProxy::Init(imgRequest *request, nsILoadGroup *aLoadGroup, im
nsCOMPtr<nsILoadGroup> loadGroup; nsCOMPtr<nsILoadGroup> loadGroup;
mDummyChannel->GetLoadGroup(getter_AddRefs(loadGroup)); mDummyChannel->GetLoadGroup(getter_AddRefs(loadGroup));
if (loadGroup) { if (loadGroup) {
loadGroup->AddRequest(mDummyChannel, cx); // loadGroup->AddRequest(mDummyChannel, cx);
} }
#ifdef MOZ_NEW_CACHE #ifdef MOZ_NEW_CACHE
@ -284,7 +284,7 @@ NS_IMETHODIMP imgRequestProxy::OnStopRequest(nsIRequest *request, nsISupports *c
nsCOMPtr<nsILoadGroup> loadGroup; nsCOMPtr<nsILoadGroup> loadGroup;
mDummyChannel->GetLoadGroup(getter_AddRefs(loadGroup)); mDummyChannel->GetLoadGroup(getter_AddRefs(loadGroup));
if (loadGroup) { if (loadGroup) {
loadGroup->RemoveRequest(mDummyChannel, mContext, statusCode, statusText); // loadGroup->RemoveRequest(mDummyChannel, mContext, statusCode, statusText);
} }
mDummyChannel = nsnull; mDummyChannel = nsnull;