Bug 276431 Patch 9: Handle kFullImageSpaceRect in imgIContainerObserver::OnFrameChanged impls. r=roc a=blocking

This commit is contained in:
Daniel Holbert
2010-09-08 13:40:39 -07:00
parent 82eb1f927f
commit f70cb67e92
2 changed files with 8 additions and 4 deletions

View File

@@ -203,8 +203,10 @@ NS_IMETHODIMP nsImageLoader::FrameChanged(imgIContainer *aContainer,
// We're in the middle of a paint anyway // We're in the middle of a paint anyway
return NS_OK; return NS_OK;
} }
nsRect r = aDirtyRect->ToAppUnits(nsPresContext::AppUnitsPerCSSPixel()); nsRect r = (*aDirtyRect == mozilla::imagelib::kFullImageSpaceRect) ?
nsRect(nsPoint(0, 0), mFrame->GetSize()) :
aDirtyRect->ToAppUnits(nsPresContext::AppUnitsPerCSSPixel());
DoRedraw(&r); DoRedraw(&r);

View File

@@ -659,8 +659,10 @@ nsImageFrame::FrameChanged(imgIContainer *aContainer,
// We don't care about it // We don't care about it
return NS_OK; return NS_OK;
} }
nsRect r = SourceRectToDest(*aDirtyRect); nsRect r = (*aDirtyRect == mozilla::imagelib::kFullImageSpaceRect) ?
GetInnerArea() :
SourceRectToDest(*aDirtyRect);
// Update border+content to account for image change // Update border+content to account for image change
Invalidate(r); Invalidate(r);