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

Side by Side Diff: ash/wm/workspace/workspace_layout_manager.cc

Issue 23444019: Do not CrossFade the bounds change of AdjustWindowBoundsForWorkAreaChange() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/wm/workspace/workspace_layout_manager.h" 5 #include "ash/wm/workspace/workspace_layout_manager.h"
6 6
7 #include "ash/display/display_controller.h" 7 #include "ash/display/display_controller.h"
8 #include "ash/root_window_controller.h" 8 #include "ash/root_window_controller.h"
9 #include "ash/screen_ash.h" 9 #include "ash/screen_ash.h"
10 #include "ash/shelf/shelf_layout_manager.h" 10 #include "ash/shelf/shelf_layout_manager.h"
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
206 work_area_ = ScreenAsh::GetDisplayWorkAreaBoundsInParent(window_->parent()); 206 work_area_ = ScreenAsh::GetDisplayWorkAreaBoundsInParent(window_->parent());
207 BaseLayoutManager::AdjustAllWindowsBoundsForWorkAreaChange(reason); 207 BaseLayoutManager::AdjustAllWindowsBoundsForWorkAreaChange(reason);
208 } 208 }
209 209
210 void WorkspaceLayoutManager::AdjustWindowBoundsForWorkAreaChange( 210 void WorkspaceLayoutManager::AdjustWindowBoundsForWorkAreaChange(
211 Window* window, 211 Window* window,
212 AdjustWindowReason reason) { 212 AdjustWindowReason reason) {
213 if (!GetTrackedByWorkspace(window)) 213 if (!GetTrackedByWorkspace(window))
214 return; 214 return;
215 215
216 // Use cross fade transition for the maximized window if the adjustment 216 // Do not cross fade here: the window's layer hierarchy may be messed up for
217 // happens due to the shelf's visibility change. Otherwise the background 217 // the transition between mirroring and extended. See also: crbug.com/267698
oshima 2013/08/29 18:56:48 can you add TODO(oshima): Differentiate display c
Jun Mukai 2013/08/29 19:48:14 Done.
218 // can be seen slightly between the bottom edge of resized-window and
219 // the animating shelf.
220 // TODO(mukai): this cause slight blur at the window frame because of the
221 // cross fade. I think this is better, but should reconsider if someone
222 // raises voice for this.
223 if (wm::IsWindowMaximized(window) && 218 if (wm::IsWindowMaximized(window) &&
224 reason == ADJUST_WINDOW_WORK_AREA_INSETS_CHANGED) { 219 reason == ADJUST_WINDOW_WORK_AREA_INSETS_CHANGED) {
225 CrossFadeToBounds(window, ScreenAsh::GetMaximizedWindowBoundsInParent( 220 SetChildBoundsDirect(window, ScreenAsh::GetMaximizedWindowBoundsInParent(
226 window->parent()->parent())); 221 window->parent()->parent()));
227 return; 222 return;
228 } 223 }
229 224
230 if (SetMaximizedOrFullscreenBounds(window)) 225 if (SetMaximizedOrFullscreenBounds(window))
231 return; 226 return;
232 227
233 gfx::Rect bounds = window->bounds(); 228 gfx::Rect bounds = window->bounds();
234 switch (reason) { 229 switch (reason) {
235 case ADJUST_WINDOW_DISPLAY_SIZE_CHANGED: 230 case ADJUST_WINDOW_DISPLAY_SIZE_CHANGED:
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 SetChildBoundsDirect( 355 SetChildBoundsDirect(
361 window, 356 window,
362 ScreenAsh::GetDisplayBoundsInParent(window->parent()->parent())); 357 ScreenAsh::GetDisplayBoundsInParent(window->parent()->parent()));
363 return true; 358 return true;
364 } 359 }
365 return false; 360 return false;
366 } 361 }
367 362
368 } // namespace internal 363 } // namespace internal
369 } // namespace ash 364 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698