Bug 1309117 - Make ImgFromData fallible. r=masayuki

When pasting large image, it may cause OOM when generating base64 data.  So we should use fallible allocator instead.

Also, base64 is ASCII, so we should use AppendASCIItoUTF16 instead of AppendUTF8toUTF16.

MozReview-Commit-ID: 8yWPxfEcEwv

--HG--
extra : rebase_source : 6c2c3144d4413017b4861443c945aeb0d6d995ef
This commit is contained in:
Makoto Kato 2016-10-11 19:28:30 +09:00
parent 1f2fec3609
commit 626a2cfaa9

View File

@ -1025,7 +1025,9 @@ ImgFromData(const nsACString& aType, const nsACString& aData, nsString& aOutput)
aOutput.AssignLiteral("<IMG src=\"data:");
AppendUTF8toUTF16(aType, aOutput);
aOutput.AppendLiteral(";base64,");
AppendUTF8toUTF16(data64, aOutput);
if (!AppendASCIItoUTF16(data64, aOutput, fallible_t())) {
return NS_ERROR_OUT_OF_MEMORY;
}
aOutput.AppendLiteral("\" alt=\"\" >");
return NS_OK;
}