Bug 1315554 - Part 8. Allow DecoderFactory::CreateDecoderForICOResource to create metadata decoders. r=tnikkel

This commit is contained in:
Andrew Osmond
2017-07-22 07:50:32 -04:00
parent 38199ce8cd
commit 5cd0c28d91
3 changed files with 11 additions and 3 deletions

View File

@@ -236,6 +236,7 @@ DecoderFactory::CreateMetadataDecoder(DecoderType aType,
DecoderFactory::CreateDecoderForICOResource(DecoderType aType,
SourceBufferIterator&& aIterator,
NotNull<nsICODecoder*> aICODecoder,
bool aIsMetadataDecode,
const Maybe<IntSize>& aExpectedSize,
const Maybe<uint32_t>& aDataOffset
/* = Nothing() */)
@@ -261,10 +262,11 @@ DecoderFactory::CreateDecoderForICOResource(DecoderType aType,
MOZ_ASSERT(decoder);
// Initialize the decoder, copying settings from @aICODecoder.
MOZ_ASSERT(!aICODecoder->IsMetadataDecode());
decoder->SetMetadataDecode(aICODecoder->IsMetadataDecode());
decoder->SetMetadataDecode(aIsMetadataDecode);
decoder->SetIterator(Forward<SourceBufferIterator>(aIterator));
decoder->SetOutputSize(aICODecoder->OutputSize());
if (!aIsMetadataDecode) {
decoder->SetOutputSize(aICODecoder->OutputSize());
}
if (aExpectedSize) {
decoder->SetExpectedSize(*aExpectedSize);
}