GetFileOrDirectoryTask::GetFileOrDirectoryTask( FileSystemBase* aFileSystem, const FileSystemGetFileOrDirectoryParams& aParam, FileSystemRequestParent* aParent) : FileSystemTaskBase(aFileSystem, aParam, aParent) , mIsDirectory(false) { MOZ_ASSERT(FileSystemUtils::IsParentProcess(), "Only call from parent process!"); MOZ_ASSERT(NS_IsMainThread(), "Only call on main thread!"); mTargetRealPath = aParam.realPath(); }
/* static */ already_AddRefed<GetFileOrDirectoryTaskParent> GetFileOrDirectoryTaskParent::Create(FileSystemBase* aFileSystem, const FileSystemGetFileOrDirectoryParams& aParam, FileSystemRequestParent* aParent, ErrorResult& aRv) { MOZ_ASSERT(XRE_IsParentProcess(), "Only call from parent process!"); AssertIsOnBackgroundThread(); MOZ_ASSERT(aFileSystem); RefPtr<GetFileOrDirectoryTaskParent> task = new GetFileOrDirectoryTaskParent(aFileSystem, aParam, aParent); aRv = NS_NewLocalFile(aParam.realPath(), true, getter_AddRefs(task->mTargetPath)); if (NS_WARN_IF(aRv.Failed())) { return nullptr; } return task.forget(); }