fixes bug 124042 "support internationalized URIs" r=dougt, sr=alecf, a=asa

git-svn-id: svn://10.0.0.236/trunk@115936 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
darin%netscape.com
2002-03-06 07:48:55 +00:00
parent d6d2d2537e
commit 04849998e1
373 changed files with 5638 additions and 5259 deletions

View File

@@ -736,43 +736,40 @@ NS_IMETHODIMP nsHTMLEditor::InsertFromTransferable(nsITransferable *transferable
if ( fileURL )
{
PRBool insertAsImage = PR_FALSE;
char *fileextension = nsnull;
rv = fileURL->GetFileExtension( &fileextension );
if ( NS_SUCCEEDED(rv) && fileextension )
nsCAutoString fileextension;
rv = fileURL->GetFileExtension( fileextension );
if ( NS_SUCCEEDED(rv) && !fileextension.IsEmpty() )
{
if ( (nsCRT::strcasecmp( fileextension, "jpg" ) == 0 )
|| (nsCRT::strcasecmp( fileextension, "jpeg" ) == 0 )
|| (nsCRT::strcasecmp( fileextension, "gif" ) == 0 )
|| (nsCRT::strcasecmp( fileextension, "png" ) == 0 ) )
if ( (nsCRT::strcasecmp( fileextension.get(), "jpg" ) == 0 )
|| (nsCRT::strcasecmp( fileextension.get(), "jpeg" ) == 0 )
|| (nsCRT::strcasecmp( fileextension.get(), "gif" ) == 0 )
|| (nsCRT::strcasecmp( fileextension.get(), "png" ) == 0 ) )
{
insertAsImage = PR_TRUE;
}
}
if (fileextension) nsCRT::free(fileextension);
char *urltext = nsnull;
rv = fileURL->GetSpec( &urltext );
if ( NS_SUCCEEDED(rv) && urltext && urltext[0] != 0)
nsCAutoString urltext;
rv = fileURL->GetSpec( urltext );
if ( NS_SUCCEEDED(rv) && !urltext.IsEmpty() )
{
len = strlen(urltext);
if ( insertAsImage )
{
stuffToPaste.Assign(NS_LITERAL_STRING("<IMG src=\""));
stuffToPaste.AppendWithConversion ( urltext, len );
stuffToPaste.Append(NS_ConvertUTF8toUCS2(urltext));
stuffToPaste.Append(NS_LITERAL_STRING("\" alt=\"\" >"));
}
else /* insert as link */
{
stuffToPaste.Assign(NS_LITERAL_STRING("<A href=\""));
stuffToPaste.AppendWithConversion ( urltext, len );
stuffToPaste.Append(NS_ConvertUTF8toUCS2(urltext));
stuffToPaste.Append(NS_LITERAL_STRING("\">"));
stuffToPaste.AppendWithConversion ( urltext, len );
stuffToPaste.Append(NS_ConvertUTF8toUCS2(urltext));
stuffToPaste.Append(NS_LITERAL_STRING("</A>"));
}
nsAutoEditBatch beginBatching(this);
rv = InsertHTML(stuffToPaste);
}
if (urltext) nsCRT::free(urltext);
}
}
}