mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-27 12:46:06 +00:00
LibJS: Make Completion.[[Value]] non-optional
Instead, just use js_undefined() whenever the [[Value]] field is unused. This avoids a whole bunch of presence checks.
This commit is contained in:
parent
c0600c4353
commit
de424d6879
Notes:
github-actions[bot]
2025-04-05 09:21:48 +00:00
Author: https://github.com/awesomekling
Commit: de424d6879
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4232
65 changed files with 225 additions and 250 deletions
|
@ -122,7 +122,7 @@ void execute_script(HTML::BrowsingContext const& browsing_context, String body,
|
|||
|
||||
// 3. Upon rejection of scriptPromise with value r, reject promise with value r.
|
||||
if (script_result.is_throw_completion()) {
|
||||
WebIDL::reject_promise(realm, promise, *script_result.throw_completion().value());
|
||||
WebIDL::reject_promise(realm, promise, script_result.throw_completion().value());
|
||||
}
|
||||
}));
|
||||
|
||||
|
@ -184,7 +184,7 @@ void execute_async_script(HTML::BrowsingContext const& browsing_context, String
|
|||
// In order to preserve legacy behavior, the return value only influences the command if it is a
|
||||
// "thenable" object or if determining this produces an exception.
|
||||
if (script_result.is_throw_completion()) {
|
||||
promise->reject(*script_result.throw_completion().value());
|
||||
promise->reject(script_result.throw_completion().value());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -197,7 +197,7 @@ void execute_async_script(HTML::BrowsingContext const& browsing_context, String
|
|||
|
||||
// 7. If then.[[Type]] is not normal, then reject promise with value then.[[Value]], and abort these steps.
|
||||
if (then.is_throw_completion()) {
|
||||
promise->reject(*then.throw_completion().value());
|
||||
promise->reject(then.throw_completion().value());
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ static ErrorOr<ResultType, WebDriver::Error> clone_an_object(HTML::BrowsingConte
|
|||
auto source_property_value = value.get(name);
|
||||
if (source_property_value.is_error()) {
|
||||
error = WebDriver::Error::from_code(ErrorCode::JavascriptError, "Script returned an error"sv);
|
||||
return JS::normal_completion({});
|
||||
return JS::normal_completion(JS::js_undefined());
|
||||
}
|
||||
|
||||
// 3. Let cloned property result be the result of calling the clone algorithm with session, source property
|
||||
|
@ -143,7 +143,7 @@ static ErrorOr<ResultType, WebDriver::Error> clone_an_object(HTML::BrowsingConte
|
|||
// 5. Otherwise, return cloned property result.
|
||||
else {
|
||||
error = cloned_property_result.release_error();
|
||||
return JS::normal_completion({});
|
||||
return JS::normal_completion(JS::js_undefined());
|
||||
}
|
||||
|
||||
return {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue