Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(128)

Issue 10910238: ash: Fix blank window when maximizing an app (Closed)

Created:
8 years, 3 months ago by James Cook
Modified:
8 years, 3 months ago
Reviewers:
sky
CC:
chromium-reviews, tfarina, ben+watch_chromium.org
Visibility:
Public.

Description

ash: 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 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+18 lines, -17 lines) Patch
M chrome/browser/ui/views/frame/browser_frame_aura.cc View 2 chunks +7 lines, -10 lines 0 comments Download
M ui/views/widget/native_widget_win.cc View 1 chunk +2 lines, -1 line 0 comments Download
M ui/views/window/non_client_view.h View 1 chunk +4 lines, -3 lines 0 comments Download
M ui/views/window/non_client_view.cc View 1 chunk +5 lines, -3 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
James Cook
Sky, PTAL. This fixes the blank window we were getting for maximized apps and also ...
8 years, 3 months ago (2012-09-12 20:44:31 UTC) #1
sky
Nice, LGTM
8 years, 3 months ago (2012-09-12 21:39:01 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamescook@chromium.org/10910238/1
8 years, 3 months ago (2012-09-12 21:58:30 UTC) #3
commit-bot: I haz the power
Try job failure for 10910238-1 (retry) on mac_rel for step "compile" (clobber build). It's a ...
8 years, 3 months ago (2012-09-12 23:31:46 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jamescook@chromium.org/10910238/1
8 years, 3 months ago (2012-09-12 23:39:26 UTC) #5
commit-bot: I haz the power
8 years, 3 months ago (2012-09-13 01:34:43 UTC) #6
Change committed as 156455

Powered by Google App Engine
This is Rietveld 408576698