mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-12 19:19:30 +00:00
LibWeb: Use JS::SafeFunction for ResourceLoader callbacks
This is one of the cases where SafeFunction actually makes sense. Since every resource load will always either succeed, fail, or time out, it's okay to use a SafeFunction since we know it will eventually get destroyed. Until it does, this allows it to keep any captures alive.
This commit is contained in:
parent
a9842ebe48
commit
52fa415779
Notes:
sideshowbarker
2024-07-17 01:28:15 +09:00
Author: https://github.com/awesomekling
Commit: 52fa415779
Pull-request: https://github.com/SerenityOS/serenity/pull/23815
Reviewed-by: https://github.com/ADKaster
1 changed files with 4 additions and 3 deletions
|
@ -12,6 +12,7 @@
|
|||
#include <AK/HashMap.h>
|
||||
#include <LibCore/EventReceiver.h>
|
||||
#include <LibCore/Proxy.h>
|
||||
#include <LibJS/SafeFunction.h>
|
||||
#include <LibURL/URL.h>
|
||||
#include <LibWeb/Loader/Resource.h>
|
||||
#include <LibWeb/Page/Page.h>
|
||||
|
@ -115,9 +116,9 @@ public:
|
|||
|
||||
RefPtr<Resource> load_resource(Resource::Type, LoadRequest&);
|
||||
|
||||
using SuccessCallback = Function<void(ReadonlyBytes, HashMap<ByteString, ByteString, CaseInsensitiveStringTraits> const& response_headers, Optional<u32> status_code)>;
|
||||
using ErrorCallback = Function<void(ByteString const&, Optional<u32> status_code, ReadonlyBytes payload, HashMap<ByteString, ByteString, CaseInsensitiveStringTraits> const& response_headers)>;
|
||||
using TimeoutCallback = Function<void()>;
|
||||
using SuccessCallback = JS::SafeFunction<void(ReadonlyBytes, HashMap<ByteString, ByteString, CaseInsensitiveStringTraits> const& response_headers, Optional<u32> status_code)>;
|
||||
using ErrorCallback = JS::SafeFunction<void(ByteString const&, Optional<u32> status_code, ReadonlyBytes payload, HashMap<ByteString, ByteString, CaseInsensitiveStringTraits> const& response_headers)>;
|
||||
using TimeoutCallback = JS::SafeFunction<void()>;
|
||||
|
||||
void load(LoadRequest&, SuccessCallback success_callback, ErrorCallback error_callback = nullptr, Optional<u32> timeout = {}, TimeoutCallback timeout_callback = nullptr);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue