| Index: ash/root_window_controller.cc
|
| diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc
|
| index 60018d5be523d3ee766cbe4da0e3264325008969..26b925c014c8f8c9669c7d060593dfa81f2aa7b0 100644
|
| --- a/ash/root_window_controller.cc
|
| +++ b/ash/root_window_controller.cc
|
| @@ -856,6 +856,10 @@ void RootWindowController::InitLayoutManagers() {
|
| new DockedWindowLayoutManager(docked_container, workspace_controller());
|
| docked_container->SetLayoutManager(docked_layout_manager_);
|
|
|
| + // Installs SnapLayoutManager to containers who set the
|
| + // |kSnapsChildrenToPhysicalPixelBoundary| property.
|
| + wm::InstallSnapLayoutManagerToContainers(root_window);
|
| +
|
| // Create Panel layout manager
|
| aura::Window* panel_container = GetContainer(kShellWindowId_PanelContainer);
|
| panel_layout_manager_ = new PanelLayoutManager(panel_container);
|
| @@ -955,6 +959,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| "DefaultContainer",
|
| non_lock_screen_containers);
|
| ::wm::SetChildWindowVisibilityChangesAnimated(default_container);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(default_container);
|
| SetUsesScreenCoordinates(default_container);
|
| SetUsesEasyResizeTargeter(default_container);
|
|
|
| @@ -963,6 +968,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| "AlwaysOnTopContainer",
|
| non_lock_screen_containers);
|
| ::wm::SetChildWindowVisibilityChangesAnimated(always_on_top_container);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(always_on_top_container);
|
| SetUsesScreenCoordinates(always_on_top_container);
|
|
|
| aura::Window* docked_container = CreateContainer(
|
| @@ -970,6 +976,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| "DockedContainer",
|
| non_lock_screen_containers);
|
| ::wm::SetChildWindowVisibilityChangesAnimated(docked_container);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(docked_container);
|
| SetUsesScreenCoordinates(docked_container);
|
| SetUsesEasyResizeTargeter(docked_container);
|
|
|
| @@ -977,6 +984,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| CreateContainer(kShellWindowId_ShelfContainer,
|
| "ShelfContainer",
|
| non_lock_screen_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(shelf_container);
|
| SetUsesScreenCoordinates(shelf_container);
|
| DescendantShouldStayInSameRootWindow(shelf_container);
|
|
|
| @@ -984,12 +992,14 @@ void RootWindowController::CreateContainersInRootWindow(
|
| kShellWindowId_PanelContainer,
|
| "PanelContainer",
|
| non_lock_screen_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(panel_container);
|
| SetUsesScreenCoordinates(panel_container);
|
|
|
| aura::Window* shelf_bubble_container =
|
| CreateContainer(kShellWindowId_ShelfBubbleContainer,
|
| "ShelfBubbleContainer",
|
| non_lock_screen_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(shelf_bubble_container);
|
| SetUsesScreenCoordinates(shelf_bubble_container);
|
| DescendantShouldStayInSameRootWindow(shelf_bubble_container);
|
|
|
| @@ -997,12 +1007,14 @@ void RootWindowController::CreateContainersInRootWindow(
|
| CreateContainer(kShellWindowId_AppListContainer,
|
| "AppListContainer",
|
| non_lock_screen_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(app_list_container);
|
| SetUsesScreenCoordinates(app_list_container);
|
|
|
| aura::Window* modal_container = CreateContainer(
|
| kShellWindowId_SystemModalContainer,
|
| "SystemModalContainer",
|
| non_lock_screen_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(modal_container);
|
| modal_container->SetLayoutManager(
|
| new SystemModalContainerLayoutManager(modal_container));
|
| ::wm::SetChildWindowVisibilityChangesAnimated(modal_container);
|
| @@ -1015,6 +1027,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| kShellWindowId_LockScreenContainer,
|
| "LockScreenContainer",
|
| lock_screen_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(lock_container);
|
| if (CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kAshDisableLockLayoutManager)) {
|
| lock_container->SetLayoutManager(
|
| @@ -1029,6 +1042,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| kShellWindowId_LockSystemModalContainer,
|
| "LockSystemModalContainer",
|
| lock_screen_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(lock_modal_container);
|
| lock_modal_container->SetLayoutManager(
|
| new SystemModalContainerLayoutManager(lock_modal_container));
|
| ::wm::SetChildWindowVisibilityChangesAnimated(lock_modal_container);
|
| @@ -1039,6 +1053,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| CreateContainer(kShellWindowId_StatusContainer,
|
| "StatusContainer",
|
| lock_screen_related_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(status_container);
|
| SetUsesScreenCoordinates(status_container);
|
| DescendantShouldStayInSameRootWindow(status_container);
|
|
|
| @@ -1047,6 +1062,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| "SettingBubbleContainer",
|
| lock_screen_related_containers);
|
| ::wm::SetChildWindowVisibilityChangesAnimated(settings_bubble_container);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(settings_bubble_container);
|
| SetUsesScreenCoordinates(settings_bubble_container);
|
| DescendantShouldStayInSameRootWindow(settings_bubble_container);
|
|
|
| @@ -1055,6 +1071,7 @@ void RootWindowController::CreateContainersInRootWindow(
|
| "MenuContainer",
|
| lock_screen_related_containers);
|
| ::wm::SetChildWindowVisibilityChangesAnimated(menu_container);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(menu_container);
|
| SetUsesScreenCoordinates(menu_container);
|
|
|
| aura::Window* drag_drop_container = CreateContainer(
|
| @@ -1062,18 +1079,22 @@ void RootWindowController::CreateContainersInRootWindow(
|
| "DragImageAndTooltipContainer",
|
| lock_screen_related_containers);
|
| ::wm::SetChildWindowVisibilityChangesAnimated(drag_drop_container);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(drag_drop_container);
|
| SetUsesScreenCoordinates(drag_drop_container);
|
|
|
| aura::Window* overlay_container = CreateContainer(
|
| kShellWindowId_OverlayContainer,
|
| "OverlayContainer",
|
| lock_screen_related_containers);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(overlay_container);
|
| SetUsesScreenCoordinates(overlay_container);
|
|
|
| aura::Window* virtual_keyboard_parent_container = CreateContainer(
|
| kShellWindowId_VirtualKeyboardParentContainer,
|
| "VirtualKeyboardParentContainer",
|
| root_window);
|
| + wm::SetSnapsChildrenToPhysicalPixelBoundary(
|
| + virtual_keyboard_parent_container);
|
| SetUsesScreenCoordinates(virtual_keyboard_parent_container);
|
|
|
| #if defined(OS_CHROMEOS)
|
|
|