Commit 4c36e404 authored by Wojciech Dzierżanowski's avatar Wojciech Dzierżanowski Committed by Chromium LUCI CQ

Prevent PiP window from resizing to minimum size automatically

Ignore invalid display work area that is reported as a transient value
in some cases, e.g. when reconnecting via Remote Desktop.

Bug: 1154202
Change-Id: I4915fbdd5dd23248692ab6a66b382349e262dc89
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2571302
Commit-Queue: Wojciech Dzierżanowski <wdzierzanowski@opera.com>
Reviewed-by: default avatarFrançois Beaufort <beaufort.francois@gmail.com>
Cr-Commit-Position: refs/heads/master@{#834649}
parent 040ba2be
......@@ -1063,6 +1063,11 @@ gfx::Rect OverlayWindowViews::GetWorkAreaForWindow() const {
}
void OverlayWindowViews::UpdateMaxSize(const gfx::Rect& work_area) {
// An empty |work_area| is not valid, but it is sometimes reported as a
// transient value.
if (work_area.IsEmpty())
return;
max_size_ = gfx::Size(work_area.width() / 2, work_area.height() / 2);
if (!native_widget())
......
......@@ -268,3 +268,11 @@ TEST_F(OverlayWindowViewsTest, UpdateMaximumSize) {
EXPECT_EQ(gfx::Size(500, 500), overlay_window().GetBounds().size());
EXPECT_EQ(gfx::Size(500, 500), overlay_window().GetMaximumSize());
}
TEST_F(OverlayWindowViewsTest, IgnoreInvalidMaximumSize) {
ASSERT_EQ(gfx::Size(500, 500), overlay_window().GetMaximumSize());
SetDisplayWorkArea({0, 0, 0, 0});
overlay_window().OnNativeWidgetMove();
EXPECT_EQ(gfx::Size(500, 500), overlay_window().GetMaximumSize());
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment