Bug 1599843 - FileReader::OnLoadEnd is infallible. r=baku

Depends on D54991

Differential Revision: https://phabricator.services.mozilla.com/D54992

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Emilio Cobos Álvarez 2019-11-27 18:45:52 +00:00
parent f93fbaa7c3
commit 4e9bf94dbc
2 changed files with 8 additions and 8 deletions

View File

@ -612,7 +612,8 @@ FileReader::OnInputStreamReady(nsIAsyncInputStream* aStream) {
if (rv == NS_BASE_STREAM_CLOSED) {
rv = NS_OK;
}
return OnLoadEnd(rv);
OnLoadEnd(rv);
return NS_OK;
}
mTransferred += count;
@ -637,7 +638,7 @@ FileReader::GetName(nsACString& aName) {
return NS_OK;
}
nsresult FileReader::OnLoadEnd(nsresult aStatus) {
void FileReader::OnLoadEnd(nsresult aStatus) {
// Cancel the progress event timer
ClearProgressEventTimer();
@ -647,20 +648,20 @@ nsresult FileReader::OnLoadEnd(nsresult aStatus) {
// Quick return, if failed.
if (NS_FAILED(aStatus)) {
FreeDataAndDispatchError(aStatus);
return NS_OK;
return;
}
// In case we read a different number of bytes, we can assume that the
// underlying storage has changed. We should not continue.
if (mDataLen != mTotal) {
FreeDataAndDispatchError(NS_ERROR_FAILURE);
return NS_OK;
return;
}
// ArrayBuffer needs a custom handling.
if (mDataFormat == FILE_AS_ARRAYBUFFER) {
OnLoadEndArrayBuffer();
return NS_OK;
return;
}
nsresult rv = NS_OK;
@ -681,11 +682,10 @@ nsresult FileReader::OnLoadEnd(nsresult aStatus) {
if (NS_WARN_IF(NS_FAILED(rv))) {
FreeDataAndDispatchError(rv);
return NS_OK;
return;
}
FreeDataAndDispatchSuccess();
return NS_OK;
}
void FileReader::Abort() {

View File

@ -133,7 +133,7 @@ class FileReader final : public DOMEventTargetHelper,
nsresult GetAsDataURL(Blob* aBlob, const char* aFileData, uint32_t aDataLen,
nsAString& aResult);
nsresult OnLoadEnd(nsresult aStatus);
void OnLoadEnd(nsresult aStatus);
void StartProgressEventTimer();
void ClearProgressEventTimer();