mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-27 05:05:32 +03:00
LibWeb: Set the MIME type when creating an <input> element's File list
We were passing the MIME type to the underlying Blob, but the factory for creating a File only checks an explicit options structure.
This commit is contained in:
parent
0cc8698a62
commit
f55471333b
Notes:
sideshowbarker
2024-07-17 21:26:19 +09:00
Author: https://github.com/trflynn89 Commit: https://github.com/SerenityOS/serenity/commit/f55471333b Pull-request: https://github.com/SerenityOS/serenity/pull/23574
@ -1,12 +1,12 @@
|
||||
Select file...file1 Select files...4 files selected. input1:
|
||||
file1 (index iteration): Contents for file1
|
||||
file1 (for..of iteration): Contents for file1
|
||||
file1 (index iteration): text/plain: Contents for file1
|
||||
file1 (for..of iteration): text/plain: Contents for file1
|
||||
input2:
|
||||
file1 (index iteration): Contents for file1
|
||||
file2 (index iteration): Contents for file2
|
||||
file3 (index iteration): Contents for file3
|
||||
file4 (index iteration): Contents for file4
|
||||
file1 (for..of iteration): Contents for file1
|
||||
file2 (for..of iteration): Contents for file2
|
||||
file3 (for..of iteration): Contents for file3
|
||||
file4 (for..of iteration): Contents for file4
|
||||
file1 (index iteration): text/plain: Contents for file1
|
||||
file2 (index iteration): text/plain: Contents for file2
|
||||
file3 (index iteration): text/plain: Contents for file3
|
||||
file4 (index iteration): text/plain: Contents for file4
|
||||
file1 (for..of iteration): text/plain: Contents for file1
|
||||
file2 (for..of iteration): text/plain: Contents for file2
|
||||
file3 (for..of iteration): text/plain: Contents for file3
|
||||
file4 (for..of iteration): text/plain: Contents for file4
|
||||
|
@ -13,13 +13,13 @@
|
||||
const file = input.files.item(i);
|
||||
const text = await file.text();
|
||||
|
||||
println(`${file.name} (index iteration): ${text}`);
|
||||
println(`${file.name} (index iteration): ${file.type}: ${text}`);
|
||||
}
|
||||
|
||||
for (let file of input.files) {
|
||||
const text = await file.text();
|
||||
|
||||
println(`${file.name} (for..of iteration): ${text}`);
|
||||
println(`${file.name} (for..of iteration): ${file.type}: ${text}`);
|
||||
}
|
||||
|
||||
resolve();
|
||||
|
@ -422,7 +422,11 @@ void HTMLInputElement::did_select_files(Span<SelectedFile> selected_files)
|
||||
// FIXME: The FileAPI should use ByteString for file names.
|
||||
auto file_name = MUST(String::from_byte_string(selected_file.name()));
|
||||
|
||||
auto file = MUST(FileAPI::File::create(realm(), { JS::make_handle(blob) }, file_name));
|
||||
// FIXME: Fill in other fields (e.g. last_modified).
|
||||
FileAPI::FilePropertyBag options {};
|
||||
options.type = mime_type.essence();
|
||||
|
||||
auto file = MUST(FileAPI::File::create(realm(), { JS::make_handle(blob) }, file_name, move(options)));
|
||||
files.unchecked_append(file);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user