views: Fix overlay bounds outside of window (fixes #3457)

This commit is contained in:
Nik Pavlov 2024-10-15 18:28:13 +00:00 committed by Marshall Greenblatt
parent 92f14410ae
commit ffbc53a9e6
1 changed files with 6 additions and 7 deletions

View File

@ -280,18 +280,17 @@ void CefOverlayViewHost::SetOverlayBounds(const gfx::Rect& bounds) {
return;
}
gfx::Rect new_bounds = bounds;
// Keep the result inside the widget.
new_bounds.Intersect(window_view_->bounds());
if (new_bounds == bounds_) {
// Empty bounds are not allowed.
if (bounds.IsEmpty()) {
return;
}
bounds_changing_ = true;
bounds_ = bounds;
// Keep the result inside the widget.
bounds_.Intersect(window_view_->bounds());
bounds_ = new_bounds;
if (view_->size() != bounds_.size()) {
view_->SetSize(bounds_.size());
}