diff --git a/mozilla/content/html/document/src/nsImageDocument.cpp b/mozilla/content/html/document/src/nsImageDocument.cpp
index 9b18b69eac7..4c8e7a6a7ea 100644
--- a/mozilla/content/html/document/src/nsImageDocument.cpp
+++ b/mozilla/content/html/document/src/nsImageDocument.cpp
@@ -74,8 +74,8 @@ public:
void StartLayout();
- nsIImageRequest* mImageRequest;
- nscolor mBlack;
+ nsIImageRequest* mImageRequest;
+ nscolor mBlack;
};
//----------------------------------------------------------------------
@@ -131,10 +131,13 @@ NS_IMETHODIMP
ImageListener::OnStopRequest(nsIChannel* channel, nsISupports *ctxt,
nsresult status, const PRUnichar *errorMsg)
{
+ if(mDocument){
+ mDocument->EndLayout(ctxt, status, errorMsg);
+ }
+
if (nsnull == mNextStream) {
return NS_ERROR_FAILURE;
}
- mDocument->EndLayout(ctxt, status, errorMsg);
return mNextStream->OnStopRequest(channel, ctxt, status, errorMsg);
}
@@ -338,10 +341,27 @@ nsImageDocument::EndLayout(nsISupports *ctxt,
nsresult nsImageDocument::UpdateTitle( void )
{
nsString titleStr;
- // get the title from the Document (in case there was a previously set title )
- GetTitle( titleStr );
+
+ // XXX TEMPORARY XXX
+ // We want to display the image type, however there is no way to right now
+ // so instead we just get the image-extension
+ // - get the URL interface, get the extension, convert to upper-case
+ // Unless the Imagerequest or Image can tell us the type this is the best we can do.
+ nsIURL *pURL=nsnull;
+ if(NS_SUCCEEDED(mDocumentURL->QueryInterface(nsIURL::GetIID(),(void **)&pURL))){
+ char *pExtension=nsnull;
+ pURL->GetFileExtension(&pExtension);
+ if(pExtension){
+ nsString strExt(pExtension);
+ strExt.ToUpperCase();
+ titleStr.Append(strExt);
+ nsCRT::free(pExtension);
+ pExtension=nsnull;
+ }
+ NS_IF_RELEASE(pURL);
+ }
// append the image information...
- titleStr.Append( "Image" );
+ titleStr.Append( " Image" );
if (mImageRequest) {
PRUint32 width, height;
mImageRequest->GetNaturalDimensions(&width, &height);
diff --git a/mozilla/layout/html/document/src/nsImageDocument.cpp b/mozilla/layout/html/document/src/nsImageDocument.cpp
index 9b18b69eac7..4c8e7a6a7ea 100644
--- a/mozilla/layout/html/document/src/nsImageDocument.cpp
+++ b/mozilla/layout/html/document/src/nsImageDocument.cpp
@@ -74,8 +74,8 @@ public:
void StartLayout();
- nsIImageRequest* mImageRequest;
- nscolor mBlack;
+ nsIImageRequest* mImageRequest;
+ nscolor mBlack;
};
//----------------------------------------------------------------------
@@ -131,10 +131,13 @@ NS_IMETHODIMP
ImageListener::OnStopRequest(nsIChannel* channel, nsISupports *ctxt,
nsresult status, const PRUnichar *errorMsg)
{
+ if(mDocument){
+ mDocument->EndLayout(ctxt, status, errorMsg);
+ }
+
if (nsnull == mNextStream) {
return NS_ERROR_FAILURE;
}
- mDocument->EndLayout(ctxt, status, errorMsg);
return mNextStream->OnStopRequest(channel, ctxt, status, errorMsg);
}
@@ -338,10 +341,27 @@ nsImageDocument::EndLayout(nsISupports *ctxt,
nsresult nsImageDocument::UpdateTitle( void )
{
nsString titleStr;
- // get the title from the Document (in case there was a previously set title )
- GetTitle( titleStr );
+
+ // XXX TEMPORARY XXX
+ // We want to display the image type, however there is no way to right now
+ // so instead we just get the image-extension
+ // - get the URL interface, get the extension, convert to upper-case
+ // Unless the Imagerequest or Image can tell us the type this is the best we can do.
+ nsIURL *pURL=nsnull;
+ if(NS_SUCCEEDED(mDocumentURL->QueryInterface(nsIURL::GetIID(),(void **)&pURL))){
+ char *pExtension=nsnull;
+ pURL->GetFileExtension(&pExtension);
+ if(pExtension){
+ nsString strExt(pExtension);
+ strExt.ToUpperCase();
+ titleStr.Append(strExt);
+ nsCRT::free(pExtension);
+ pExtension=nsnull;
+ }
+ NS_IF_RELEASE(pURL);
+ }
// append the image information...
- titleStr.Append( "Image" );
+ titleStr.Append( " Image" );
if (mImageRequest) {
PRUint32 width, height;
mImageRequest->GetNaturalDimensions(&width, &height);