mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 04:39:06 +00:00
LibWeb: Remove OOM propagation from Fetch::BodyInit
This commit is contained in:
parent
3e991a55fa
commit
d327fa8135
Notes:
sideshowbarker
2024-07-16 22:18:54 +09:00
Author: https://github.com/trflynn89
Commit: d327fa8135
Pull-request: https://github.com/SerenityOS/serenity/pull/24138
1 changed files with 9 additions and 9 deletions
|
@ -80,43 +80,43 @@ WebIDL::ExceptionOr<Infrastructure::BodyWithType> extract_body(JS::Realm& realm,
|
|||
length = blob->size();
|
||||
// If object’s type attribute is not the empty byte sequence, set type to its value.
|
||||
if (!blob->type().is_empty())
|
||||
type = TRY_OR_THROW_OOM(vm, ByteBuffer::copy(blob->type().bytes()));
|
||||
type = MUST(ByteBuffer::copy(blob->type().bytes()));
|
||||
return {};
|
||||
},
|
||||
[&](ReadonlyBytes bytes) -> WebIDL::ExceptionOr<void> {
|
||||
// Set source to object.
|
||||
source = TRY_OR_THROW_OOM(vm, ByteBuffer::copy(bytes));
|
||||
source = MUST(ByteBuffer::copy(bytes));
|
||||
return {};
|
||||
},
|
||||
[&](JS::Handle<WebIDL::BufferSource> const& buffer_source) -> WebIDL::ExceptionOr<void> {
|
||||
// Set source to a copy of the bytes held by object.
|
||||
source = TRY_OR_THROW_OOM(vm, WebIDL::get_buffer_source_copy(*buffer_source->raw_object()));
|
||||
source = MUST(WebIDL::get_buffer_source_copy(*buffer_source->raw_object()));
|
||||
return {};
|
||||
},
|
||||
[&](JS::Handle<XHR::FormData> const& form_data) -> WebIDL::ExceptionOr<void> {
|
||||
// Set action to this step: run the multipart/form-data encoding algorithm, with object’s entry list and UTF-8.
|
||||
auto serialized_form_data = TRY_OR_THROW_OOM(vm, HTML::serialize_to_multipart_form_data(form_data->entry_list()));
|
||||
auto serialized_form_data = MUST(HTML::serialize_to_multipart_form_data(form_data->entry_list()));
|
||||
// Set source to object.
|
||||
source = serialized_form_data.serialized_data;
|
||||
// FIXME: Set length to unclear, see html/6424 for improving this.
|
||||
// Set type to `multipart/form-data; boundary=`, followed by the multipart/form-data boundary string generated by the multipart/form-data encoding algorithm.
|
||||
type = TRY_OR_THROW_OOM(vm, ByteBuffer::copy(TRY_OR_THROW_OOM(vm, String::formatted("multipart/form-data; boundary={}"sv, serialized_form_data.boundary)).bytes()));
|
||||
type = MUST(ByteBuffer::copy(MUST(String::formatted("multipart/form-data; boundary={}"sv, serialized_form_data.boundary)).bytes()));
|
||||
return {};
|
||||
},
|
||||
[&](JS::Handle<DOMURL::URLSearchParams> const& url_search_params) -> WebIDL::ExceptionOr<void> {
|
||||
// Set source to the result of running the application/x-www-form-urlencoded serializer with object’s list.
|
||||
auto search_params_string = TRY(url_search_params->to_string());
|
||||
source = TRY_OR_THROW_OOM(vm, ByteBuffer::copy(search_params_string.bytes()));
|
||||
source = MUST(ByteBuffer::copy(search_params_string.bytes()));
|
||||
// Set type to `application/x-www-form-urlencoded;charset=UTF-8`.
|
||||
type = TRY_OR_THROW_OOM(vm, ByteBuffer::copy("application/x-www-form-urlencoded;charset=UTF-8"sv.bytes()));
|
||||
type = MUST(ByteBuffer::copy("application/x-www-form-urlencoded;charset=UTF-8"sv.bytes()));
|
||||
return {};
|
||||
},
|
||||
[&](String const& scalar_value_string) -> WebIDL::ExceptionOr<void> {
|
||||
// NOTE: AK::String is always UTF-8.
|
||||
// Set source to the UTF-8 encoding of object.
|
||||
source = TRY_OR_THROW_OOM(vm, ByteBuffer::copy(scalar_value_string.bytes()));
|
||||
source = MUST(ByteBuffer::copy(scalar_value_string.bytes()));
|
||||
// Set type to `text/plain;charset=UTF-8`.
|
||||
type = TRY_OR_THROW_OOM(vm, ByteBuffer::copy("text/plain;charset=UTF-8"sv.bytes()));
|
||||
type = MUST(ByteBuffer::copy("text/plain;charset=UTF-8"sv.bytes()));
|
||||
return {};
|
||||
},
|
||||
[&](JS::Handle<Streams::ReadableStream> const& stream) -> WebIDL::ExceptionOr<void> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue