Bug 513681 - part 7 - rename mImageContainer to mImage in nsGIFDecoder2 for consistency with the rest of the decoders.r=joe,a=blocker

This commit is contained in:
Bobby Holley 2010-08-12 13:58:44 -04:00
Родитель 0f4bcdb1f0
Коммит 4e0bd46489
2 изменённых файлов: 27 добавлений и 29 удалений

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

@ -146,7 +146,7 @@ NS_IMETHODIMP nsGIFDecoder2::Init(imgIContainer *aImage,
"wrong type of imgIContainer for decoding into"); "wrong type of imgIContainer for decoding into");
// Store parameters // Store parameters
mImageContainer = static_cast<mozilla::imagelib::RasterImage*>(aImage); mImage = static_cast<mozilla::imagelib::RasterImage*>(aImage);
mObserver = aObserver; mObserver = aObserver;
mFlags = aFlags; mFlags = aFlags;
@ -180,7 +180,7 @@ NS_IMETHODIMP nsGIFDecoder2::Close(PRUint32 aFlags)
PR_FREEIF(mGIFStruct.local_colormap); PR_FREEIF(mGIFStruct.local_colormap);
mImageContainer = nsnull; mImage = nsnull;
return NS_OK; return NS_OK;
} }
@ -201,7 +201,7 @@ nsGIFDecoder2::FlushImageData(PRUint32 fromRow, PRUint32 rows)
nsIntRect r(mGIFStruct.x_offset, mGIFStruct.y_offset + fromRow, mGIFStruct.width, rows); nsIntRect r(mGIFStruct.x_offset, mGIFStruct.y_offset + fromRow, mGIFStruct.width, rows);
// Update image // Update image
nsresult rv = mImageContainer->FrameUpdated(mGIFStruct.images_decoded, r); nsresult rv = mImage->FrameUpdated(mGIFStruct.images_decoded, r);
if (NS_FAILED(rv)) { if (NS_FAILED(rv)) {
return rv; return rv;
} }
@ -209,7 +209,7 @@ nsGIFDecoder2::FlushImageData(PRUint32 fromRow, PRUint32 rows)
// Offset to the frame position // Offset to the frame position
// Only notify observer(s) for first frame // Only notify observer(s) for first frame
if (!mGIFStruct.images_decoded && mObserver) { if (!mGIFStruct.images_decoded && mObserver) {
PRUint32 imgCurFrame = mImageContainer->GetCurrentFrameIndex(); PRUint32 imgCurFrame = mImage->GetCurrentFrameIndex();
mObserver->OnDataAvailable(nsnull, imgCurFrame == PRUint32(mGIFStruct.images_decoded), &r); mObserver->OnDataAvailable(nsnull, imgCurFrame == PRUint32(mGIFStruct.images_decoded), &r);
} }
return NS_OK; return NS_OK;
@ -268,7 +268,7 @@ nsGIFDecoder2::Write(const char *aBuffer, PRUint32 aCount)
// If we're salvaging, send off notifications. // If we're salvaging, send off notifications.
// Note that we need to make sure that we have 2 frames, since that tells us // Note that we need to make sure that we have 2 frames, since that tells us
// that the first frame is complete (the second could be in any state). // that the first frame is complete (the second could be in any state).
if (mImageContainer && mImageContainer->GetNumFrames() > 1) { if (mImage && mImage->GetNumFrames() > 1) {
EndGIF(/* aSuccess = */ PR_TRUE); EndGIF(/* aSuccess = */ PR_TRUE);
} }
@ -292,9 +292,9 @@ void nsGIFDecoder2::BeginGIF()
mGIFOpen = PR_TRUE; mGIFOpen = PR_TRUE;
mImageContainer->SetSize(mGIFStruct.screen_width, mGIFStruct.screen_height); mImage->SetSize(mGIFStruct.screen_width, mGIFStruct.screen_height);
if (mObserver) if (mObserver)
mObserver->OnStartContainer(nsnull, mImageContainer); mObserver->OnStartContainer(nsnull, mImage);
// If we're doing a header-only decode, we have what we came for // If we're doing a header-only decode, we have what we came for
if (mFlags & imgIDecoder::DECODER_FLAG_HEADERONLY) if (mFlags & imgIDecoder::DECODER_FLAG_HEADERONLY)
@ -308,15 +308,15 @@ void nsGIFDecoder2::EndGIF(PRBool aSuccess)
return; return;
if (aSuccess) if (aSuccess)
mImageContainer->DecodingComplete(); mImage->DecodingComplete();
if (mObserver) { if (mObserver) {
mObserver->OnStopContainer(nsnull, mImageContainer); mObserver->OnStopContainer(nsnull, mImage);
mObserver->OnStopDecode(nsnull, aSuccess ? NS_OK : NS_ERROR_FAILURE, mObserver->OnStopDecode(nsnull, aSuccess ? NS_OK : NS_ERROR_FAILURE,
nsnull); nsnull);
} }
mImageContainer->SetLoopCount(mGIFStruct.loop_count); mImage->SetLoopCount(mGIFStruct.loop_count);
mGIFOpen = PR_FALSE; mGIFOpen = PR_FALSE;
mEnded = PR_TRUE; mEnded = PR_TRUE;
@ -331,8 +331,8 @@ nsresult nsGIFDecoder2::BeginImageFrame(gfx_depth aDepth)
// and the placeholder will remain on the screen. (Bug 37589) // and the placeholder will remain on the screen. (Bug 37589)
if (mGIFStruct.y_offset > 0) { if (mGIFStruct.y_offset > 0) {
PRInt32 imgWidth; PRInt32 imgWidth;
mImageContainer->GetWidth(&imgWidth); mImage->GetWidth(&imgWidth);
PRUint32 imgCurFrame = mImageContainer->GetCurrentFrameIndex(); PRUint32 imgCurFrame = mImage->GetCurrentFrameIndex();
nsIntRect r(0, 0, imgWidth, mGIFStruct.y_offset); nsIntRect r(0, 0, imgWidth, mGIFStruct.y_offset);
if (mObserver) if (mObserver)
mObserver->OnDataAvailable(nsnull, mObserver->OnDataAvailable(nsnull,
@ -353,22 +353,22 @@ nsresult nsGIFDecoder2::BeginImageFrame(gfx_depth aDepth)
// and include transparency to allow for optimization of opaque images // and include transparency to allow for optimization of opaque images
if (mGIFStruct.images_decoded) { if (mGIFStruct.images_decoded) {
// Image data is stored with original depth and palette // Image data is stored with original depth and palette
rv = mImageContainer->AppendPalettedFrame(mGIFStruct.x_offset, mGIFStruct.y_offset, rv = mImage->AppendPalettedFrame(mGIFStruct.x_offset, mGIFStruct.y_offset,
mGIFStruct.width, mGIFStruct.height, mGIFStruct.width, mGIFStruct.height,
format, aDepth, &mImageData, &imageDataLength, format, aDepth, &mImageData, &imageDataLength,
&mColormap, &mColormapSize); &mColormap, &mColormapSize);
} else { } else {
// Regardless of depth of input, image is decoded into 24bit RGB // Regardless of depth of input, image is decoded into 24bit RGB
rv = mImageContainer->AppendFrame(mGIFStruct.x_offset, mGIFStruct.y_offset, rv = mImage->AppendFrame(mGIFStruct.x_offset, mGIFStruct.y_offset,
mGIFStruct.width, mGIFStruct.height, mGIFStruct.width, mGIFStruct.height,
format, &mImageData, &imageDataLength); format, &mImageData, &imageDataLength);
} }
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;
mImageContainer->SetFrameDisposalMethod(mGIFStruct.images_decoded, mImage->SetFrameDisposalMethod(mGIFStruct.images_decoded,
mGIFStruct.disposal_method); mGIFStruct.disposal_method);
if (mObserver) if (mObserver)
mObserver->OnStartFrame(nsnull, mGIFStruct.images_decoded); mObserver->OnStartFrame(nsnull, mGIFStruct.images_decoded);
@ -391,7 +391,7 @@ void nsGIFDecoder2::EndImageFrame()
// This will clear the remaining bits of the placeholder. (Bug 37589) // This will clear the remaining bits of the placeholder. (Bug 37589)
const PRUint32 realFrameHeight = mGIFStruct.height + mGIFStruct.y_offset; const PRUint32 realFrameHeight = mGIFStruct.height + mGIFStruct.y_offset;
if (realFrameHeight < mGIFStruct.screen_height) { if (realFrameHeight < mGIFStruct.screen_height) {
PRUint32 imgCurFrame = mImageContainer->GetCurrentFrameIndex(); PRUint32 imgCurFrame = mImage->GetCurrentFrameIndex();
nsIntRect r(0, realFrameHeight, nsIntRect r(0, realFrameHeight,
mGIFStruct.screen_width, mGIFStruct.screen_width,
mGIFStruct.screen_height - realFrameHeight); mGIFStruct.screen_height - realFrameHeight);
@ -402,7 +402,7 @@ void nsGIFDecoder2::EndImageFrame()
} }
// This transparency check is only valid for first frame // This transparency check is only valid for first frame
if (mGIFStruct.is_transparent && !mSawTransparency) { if (mGIFStruct.is_transparent && !mSawTransparency) {
mImageContainer->SetFrameHasNoAlpha(mGIFStruct.images_decoded); mImage->SetFrameHasNoAlpha(mGIFStruct.images_decoded);
} }
} }
mCurrentRow = mLastFlushedRow = -1; mCurrentRow = mLastFlushedRow = -1;
@ -422,13 +422,13 @@ void nsGIFDecoder2::EndImageFrame()
// image data, at least according to the spec, but we delay in setting the // image data, at least according to the spec, but we delay in setting the
// timeout for the image until here to help ensure that we have the whole // timeout for the image until here to help ensure that we have the whole
// image frame decoded before we go off and try to display another frame. // image frame decoded before we go off and try to display another frame.
mImageContainer->SetFrameTimeout(mGIFStruct.images_decoded, mGIFStruct.delay_time); mImage->SetFrameTimeout(mGIFStruct.images_decoded, mGIFStruct.delay_time);
mImageContainer->EndFrameDecode(mGIFStruct.images_decoded); mImage->EndFrameDecode(mGIFStruct.images_decoded);
} }
// Unconditionally increment images_decoded, because we unconditionally // Unconditionally increment images_decoded, because we unconditionally
// append frames in BeginImageFrame(). This ensures that images_decoded // append frames in BeginImageFrame(). This ensures that images_decoded
// always refers to the frame in mImageContainer we're currently decoding, // always refers to the frame in mImage we're currently decoding,
// even if some of them weren't decoded properly and thus are blank. // even if some of them weren't decoded properly and thus are blank.
mGIFStruct.images_decoded++; mGIFStruct.images_decoded++;

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

@ -83,9 +83,7 @@ private:
inline int ClearCode() const { return 1 << mGIFStruct.datasize; } inline int ClearCode() const { return 1 << mGIFStruct.datasize; }
// XXXdholbert This member variable should probably be renamed to "mImage" nsRefPtr<mozilla::imagelib::RasterImage> mImage;
// for consistency with nsPNGDecoder
nsRefPtr<mozilla::imagelib::RasterImage> mImageContainer;
nsCOMPtr<imgIDecoderObserver> mObserver; nsCOMPtr<imgIDecoderObserver> mObserver;
PRUint32 mFlags; PRUint32 mFlags;
PRInt32 mCurrentRow; PRInt32 mCurrentRow;