mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 15:47:44 +00:00
LibWeb: Make Frame point weakly to Page
This patch makes Page weakable and allows page-less frames to exist. Page is single-owner, and Frame is multiple-owner, so it's not sound for Frame to assume its containing Page will stick around for its own entire lifetime. Fixes #3976.
This commit is contained in:
parent
e445ff670d
commit
81add73955
12 changed files with 87 additions and 56 deletions
|
@ -55,8 +55,8 @@ public:
|
|||
|
||||
void set_document(DOM::Document*);
|
||||
|
||||
Page& page() { return m_page; }
|
||||
const Page& page() const { return m_page; }
|
||||
Page* page() { return m_page; }
|
||||
const Page* page() const { return m_page; }
|
||||
|
||||
const Gfx::IntSize& size() const { return m_size; }
|
||||
void set_size(const Gfx::IntSize&);
|
||||
|
@ -100,7 +100,7 @@ private:
|
|||
|
||||
void setup();
|
||||
|
||||
Page& m_page;
|
||||
WeakPtr<Page> m_page;
|
||||
Frame& m_main_frame;
|
||||
|
||||
FrameLoader m_loader;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue