Chromium Code Reviews
Descriptionash: Fix blank window when maximizing an app
The Ash window manager uses a cross-fade animation during window maximize and
restore, which clones the window layer hierarchy. The window manager
intentionally doesn't set the bounds of the fresh layers to avoid repaints.
It immediately sets the bounds of window, which updates its layer size and
causes a Layout() of all child views. This results in their associated widgets,
windows and layers having their sizes set.
App windows have a special frame for the maximized state. The frame is replaced
before the cross-fade animation starts. This causes an immediate Layout() of all
the window's views. After the window manager clones the window layers it sets
the bounds of the app window, but child views and widgets don't get their layers
sized because the views are already the right size/position.
Fixed by deferring the Layout() when replacing the frame, instead allowing the
window manager's bounds update to Layout() the window's views and update the
sizes of the freshly created layers.
BUG=148432
TEST=manual, open an app like Scratchpad and maximize/restore the window
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=156455
Patch Set 1 #
Messages
Total messages: 6 (0 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||