mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-14 07:02:54 +00:00
LibWeb: Use HeapFunction for EventLoopPlugin::spin_until
This commit is contained in:
parent
de1a805898
commit
7487a782db
Notes:
github-actions[bot]
2024-10-30 19:57:14 +00:00
Author: https://github.com/shannonbooth
Commit: 7487a782db
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2062
Reviewed-by: https://github.com/kalenikaliaksandr ✅
15 changed files with 29 additions and 26 deletions
|
@ -324,11 +324,11 @@ WebIDL::ExceptionOr<JS::NonnullGCPtr<WebIDL::Promise>> HTMLImageElement::decode(
|
|||
|
||||
// 2.2 Otherwise, in parallel wait for one of the following cases to occur, and perform the corresponding actions:
|
||||
Platform::EventLoopPlugin::the().deferred_invoke([this, promise, &realm, reject_if_document_not_fully_active, reject_if_current_request_state_broken] {
|
||||
Platform::EventLoopPlugin::the().spin_until([&] {
|
||||
Platform::EventLoopPlugin::the().spin_until(JS::create_heap_function(heap(), [&] {
|
||||
auto state = this->current_request().state();
|
||||
|
||||
return !this->document().is_fully_active() || state == ImageRequest::State::Broken || state == ImageRequest::State::CompletelyAvailable;
|
||||
});
|
||||
}));
|
||||
|
||||
// 2.2.1 This img element's node document stops being fully active
|
||||
// 2.2.1 Reject promise with an "EncodingError" DOMException.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue