Commit e87c7796 authored by chinsenj's avatar chinsenj Committed by Commit Bot

cros: Reset overview item header clipping when moving displays.

Currently if a user moves a window to another display via overview, its
header is invisible upon exiting overview.

This CL resets the clipping created when the overview item is created
to prevent this bug.

Test: manual
Fixed: 1140639
Change-Id: I9e5d943bcb4ac7e8fb2054775c2695b2516dc381
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2533553
Commit-Queue: Jeremy Chinsen <chinsenj@chromium.org>
Reviewed-by: default avatarSammie Quon <sammiequon@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826865}
parent 36c245aa
...@@ -215,6 +215,12 @@ ScopedOverviewTransformWindow::ScopedOverviewTransformWindow( ...@@ -215,6 +215,12 @@ ScopedOverviewTransformWindow::ScopedOverviewTransformWindow(
} }
ScopedOverviewTransformWindow::~ScopedOverviewTransformWindow() { ScopedOverviewTransformWindow::~ScopedOverviewTransformWindow() {
// Reset clipping in the case RestoreWindow() is not called, such as when
// |this| is dragged to another display. This is a no-op if SetClipping() was
// called in RestoreWindow().
// See crbug.com/1140639.
SetClipping({ClippingType::kExit, gfx::SizeF()});
for (auto* transient : GetTransientTreeIterator(window_)) { for (auto* transient : GetTransientTreeIterator(window_)) {
transient->ClearProperty(chromeos::kIsShowingInOverviewKey); transient->ClearProperty(chromeos::kIsShowingInOverviewKey);
DCHECK(event_targeting_blocker_map_.contains(transient)); DCHECK(event_targeting_blocker_map_.contains(transient));
......
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