Bug 1814741 - Store AVIFDecoderStream in a RefPtr. r=tnikkel

Differential Revision: https://phabricator.services.mozilla.com/D168793
This commit is contained in:
zaggy1024 2023-02-06 02:13:37 +00:00
Родитель 3584204b20
Коммит 3fcaa79602
4 изменённых файлов: 4 добавлений и 2 удалений

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

@ -1220,7 +1220,7 @@ LexerResult nsAVIFDecoder::DoDecode(SourceBufferIterator& aIterator,
Mp4parseStatus nsAVIFDecoder::CreateParser() {
if (!mParser) {
Mp4parseIo io = {nsAVIFDecoder::ReadSource, this};
mBufferStream = MakeUnique<AVIFDecoderStream>(&mBufferedData);
mBufferStream = new AVIFDecoderStream(&mBufferedData);
Mp4parseStatus status =
AVIFParser::Create(&io, mBufferStream.get(), mParser);

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

@ -76,7 +76,7 @@ class nsAVIFDecoder final : public Decoder {
void RecordDecodeResultTelemetry(const DecodeResult& aResult);
Vector<uint8_t> mBufferedData;
UniquePtr<AVIFDecoderStream> mBufferStream;
RefPtr<AVIFDecoderStream> mBufferStream;
/// Pointer to the next place to read from mBufferedData
const uint8_t* mReadCursor = nullptr;

Двоичные данные
image/test/crashtests/1814741.avif Normal file

Двоичный файл не отображается.

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

@ -70,4 +70,6 @@ pref(image.animated.decode-on-demand.batch-size,1) pref(image.animated.decode-on
pref(browser.soft_reload.only_force_validate_top_level_document,false) HTTP load 1763581-1.html
load 1765871-1.jpg
load 1814741.avif
load 1814774.avif