From 3610ac5e191487dcff8c4a8bd3ed271669c30a6a Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Wed, 21 Sep 2022 01:20:20 +0200 Subject: [PATCH] Ladybird/WebView: Close top-level BC when the WebView is destroyed --- Ladybird/PageClientLadybird.cpp | 5 +++++ Ladybird/PageClientLadybird.h | 1 + 2 files changed, 6 insertions(+) diff --git a/Ladybird/PageClientLadybird.cpp b/Ladybird/PageClientLadybird.cpp index ed0b866356..d643b20b23 100644 --- a/Ladybird/PageClientLadybird.cpp +++ b/Ladybird/PageClientLadybird.cpp @@ -34,6 +34,11 @@ PageClientLadybird::PageClientLadybird(WebView& view) { } +PageClientLadybird::~PageClientLadybird() +{ + m_page->top_level_browsing_context().close(); +} + Web::Layout::InitialContainingBlock* PageClientLadybird::layout_root() { auto* document = page().top_level_browsing_context().active_document(); diff --git a/Ladybird/PageClientLadybird.h b/Ladybird/PageClientLadybird.h index 36471d2ccf..57ef428a01 100644 --- a/Ladybird/PageClientLadybird.h +++ b/Ladybird/PageClientLadybird.h @@ -18,6 +18,7 @@ namespace Ladybird { class PageClientLadybird final : public Web::PageClient { public: static NonnullOwnPtr create(WebView&); + virtual ~PageClientLadybird() override; Web::Page& page() { return *m_page; } Web::Page const& page() const { return *m_page; }