bool nsFilePickerProxy::Recv__delete__(const MaybeInputFiles& aFiles, const int16_t& aResult) { if (aFiles.type() == MaybeInputFiles::TInputFiles) { const InfallibleTArray<PBlobChild*>& blobs = aFiles.get_InputFiles().blobsChild(); for (uint32_t i = 0; i < blobs.Length(); ++i) { BlobChild* actor = static_cast<BlobChild*>(blobs[i]); RefPtr<BlobImpl> blobImpl = actor->GetBlobImpl(); NS_ENSURE_TRUE(blobImpl, true); if (!blobImpl->IsFile()) { return true; } RefPtr<File> file = File::Create(mParent, blobImpl); MOZ_ASSERT(file); mFilesOrDirectories.AppendElement(file); } } if (mCallback) { mCallback->Done(aResult); mCallback = nullptr; } return true; }
bool nsFilePickerProxy::Recv__delete__(const MaybeInputFiles& aFiles, const int16_t& aResult) { if (aFiles.type() == MaybeInputFiles::TInputFiles) { const InfallibleTArray<PBlobChild*>& files = aFiles.get_InputFiles().filesChild(); for (uint32_t i = 0; i < files.Length(); ++i) { BlobChild* actor = static_cast<BlobChild*>(files[i]); nsCOMPtr<nsIDOMBlob> blob = actor->GetBlob(); nsCOMPtr<nsIDOMFile> file(do_QueryInterface(blob)); NS_ENSURE_TRUE(file, true); mDomfiles.AppendObject(file); } } if (mCallback) { mCallback->Done(aResult); mCallback = nullptr; } return true; }