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

Unified Diff: ash/root_window_controller.cc

Issue 357063002: Snap widgets to pixel boundary on ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: adjust tests Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/ash.gyp ('k') | ash/shelf/shelf_layout_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)
« no previous file with comments | « ash/ash.gyp ('k') | ash/shelf/shelf_layout_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698