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

Side by Side Diff: ash/root_window_controller.cc

Issue 11201002: Removes worskpace 1 code. Will rename next. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove constants and add back kDisableLoginAnimations Created 8 years, 2 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 | « ash/root_window_controller.h ('k') | ash/shell.cc » ('j') | 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/root_window_controller.h" 5 #include "ash/root_window_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/desktop_background/desktop_background_widget_controller.h" 9 #include "ash/desktop_background/desktop_background_widget_controller.h"
10 #include "ash/display/display_controller.h" 10 #include "ash/display/display_controller.h"
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 // Set of windows to move. 100 // Set of windows to move.
101 const int kContainerIdsToMove[] = { 101 const int kContainerIdsToMove[] = {
102 internal::kShellWindowId_DefaultContainer, 102 internal::kShellWindowId_DefaultContainer,
103 internal::kShellWindowId_AlwaysOnTopContainer, 103 internal::kShellWindowId_AlwaysOnTopContainer,
104 internal::kShellWindowId_SystemModalContainer, 104 internal::kShellWindowId_SystemModalContainer,
105 internal::kShellWindowId_LockSystemModalContainer, 105 internal::kShellWindowId_LockSystemModalContainer,
106 internal::kShellWindowId_InputMethodContainer, 106 internal::kShellWindowId_InputMethodContainer,
107 }; 107 };
108 // For Workspace2 we need to manually reparent the windows. This way 108 // For Workspace2 we need to manually reparent the windows. This way
109 // Workspace2 can move the windows to the appropriate workspace. 109 // Workspace2 can move the windows to the appropriate workspace.
110 if (internal::WorkspaceController::IsWorkspace2Enabled()) { 110 std::vector<aura::Window*> windows(GetWorkspaceWindows(src));
111 std::vector<aura::Window*> windows(GetWorkspaceWindows(src)); 111 internal::WorkspaceController* workspace_controller =
112 internal::WorkspaceController* workspace_controller = 112 GetRootWindowController(dst)->workspace_controller();
113 GetRootWindowController(dst)->workspace_controller(); 113 for (size_t i = 0; i < windows.size(); ++i) {
114 for (size_t i = 0; i < windows.size(); ++i) { 114 aura::Window* new_parent =
115 aura::Window* new_parent = 115 workspace_controller->GetParentForNewWindow(windows[i]);
116 workspace_controller->GetParentForNewWindow(windows[i]); 116 ReparentWindow(windows[i], new_parent);
117 ReparentWindow(windows[i], new_parent);
118 }
119 } 117 }
120 for (size_t i = 0; i < arraysize(kContainerIdsToMove); i++) { 118 for (size_t i = 0; i < arraysize(kContainerIdsToMove); i++) {
121 int id = kContainerIdsToMove[i]; 119 int id = kContainerIdsToMove[i];
122 if (id == internal::kShellWindowId_DefaultContainer && 120 if (id == internal::kShellWindowId_DefaultContainer)
123 internal::WorkspaceController::IsWorkspace2Enabled())
124 continue; 121 continue;
125 122
126 aura::Window* src_container = Shell::GetContainer(src, id); 123 aura::Window* src_container = Shell::GetContainer(src, id);
127 aura::Window* dst_container = Shell::GetContainer(dst, id); 124 aura::Window* dst_container = Shell::GetContainer(dst, id);
128 aura::Window::Windows children = src_container->children(); 125 aura::Window::Windows children = src_container->children();
129 for (aura::Window::Windows::iterator iter = children.begin(); 126 for (aura::Window::Windows::iterator iter = children.begin();
130 iter != children.end(); ++iter) { 127 iter != children.end(); ++iter) {
131 aura::Window* window = *iter; 128 aura::Window* window = *iter;
132 // Don't move modal screen. 129 // Don't move modal screen.
133 if (internal::SystemModalContainerLayoutManager::IsModalBackground( 130 if (internal::SystemModalContainerLayoutManager::IsModalBackground(
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 343
347 while (!root_window_->children().empty()) { 344 while (!root_window_->children().empty()) {
348 aura::Window* child = root_window_->children()[0]; 345 aura::Window* child = root_window_->children()[0];
349 delete child; 346 delete child;
350 } 347 }
351 348
352 // All containers are deleted, so reset shelf_. 349 // All containers are deleted, so reset shelf_.
353 shelf_ = NULL; 350 shelf_ = NULL;
354 } 351 }
355 352
356 bool RootWindowController::IsInMaximizedMode() const {
357 return workspace_controller_->IsInMaximizedMode();
358 }
359
360 void RootWindowController::MoveWindowsTo(aura::RootWindow* dst) { 353 void RootWindowController::MoveWindowsTo(aura::RootWindow* dst) {
361 aura::Window* focused = dst->GetFocusManager()->GetFocusedWindow(); 354 aura::Window* focused = dst->GetFocusManager()->GetFocusedWindow();
362 aura::WindowTracker tracker; 355 aura::WindowTracker tracker;
363 if (focused) 356 if (focused)
364 tracker.Add(focused); 357 tracker.Add(focused);
365 aura::client::ActivationClient* activation_client = 358 aura::client::ActivationClient* activation_client =
366 aura::client::GetActivationClient(dst); 359 aura::client::GetActivationClient(dst);
367 aura::Window* active = activation_client->GetActiveWindow(); 360 aura::Window* active = activation_client->GetActiveWindow();
368 if (active && focused != active) 361 if (active && focused != active)
369 tracker.Add(active); 362 tracker.Add(active);
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 root_window); 447 root_window);
455 448
456 CreateContainer(kShellWindowId_UnparentedControlContainer, 449 CreateContainer(kShellWindowId_UnparentedControlContainer,
457 "UnparentedControlContainer", 450 "UnparentedControlContainer",
458 non_lock_screen_containers); 451 non_lock_screen_containers);
459 452
460 aura::Window* default_container = CreateContainer( 453 aura::Window* default_container = CreateContainer(
461 kShellWindowId_DefaultContainer, 454 kShellWindowId_DefaultContainer,
462 "DefaultContainer", 455 "DefaultContainer",
463 non_lock_screen_containers); 456 non_lock_screen_containers);
464 if (!WorkspaceController::IsWorkspace2Enabled()) {
465 default_container_handler_.reset(
466 new ToplevelWindowEventHandler(default_container));
467 }
468 SetChildWindowVisibilityChangesAnimated(default_container); 457 SetChildWindowVisibilityChangesAnimated(default_container);
469 SetUsesScreenCoordinates(default_container); 458 SetUsesScreenCoordinates(default_container);
470 459
471 aura::Window* always_on_top_container = CreateContainer( 460 aura::Window* always_on_top_container = CreateContainer(
472 kShellWindowId_AlwaysOnTopContainer, 461 kShellWindowId_AlwaysOnTopContainer,
473 "AlwaysOnTopContainer", 462 "AlwaysOnTopContainer",
474 non_lock_screen_containers); 463 non_lock_screen_containers);
475 always_on_top_container_handler_.reset( 464 always_on_top_container_handler_.reset(
476 new ToplevelWindowEventHandler(always_on_top_container)); 465 new ToplevelWindowEventHandler(always_on_top_container));
477 SetChildWindowVisibilityChangesAnimated(always_on_top_container); 466 SetChildWindowVisibilityChangesAnimated(always_on_top_container);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
563 552
564 aura::Window* overlay_container = CreateContainer( 553 aura::Window* overlay_container = CreateContainer(
565 kShellWindowId_OverlayContainer, 554 kShellWindowId_OverlayContainer,
566 "OverlayContainer", 555 "OverlayContainer",
567 lock_screen_related_containers); 556 lock_screen_related_containers);
568 SetUsesScreenCoordinates(overlay_container); 557 SetUsesScreenCoordinates(overlay_container);
569 } 558 }
570 559
571 } // namespace internal 560 } // namespace internal
572 } // namespace ash 561 } // namespace ash
OLDNEW
« no previous file with comments | « ash/root_window_controller.h ('k') | ash/shell.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698