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

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

Issue 9570037: Double clicking the resize handle should expand window along that axis. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 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
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_manager.h" 5 #include "ash/wm/workspace/workspace_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/wm/property_util.h" 10 #include "ash/wm/property_util.h"
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 } 363 }
364 } 364 }
365 365
366 void WorkspaceManager::OnTypeOfWorkspacedNeededChanged(aura::Window* window) { 366 void WorkspaceManager::OnTypeOfWorkspacedNeededChanged(aura::Window* window) {
367 DCHECK(IsManagedWindow(window)); 367 DCHECK(IsManagedWindow(window));
368 Workspace* current_workspace = FindBy(window); 368 Workspace* current_workspace = FindBy(window);
369 DCHECK(current_workspace); 369 DCHECK(current_workspace);
370 Workspace* new_workspace = NULL; 370 Workspace* new_workspace = NULL;
371 if (Workspace::TypeForWindow(window) == Workspace::TYPE_MAXIMIZED) { 371 if (Workspace::TypeForWindow(window) == Workspace::TYPE_MAXIMIZED) {
372 // Unmaximized -> maximized; create a new workspace. 372 // Unmaximized -> maximized; create a new workspace.
373 SetRestoreBounds(window, window->bounds()); 373 SetRestoreBoundsIfNotSet(window);
374 current_workspace->RemoveWindow(window); 374 current_workspace->RemoveWindow(window);
375 new_workspace = CreateWorkspace(Workspace::TYPE_MAXIMIZED); 375 new_workspace = CreateWorkspace(Workspace::TYPE_MAXIMIZED);
376 new_workspace->AddWindowAfter(window, NULL); 376 new_workspace->AddWindowAfter(window, NULL);
377 SetFullScreenOrMaximizedBounds(window); 377 SetFullScreenOrMaximizedBounds(window);
378 } else { 378 } else {
379 // Maximized -> unmaximized; move window to unmaximized workspace. 379 // Maximized -> unmaximized; move window to unmaximized workspace.
380 wm::SetOpenWindowSplit(window, false); 380 wm::SetOpenWindowSplit(window, false);
381 new_workspace = GetManagedWorkspace(); 381 new_workspace = GetManagedWorkspace();
382 current_workspace->RemoveWindow(window); 382 current_workspace->RemoveWindow(window);
383 if (!new_workspace) 383 if (!new_workspace)
(...skipping 22 matching lines...) Expand all
406 if (type == Workspace::TYPE_MAXIMIZED) 406 if (type == Workspace::TYPE_MAXIMIZED)
407 workspace = new MaximizedWorkspace(this); 407 workspace = new MaximizedWorkspace(this);
408 else 408 else
409 workspace = new ManagedWorkspace(this); 409 workspace = new ManagedWorkspace(this);
410 AddWorkspace(workspace); 410 AddWorkspace(workspace);
411 return workspace; 411 return workspace;
412 } 412 }
413 413
414 } // namespace internal 414 } // namespace internal
415 } // namespace ash 415 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/workspace/workspace_event_filter_unittest.cc ('k') | ui/aura/test/test_window_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698