diff --git a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp index 1f5b8f7b2f8..f61ee48b6c9 100644 --- a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp +++ b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.cpp @@ -40,8 +40,11 @@ SharedImageRequest::SharedImageRequest(JS::NonnullGCPtr page, AK::URL url, { } -SharedImageRequest::~SharedImageRequest() +SharedImageRequest::~SharedImageRequest() = default; + +void SharedImageRequest::finalize() { + Base::finalize(); auto& shared_image_requests = m_document->shared_image_requests(); shared_image_requests.remove(m_url); } diff --git a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h index 79c8eac8710..d4fae417542 100644 --- a/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h +++ b/Userland/Libraries/LibWeb/HTML/SharedImageRequest.h @@ -17,14 +17,14 @@ namespace Web::HTML { -class SharedImageRequest : public JS::Cell { +class SharedImageRequest final : public JS::Cell { JS_CELL(ImageRequest, JS::Cell); JS_DECLARE_ALLOCATOR(SharedImageRequest); public: [[nodiscard]] static JS::NonnullGCPtr get_or_create(JS::Realm&, JS::NonnullGCPtr, AK::URL const&); - ~SharedImageRequest(); + virtual ~SharedImageRequest() override; AK::URL const& url() const { return m_url; } @@ -40,11 +40,12 @@ public: bool is_fetching() const; bool needs_fetching() const; - virtual void visit_edges(JS::Cell::Visitor&) override; - private: explicit SharedImageRequest(JS::NonnullGCPtr, AK::URL, JS::NonnullGCPtr); + virtual void finalize() override; + virtual void visit_edges(JS::Cell::Visitor&) override; + void handle_successful_fetch(AK::URL const&, StringView mime_type, ByteBuffer data); void handle_failed_fetch();