bool FileInputType::appendFormData(FormDataList& encoding, bool multipart) const { FileList* fileList = element()->files(); unsigned numFiles = fileList->length(); if (!multipart) { // Send only the basenames. // 4.10.16.4 and 4.10.16.6 sections in HTML5. // Unlike the multipart case, we have no special handling for the empty // fileList because Netscape doesn't support for non-multipart // submission of file inputs, and Firefox doesn't add "name=" query // parameter. for (unsigned i = 0; i < numFiles; ++i) encoding.appendData(element()->name(), fileList->item(i)->fileName()); return true; } // If no filename at all is entered, return successful but empty. // Null would be more logical, but Netscape posts an empty file. Argh. if (!numFiles) { encoding.appendBlob(element()->name(), File::create("")); return true; } for (unsigned i = 0; i < numFiles; ++i) encoding.appendBlob(element()->name(), fileList->item(i)); return true; }