Bug 1798459 - Separate out FileSystemWritableFileStream::Close and IsClosed which are not part of the WebIDL interface; r=dom-storage-reviewers,jari
Depends on D160906 Differential Revision: https://phabricator.services.mozilla.com/D160907
This commit is contained in:
@@ -168,6 +168,28 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(FileSystemWritableFileStream,
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mManager)
|
||||
NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END
|
||||
|
||||
already_AddRefed<Promise> FileSystemWritableFileStream::Close(
|
||||
ErrorResult& aRv) {
|
||||
RefPtr<Promise> promise = Promise::Create(GetParentObject(), aRv);
|
||||
if (aRv.Failed()) {
|
||||
return nullptr;
|
||||
}
|
||||
if (IsClosed()) {
|
||||
promise->MaybeRejectWithTypeError("WritableFileStream closed");
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
if (mActor) {
|
||||
// close file, tell parent file is closed
|
||||
LOG(("WritableFileStream %p: Closing", mActor->MutableFileDescPtr()));
|
||||
mActor->Close();
|
||||
MOZ_ASSERT(!mActor);
|
||||
}
|
||||
|
||||
promise->MaybeResolveWithUndefined();
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
// WebIDL Boilerplate
|
||||
|
||||
JSObject* FileSystemWritableFileStream::WrapObject(
|
||||
@@ -450,28 +472,6 @@ nsresult FileSystemWritableFileStream::WriteBlob(Blob* aBlob,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
already_AddRefed<Promise> FileSystemWritableFileStream::Close(
|
||||
ErrorResult& aRv) {
|
||||
RefPtr<Promise> promise = Promise::Create(GetParentObject(), aRv);
|
||||
if (aRv.Failed()) {
|
||||
return nullptr;
|
||||
}
|
||||
if (IsClosed()) {
|
||||
promise->MaybeRejectWithTypeError("WritableFileStream closed");
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
if (mActor) {
|
||||
// close file, tell parent file is closed
|
||||
LOG(("WritableFileStream %p: Closing", mActor->MutableFileDescPtr()));
|
||||
mActor->Close();
|
||||
MOZ_ASSERT(!mActor);
|
||||
}
|
||||
|
||||
promise->MaybeResolveWithUndefined();
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED_0(
|
||||
WritableFileStreamUnderlyingSinkAlgorithms, UnderlyingSinkAlgorithmsBase)
|
||||
NS_IMPL_CYCLE_COLLECTION_INHERITED(WritableFileStreamUnderlyingSinkAlgorithms,
|
||||
|
||||
Reference in New Issue
Block a user