diff options
Diffstat (limited to 'Libraries/LibWeb')
-rw-r--r-- | Libraries/LibWeb/PageView.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Libraries/LibWeb/PageView.cpp b/Libraries/LibWeb/PageView.cpp index f26332d1c6..bdd5eeba01 100644 --- a/Libraries/LibWeb/PageView.cpp +++ b/Libraries/LibWeb/PageView.cpp @@ -329,6 +329,8 @@ Gfx::Rect PageView::to_widget_rect(const Web::Frame& frame, const Gfx::Rect& fra { Gfx::Point offset; for (auto* f = &frame; f; f = f->parent()) { + if (f->is_main_frame()) + break; if (!f->host_element()) return {}; if (!f->host_element()->layout_node()) @@ -366,6 +368,10 @@ void PageView::notify_tooltip_area_leave(Badge<EventHandler>, Web::Frame&) void PageView::notify_needs_display(Badge<Web::Frame>, Web::Frame& frame, const Gfx::Rect& rect) { update(to_widget_rect(frame, rect)); + + // FIXME: This is a total hack that forces a full repaint every time. + // We shouldn't have to do this, but until the ICB is actually viewport-sized, we have no choice. + update(); } } |