Bug 1798459 - Call SetStream on actor only when FileSystemWritableFileStream was successfully created; r=dom-storage-reviewers,jesup
This patch also moves a similar call for SyncAccessHandle. Differential Revision: https://phabricator.services.mozilla.com/D161274
This commit is contained in:
@@ -107,7 +107,6 @@ FileSystemSyncAccessHandle::FileSystemSyncAccessHandle(
|
|||||||
mMetadata(aMetadata),
|
mMetadata(aMetadata),
|
||||||
mClosed(false) {
|
mClosed(false) {
|
||||||
LOG(("Created SyncAccessHandle %p for stream %p", this, mStream.get()));
|
LOG(("Created SyncAccessHandle %p for stream %p", this, mStream.get()));
|
||||||
mActor->SetAccessHandle(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FileSystemSyncAccessHandle::~FileSystemSyncAccessHandle() {
|
FileSystemSyncAccessHandle::~FileSystemSyncAccessHandle() {
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ FileSystemWritableFileStream::FileSystemWritableFileStream(
|
|||||||
mFileDesc = PR_ImportFile(PROsfd(rawFD.release()));
|
mFileDesc = PR_ImportFile(PROsfd(rawFD.release()));
|
||||||
|
|
||||||
LOG(("Created WritableFileStream %p for fd %p", this, mFileDesc));
|
LOG(("Created WritableFileStream %p for fd %p", this, mFileDesc));
|
||||||
mActor->SetStream(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FileSystemWritableFileStream::~FileSystemWritableFileStream() {
|
FileSystemWritableFileStream::~FileSystemWritableFileStream() {
|
||||||
|
|||||||
@@ -109,6 +109,9 @@ RefPtr<FileSystemSyncAccessHandle> MakeResolution(
|
|||||||
|
|
||||||
RefPtr<FileSystemSyncAccessHandle> result = new FileSystemSyncAccessHandle(
|
RefPtr<FileSystemSyncAccessHandle> result = new FileSystemSyncAccessHandle(
|
||||||
aGlobal, aManager, actor, std::move(stream), aMetadata);
|
aGlobal, aManager, actor, std::move(stream), aMetadata);
|
||||||
|
|
||||||
|
actor->SetAccessHandle(result);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,6 +130,11 @@ RefPtr<FileSystemWritableFileStream> MakeResolution(
|
|||||||
RefPtr<FileSystemWritableFileStream> result =
|
RefPtr<FileSystemWritableFileStream> result =
|
||||||
FileSystemWritableFileStream::Create(
|
FileSystemWritableFileStream::Create(
|
||||||
aGlobal, aManager, actor, properties.fileDescriptor(), aMetadata);
|
aGlobal, aManager, actor, properties.fileDescriptor(), aMetadata);
|
||||||
|
|
||||||
|
if (result) {
|
||||||
|
actor->SetStream(result);
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,9 @@ FileSystemWritableFileStreamChild::~FileSystemWritableFileStreamChild() =
|
|||||||
|
|
||||||
void FileSystemWritableFileStreamChild::SetStream(
|
void FileSystemWritableFileStreamChild::SetStream(
|
||||||
FileSystemWritableFileStream* aStream) {
|
FileSystemWritableFileStream* aStream) {
|
||||||
|
MOZ_ASSERT(aStream);
|
||||||
|
MOZ_ASSERT(!mStream);
|
||||||
|
|
||||||
mStream = aStream;
|
mStream = aStream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user