diff --git a/content/base/src/nsImageLoadingContent.cpp b/content/base/src/nsImageLoadingContent.cpp index 274744e8058..5f62cc8b3ed 100644 --- a/content/base/src/nsImageLoadingContent.cpp +++ b/content/base/src/nsImageLoadingContent.cpp @@ -381,13 +381,6 @@ nsImageLoadingContent::ImageURIChanged(const nsACString& aNewURI) return NS_OK; } - if (aNewURI.IsEmpty()) { - // Do not take down the already loaded image... (for compat with - // the old code that loaded images from frames) - // XXXbz is this what we really want? - return NS_OK; - } - nsresult rv; // XXXbz Should failures in this method fire onerror? // First, get a document (needed for security checks, base URI and the like) diff --git a/layout/generic/nsImageFrame.cpp b/layout/generic/nsImageFrame.cpp index b5710fa6d31..c2b763ddc00 100644 --- a/layout/generic/nsImageFrame.cpp +++ b/layout/generic/nsImageFrame.cpp @@ -659,13 +659,15 @@ nsImageFrame::OnStopDecode(imgIRequest *aRequest, if (loadType == nsIImageLoadingContent::PENDING_REQUEST) { // May have to switch sizes here! - PRBool intrinsicSizeChanged = PR_FALSE; + PRBool intrinsicSizeChanged = PR_TRUE; if (NS_SUCCEEDED(aStatus)) { nsCOMPtr imageContainer; aRequest->GetImage(getter_AddRefs(imageContainer)); NS_ASSERTION(imageContainer, "Successful load with no container?"); intrinsicSizeChanged = RecalculateTransform(imageContainer); } + else + mIntrinsicSize.SizeTo(0, 0); if (mState & IMAGE_GOTINITIALREFLOW) { // do nothing if we havn't gotten the inital reflow yet if (!(mState & IMAGE_SIZECONSTRAINED) && intrinsicSizeChanged) { diff --git a/layout/html/base/src/nsImageFrame.cpp b/layout/html/base/src/nsImageFrame.cpp index b5710fa6d31..c2b763ddc00 100644 --- a/layout/html/base/src/nsImageFrame.cpp +++ b/layout/html/base/src/nsImageFrame.cpp @@ -659,13 +659,15 @@ nsImageFrame::OnStopDecode(imgIRequest *aRequest, if (loadType == nsIImageLoadingContent::PENDING_REQUEST) { // May have to switch sizes here! - PRBool intrinsicSizeChanged = PR_FALSE; + PRBool intrinsicSizeChanged = PR_TRUE; if (NS_SUCCEEDED(aStatus)) { nsCOMPtr imageContainer; aRequest->GetImage(getter_AddRefs(imageContainer)); NS_ASSERTION(imageContainer, "Successful load with no container?"); intrinsicSizeChanged = RecalculateTransform(imageContainer); } + else + mIntrinsicSize.SizeTo(0, 0); if (mState & IMAGE_GOTINITIALREFLOW) { // do nothing if we havn't gotten the inital reflow yet if (!(mState & IMAGE_SIZECONSTRAINED) && intrinsicSizeChanged) {