mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 06:58:11 +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
|
@ -60,7 +60,7 @@ void LayoutWidget::did_set_rect()
|
|||
void LayoutWidget::update_widget()
|
||||
{
|
||||
auto adjusted_widget_position = absolute_rect().location().to_type<int>();
|
||||
auto& page_view = static_cast<const InProcessWebView&>(frame().page().client());
|
||||
auto& page_view = static_cast<const InProcessWebView&>(frame().page()->client());
|
||||
adjusted_widget_position.move_by(-page_view.horizontal_scrollbar().value(), -page_view.vertical_scrollbar().value());
|
||||
widget().move_to(adjusted_widget_position);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue