Bug 1186932 - Implement support for form submission of a picked directory - part 1 - FormData and Directory, r=smaug

This commit is contained in:
Andrea Marchesini
2016-07-14 09:01:31 +02:00
parent 22e9ef7587
commit b8bca820c3
8 changed files with 160 additions and 28 deletions

View File

@@ -6588,16 +6588,18 @@ HTMLInputElement::SubmitNamesValues(HTMLFormSubmission* aFormSubmission)
const nsTArray<OwningFileOrDirectory>& files =
GetFilesOrDirectoriesInternal();
bool hasBlobs = false;
for (uint32_t i = 0; i < files.Length(); ++i) {
if (files[i].IsFile()) {
hasBlobs = true;
aFormSubmission->AddNameBlobOrNullPair(name, files[i].GetAsFile());
}
if (files.IsEmpty()) {
aFormSubmission->AddNameBlobOrNullPair(name, nullptr);
return NS_OK;
}
if (!hasBlobs) {
aFormSubmission->AddNameBlobOrNullPair(name, nullptr);
for (uint32_t i = 0; i < files.Length(); ++i) {
if (files[i].IsFile()) {
aFormSubmission->AddNameBlobOrNullPair(name, files[i].GetAsFile());
} else {
MOZ_ASSERT(files[i].IsDirectory());
aFormSubmission->AddNameDirectoryPair(name, files[i].GetAsDirectory());
}
}
return NS_OK;