From 87bef3e99e30c47435b7dff37c098c9d99965d22 Mon Sep 17 00:00:00 2001 From: wolfbeast Date: Mon, 21 Jan 2019 14:02:56 +0100 Subject: Make Sourcebuffer::AppendFromInputStream handle canceled image loads. --- image/SourceBuffer.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'image') diff --git a/image/SourceBuffer.cpp b/image/SourceBuffer.cpp index de0719d45..de066e29f 100644 --- a/image/SourceBuffer.cpp +++ b/image/SourceBuffer.cpp @@ -451,10 +451,18 @@ SourceBuffer::AppendFromInputStream(nsIInputStream* aInputStream, uint32_t bytesRead; nsresult rv = aInputStream->ReadSegments(AppendToSourceBuffer, this, aCount, &bytesRead); - if (!NS_WARN_IF(NS_FAILED(rv))) { - MOZ_ASSERT(bytesRead == aCount, - "AppendToSourceBuffer should consume everything"); + if (NS_WARN_IF(NS_FAILED(rv))) { + return rv; + } + + if (bytesRead == 0) { + // The loading of the image has been canceled. + return NS_ERROR_FAILURE; } + + MOZ_ASSERT(bytesRead == aCount, + "AppendToSourceBuffer should consume everything"); + return rv; } -- cgit v1.2.3