| OLD | NEW | 
|     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 <queue> |     7 #include <queue> | 
|     8 #include <vector> |     8 #include <vector> | 
|     9  |     9  | 
|    10 #include "ash/ash_touch_exploration_manager_chromeos.h" |    10 #include "ash/ash_touch_exploration_manager_chromeos.h" | 
|    11 #include "ash/aura/aura_layout_manager_adapter.h" |    11 #include "ash/aura/aura_layout_manager_adapter.h" | 
|    12 #include "ash/aura/wm_window_aura.h" |  | 
|    13 #include "ash/common/ash_constants.h" |    12 #include "ash/common/ash_constants.h" | 
|    14 #include "ash/common/ash_switches.h" |    13 #include "ash/common/ash_switches.h" | 
|    15 #include "ash/common/focus_cycler.h" |    14 #include "ash/common/focus_cycler.h" | 
|    16 #include "ash/common/login_status.h" |    15 #include "ash/common/login_status.h" | 
|    17 #include "ash/common/session/session_state_delegate.h" |    16 #include "ash/common/session/session_state_delegate.h" | 
|    18 #include "ash/common/shelf/shelf_delegate.h" |    17 #include "ash/common/shelf/shelf_delegate.h" | 
|    19 #include "ash/common/shelf/shelf_layout_manager.h" |    18 #include "ash/common/shelf/shelf_layout_manager.h" | 
|    20 #include "ash/common/shelf/shelf_widget.h" |    19 #include "ash/common/shelf/shelf_widget.h" | 
|    21 #include "ash/common/shelf/wm_shelf.h" |    20 #include "ash/common/shelf/wm_shelf.h" | 
|    22 #include "ash/common/shell_delegate.h" |    21 #include "ash/common/shell_delegate.h" | 
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   251   window->SetShellWindowId(window_id); |   250   window->SetShellWindowId(window_id); | 
|   252   window->SetName(name); |   251   window->SetName(name); | 
|   253   parent->AddChild(window); |   252   parent->AddChild(window); | 
|   254   if (window_id != kShellWindowId_UnparentedControlContainer) |   253   if (window_id != kShellWindowId_UnparentedControlContainer) | 
|   255     window->Show(); |   254     window->Show(); | 
|   256   return window; |   255   return window; | 
|   257 } |   256 } | 
|   258  |   257  | 
|   259 // TODO(sky): This should take an aura::Window. http://crbug.com/671246. |   258 // TODO(sky): This should take an aura::Window. http://crbug.com/671246. | 
|   260 bool ShouldDestroyWindowInCloseChildWindows(WmWindow* window) { |   259 bool ShouldDestroyWindowInCloseChildWindows(WmWindow* window) { | 
|   261   if (!WmWindowAura::GetAuraWindow(window)->owned_by_parent()) |   260   if (!WmWindow::GetAuraWindow(window)->owned_by_parent()) | 
|   262     return false; |   261     return false; | 
|   263  |   262  | 
|   264   if (!WmShell::Get()->IsRunningInMash()) |   263   if (!WmShell::Get()->IsRunningInMash()) | 
|   265     return true; |   264     return true; | 
|   266  |   265  | 
|   267   aura::WindowMus* window_mus = |   266   aura::WindowMus* window_mus = | 
|   268       aura::WindowMus::Get(WmWindowAura::GetAuraWindow(window)); |   267       aura::WindowMus::Get(WmWindow::GetAuraWindow(window)); | 
|   269   return Shell::window_tree_client()->WasCreatedByThisClient(window_mus) || |   268   return Shell::window_tree_client()->WasCreatedByThisClient(window_mus) || | 
|   270          Shell::window_tree_client()->IsRoot(window_mus); |   269          Shell::window_tree_client()->IsRoot(window_mus); | 
|   271 } |   270 } | 
|   272  |   271  | 
|   273 }  // namespace |   272 }  // namespace | 
|   274  |   273  | 
|   275 RootWindowController::~RootWindowController() { |   274 RootWindowController::~RootWindowController() { | 
|   276   Shutdown(); |   275   Shutdown(); | 
|   277   ash_host_.reset(); |   276   ash_host_.reset(); | 
|   278   mus_window_tree_host_.reset(); |   277   mus_window_tree_host_.reset(); | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   325  |   324  | 
|   326 aura::Window* RootWindowController::GetRootWindow() { |   325 aura::Window* RootWindowController::GetRootWindow() { | 
|   327   return GetHost()->window(); |   326   return GetHost()->window(); | 
|   328 } |   327 } | 
|   329  |   328  | 
|   330 const aura::Window* RootWindowController::GetRootWindow() const { |   329 const aura::Window* RootWindowController::GetRootWindow() const { | 
|   331   return GetHost()->window(); |   330   return GetHost()->window(); | 
|   332 } |   331 } | 
|   333  |   332  | 
|   334 const WmWindow* RootWindowController::GetWindow() const { |   333 const WmWindow* RootWindowController::GetWindow() const { | 
|   335   return WmWindowAura::Get(GetRootWindow()); |   334   return WmWindow::Get(GetRootWindow()); | 
|   336 } |   335 } | 
|   337  |   336  | 
|   338 wm::WorkspaceWindowState RootWindowController::GetWorkspaceWindowState() { |   337 wm::WorkspaceWindowState RootWindowController::GetWorkspaceWindowState() { | 
|   339   return workspace_controller_ ? workspace_controller()->GetWindowState() |   338   return workspace_controller_ ? workspace_controller()->GetWindowState() | 
|   340                                : wm::WORKSPACE_WINDOW_STATE_DEFAULT; |   339                                : wm::WORKSPACE_WINDOW_STATE_DEFAULT; | 
|   341 } |   340 } | 
|   342  |   341  | 
|   343 bool RootWindowController::HasShelf() { |   342 bool RootWindowController::HasShelf() { | 
|   344   return wm_shelf_->shelf_widget() != nullptr; |   343   return wm_shelf_->shelf_widget() != nullptr; | 
|   345 } |   344 } | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
|   359     docked_window_layout_manager_->SetShelf(wm_shelf_.get()); |   358     docked_window_layout_manager_->SetShelf(wm_shelf_.get()); | 
|   360     if (wm_shelf_->shelf_layout_manager()) |   359     if (wm_shelf_->shelf_layout_manager()) | 
|   361       docked_window_layout_manager_->AddObserver( |   360       docked_window_layout_manager_->AddObserver( | 
|   362           wm_shelf_->shelf_layout_manager()); |   361           wm_shelf_->shelf_layout_manager()); | 
|   363   } |   362   } | 
|   364  |   363  | 
|   365   // Notify shell observers that the shelf has been created. |   364   // Notify shell observers that the shelf has been created. | 
|   366   // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will |   365   // TODO(jamescook): Move this into WmShelf::InitializeShelf(). This will | 
|   367   // require changing AttachedPanelWidgetTargeter's access to WmShelf. |   366   // require changing AttachedPanelWidgetTargeter's access to WmShelf. | 
|   368   WmShell::Get()->NotifyShelfCreatedForRootWindow( |   367   WmShell::Get()->NotifyShelfCreatedForRootWindow( | 
|   369       WmWindowAura::Get(GetRootWindow())); |   368       WmWindow::Get(GetRootWindow())); | 
|   370  |   369  | 
|   371   wm_shelf_->shelf_widget()->PostCreateShelf(); |   370   wm_shelf_->shelf_widget()->PostCreateShelf(); | 
|   372 } |   371 } | 
|   373  |   372  | 
|   374 ShelfLayoutManager* RootWindowController::GetShelfLayoutManager() { |   373 ShelfLayoutManager* RootWindowController::GetShelfLayoutManager() { | 
|   375   return wm_shelf_->shelf_layout_manager(); |   374   return wm_shelf_->shelf_layout_manager(); | 
|   376 } |   375 } | 
|   377  |   376  | 
|   378 SystemModalContainerLayoutManager* |   377 SystemModalContainerLayoutManager* | 
|   379 RootWindowController::GetSystemModalLayoutManager(WmWindow* window) { |   378 RootWindowController::GetSystemModalLayoutManager(WmWindow* window) { | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   426   if (WmShell::Get()->GetSessionStateDelegate()->IsUserSessionBlocked()) { |   425   if (WmShell::Get()->GetSessionStateDelegate()->IsUserSessionBlocked()) { | 
|   427     blocking_container = |   426     blocking_container = | 
|   428         GetContainer(kShellWindowId_LockScreenContainersContainer); |   427         GetContainer(kShellWindowId_LockScreenContainersContainer); | 
|   429     modal_container_id = kShellWindowId_LockSystemModalContainer; |   428     modal_container_id = kShellWindowId_LockSystemModalContainer; | 
|   430   } else { |   429   } else { | 
|   431     modal_container_id = kShellWindowId_SystemModalContainer; |   430     modal_container_id = kShellWindowId_SystemModalContainer; | 
|   432   } |   431   } | 
|   433   aura::Window* modal_container = GetContainer(modal_container_id); |   432   aura::Window* modal_container = GetContainer(modal_container_id); | 
|   434   SystemModalContainerLayoutManager* modal_layout_manager = nullptr; |   433   SystemModalContainerLayoutManager* modal_layout_manager = nullptr; | 
|   435   modal_layout_manager = static_cast<SystemModalContainerLayoutManager*>( |   434   modal_layout_manager = static_cast<SystemModalContainerLayoutManager*>( | 
|   436       WmWindowAura::Get(modal_container)->GetLayoutManager()); |   435       WmWindow::Get(modal_container)->GetLayoutManager()); | 
|   437  |   436  | 
|   438   if (modal_layout_manager->has_window_dimmer()) |   437   if (modal_layout_manager->has_window_dimmer()) | 
|   439     blocking_container = modal_container; |   438     blocking_container = modal_container; | 
|   440   else |   439   else | 
|   441     modal_container = nullptr;  // Don't check modal dialogs. |   440     modal_container = nullptr;  // Don't check modal dialogs. | 
|   442  |   441  | 
|   443   // In normal session. |   442   // In normal session. | 
|   444   if (!blocking_container) |   443   if (!blocking_container) | 
|   445     return true; |   444     return true; | 
|   446  |   445  | 
|   447   if (!IsWindowAboveContainer(window, blocking_container)) |   446   if (!IsWindowAboveContainer(window, blocking_container)) | 
|   448     return false; |   447     return false; | 
|   449  |   448  | 
|   450   // If the window is in the target modal container, only allow the top most |   449   // If the window is in the target modal container, only allow the top most | 
|   451   // one. |   450   // one. | 
|   452   if (modal_container && modal_container->Contains(window)) |   451   if (modal_container && modal_container->Contains(window)) | 
|   453     return modal_layout_manager->IsPartOfActiveModalWindow( |   452     return modal_layout_manager->IsPartOfActiveModalWindow( | 
|   454         WmWindowAura::Get(window)); |   453         WmWindow::Get(window)); | 
|   455  |   454  | 
|   456   return true; |   455   return true; | 
|   457 } |   456 } | 
|   458  |   457  | 
|   459 WmWindow* RootWindowController::FindEventTarget( |   458 WmWindow* RootWindowController::FindEventTarget( | 
|   460     const gfx::Point& location_in_screen) { |   459     const gfx::Point& location_in_screen) { | 
|   461   gfx::Point location_in_root(location_in_screen); |   460   gfx::Point location_in_root(location_in_screen); | 
|   462   aura::Window* root_window = GetRootWindow(); |   461   aura::Window* root_window = GetRootWindow(); | 
|   463   ::wm::ConvertPointFromScreen(root_window, &location_in_root); |   462   ::wm::ConvertPointFromScreen(root_window, &location_in_root); | 
|   464   ui::MouseEvent test_event(ui::ET_MOUSE_MOVED, location_in_root, |   463   ui::MouseEvent test_event(ui::ET_MOUSE_MOVED, location_in_root, | 
|   465                             location_in_root, ui::EventTimeForNow(), |   464                             location_in_root, ui::EventTimeForNow(), | 
|   466                             ui::EF_NONE, ui::EF_NONE); |   465                             ui::EF_NONE, ui::EF_NONE); | 
|   467   ui::EventTarget* event_handler = |   466   ui::EventTarget* event_handler = | 
|   468       static_cast<ui::EventTarget*>(root_window) |   467       static_cast<ui::EventTarget*>(root_window) | 
|   469           ->GetEventTargeter() |   468           ->GetEventTargeter() | 
|   470           ->FindTargetForEvent(root_window, &test_event); |   469           ->FindTargetForEvent(root_window, &test_event); | 
|   471   return WmWindowAura::Get(static_cast<aura::Window*>(event_handler)); |   470   return WmWindow::Get(static_cast<aura::Window*>(event_handler)); | 
|   472 } |   471 } | 
|   473  |   472  | 
|   474 gfx::Point RootWindowController::GetLastMouseLocationInRoot() { |   473 gfx::Point RootWindowController::GetLastMouseLocationInRoot() { | 
|   475   return window_tree_host_->dispatcher()->GetLastMouseLocationInRoot(); |   474   return window_tree_host_->dispatcher()->GetLastMouseLocationInRoot(); | 
|   476 } |   475 } | 
|   477  |   476  | 
|   478 aura::Window* RootWindowController::GetContainer(int container_id) { |   477 aura::Window* RootWindowController::GetContainer(int container_id) { | 
|   479   return GetRootWindow()->GetChildById(container_id); |   478   return GetRootWindow()->GetChildById(container_id); | 
|   480 } |   479 } | 
|   481  |   480  | 
|   482 const aura::Window* RootWindowController::GetContainer(int container_id) const { |   481 const aura::Window* RootWindowController::GetContainer(int container_id) const { | 
|   483   return window_tree_host_->window()->GetChildById(container_id); |   482   return window_tree_host_->window()->GetChildById(container_id); | 
|   484 } |   483 } | 
|   485  |   484  | 
|   486 const WmWindow* RootWindowController::GetWmContainer(int container_id) const { |   485 const WmWindow* RootWindowController::GetWmContainer(int container_id) const { | 
|   487   const aura::Window* window = GetContainer(container_id); |   486   const aura::Window* window = GetContainer(container_id); | 
|   488   return WmWindowAura::Get(window); |   487   return WmWindow::Get(window); | 
|   489 } |   488 } | 
|   490  |   489  | 
|   491 void RootWindowController::SetWallpaperWidgetController( |   490 void RootWindowController::SetWallpaperWidgetController( | 
|   492     WallpaperWidgetController* controller) { |   491     WallpaperWidgetController* controller) { | 
|   493   wallpaper_widget_controller_.reset(controller); |   492   wallpaper_widget_controller_.reset(controller); | 
|   494 } |   493 } | 
|   495  |   494  | 
|   496 void RootWindowController::SetAnimatingWallpaperWidgetController( |   495 void RootWindowController::SetAnimatingWallpaperWidgetController( | 
|   497     AnimatingWallpaperWidgetController* controller) { |   496     AnimatingWallpaperWidgetController* controller) { | 
|   498   if (animating_wallpaper_widget_controller_.get()) |   497   if (animating_wallpaper_widget_controller_.get()) | 
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   615   if (shelf->IsShelfInitialized()) |   614   if (shelf->IsShelfInitialized()) | 
|   616     shelf->ShutdownShelf(); |   615     shelf->ShutdownShelf(); | 
|   617  |   616  | 
|   618   aura::client::SetDragDropClient(GetRootWindow(), nullptr); |   617   aura::client::SetDragDropClient(GetRootWindow(), nullptr); | 
|   619   aura::client::SetTooltipClient(GetRootWindow(), nullptr); |   618   aura::client::SetTooltipClient(GetRootWindow(), nullptr); | 
|   620 } |   619 } | 
|   621  |   620  | 
|   622 void RootWindowController::MoveWindowsTo(aura::Window* dst) { |   621 void RootWindowController::MoveWindowsTo(aura::Window* dst) { | 
|   623   // Clear the workspace controller, so it doesn't incorrectly update the shelf. |   622   // Clear the workspace controller, so it doesn't incorrectly update the shelf. | 
|   624   workspace_controller_.reset(); |   623   workspace_controller_.reset(); | 
|   625   ReparentAllWindows(GetWindow(), WmWindowAura::Get(dst)); |   624   ReparentAllWindows(GetWindow(), WmWindow::Get(dst)); | 
|   626 } |   625 } | 
|   627  |   626  | 
|   628 void RootWindowController::UpdateShelfVisibility() { |   627 void RootWindowController::UpdateShelfVisibility() { | 
|   629   wm_shelf_->UpdateVisibilityState(); |   628   wm_shelf_->UpdateVisibilityState(); | 
|   630 } |   629 } | 
|   631  |   630  | 
|   632 void RootWindowController::InitTouchHuds() { |   631 void RootWindowController::InitTouchHuds() { | 
|   633   if (WmShell::Get()->IsRunningInMash()) |   632   if (WmShell::Get()->IsRunningInMash()) | 
|   634     return; |   633     return; | 
|   635  |   634  | 
|   636   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); |   635   base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); | 
|   637   if (command_line->HasSwitch(switches::kAshTouchHud)) |   636   if (command_line->HasSwitch(switches::kAshTouchHud)) | 
|   638     set_touch_hud_debug(new TouchHudDebug(GetRootWindow())); |   637     set_touch_hud_debug(new TouchHudDebug(GetRootWindow())); | 
|   639   if (Shell::GetInstance()->is_touch_hud_projection_enabled()) |   638   if (Shell::GetInstance()->is_touch_hud_projection_enabled()) | 
|   640     EnableTouchHudProjection(); |   639     EnableTouchHudProjection(); | 
|   641 } |   640 } | 
|   642  |   641  | 
|   643 aura::Window* RootWindowController::GetWindowForFullscreenMode() { |   642 aura::Window* RootWindowController::GetWindowForFullscreenMode() { | 
|   644   return WmWindowAura::GetAuraWindow( |   643   return WmWindow::GetAuraWindow( | 
|   645       wm::GetWindowForFullscreenMode(WmWindowAura::Get(GetRootWindow()))); |   644       wm::GetWindowForFullscreenMode(WmWindow::Get(GetRootWindow()))); | 
|   646 } |   645 } | 
|   647  |   646  | 
|   648 void RootWindowController::ActivateKeyboard( |   647 void RootWindowController::ActivateKeyboard( | 
|   649     keyboard::KeyboardController* keyboard_controller) { |   648     keyboard::KeyboardController* keyboard_controller) { | 
|   650   if (!keyboard::IsKeyboardEnabled() || |   649   if (!keyboard::IsKeyboardEnabled() || | 
|   651       GetContainer(kShellWindowId_VirtualKeyboardContainer)) { |   650       GetContainer(kShellWindowId_VirtualKeyboardContainer)) { | 
|   652     return; |   651     return; | 
|   653   } |   652   } | 
|   654   DCHECK(keyboard_controller); |   653   DCHECK(keyboard_controller); | 
|   655   keyboard_controller->AddObserver(wm_shelf_->shelf_layout_manager()); |   654   keyboard_controller->AddObserver(wm_shelf_->shelf_layout_manager()); | 
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   787       shell->InitKeyboard(); |   786       shell->InitKeyboard(); | 
|   788   } else { |   787   } else { | 
|   789     window_tree_host_->Show(); |   788     window_tree_host_->Show(); | 
|   790  |   789  | 
|   791     // Create a shelf if a user is already logged in. |   790     // Create a shelf if a user is already logged in. | 
|   792     if (wm_shell->GetSessionStateDelegate()->NumberOfLoggedInUsers()) |   791     if (wm_shell->GetSessionStateDelegate()->NumberOfLoggedInUsers()) | 
|   793       CreateShelf(); |   792       CreateShelf(); | 
|   794  |   793  | 
|   795     // Notify shell observers about new root window. |   794     // Notify shell observers about new root window. | 
|   796     if (!wm_shell->IsRunningInMash()) |   795     if (!wm_shell->IsRunningInMash()) | 
|   797       shell->OnRootWindowAdded(WmWindowAura::Get(root_window)); |   796       shell->OnRootWindowAdded(WmWindow::Get(root_window)); | 
|   798   } |   797   } | 
|   799  |   798  | 
|   800   // TODO: AshTouchExplorationManager doesn't work with mus. |   799   // TODO: AshTouchExplorationManager doesn't work with mus. | 
|   801   // http://crbug.com/679782 |   800   // http://crbug.com/679782 | 
|   802   if (!base::CommandLine::ForCurrentProcess()->HasSwitch( |   801   if (!base::CommandLine::ForCurrentProcess()->HasSwitch( | 
|   803           switches::kAshDisableTouchExplorationMode) && |   802           switches::kAshDisableTouchExplorationMode) && | 
|   804       !wm_shell->IsRunningInMash()) { |   803       !wm_shell->IsRunningInMash()) { | 
|   805     touch_exploration_manager_.reset(new AshTouchExplorationManager(this)); |   804     touch_exploration_manager_.reset(new AshTouchExplorationManager(this)); | 
|   806   } |   805   } | 
|   807 } |   806 } | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   853   // Create Panel layout manager |   852   // Create Panel layout manager | 
|   854   WmWindow* wm_panel_container = GetWmContainer(kShellWindowId_PanelContainer); |   853   WmWindow* wm_panel_container = GetWmContainer(kShellWindowId_PanelContainer); | 
|   855   panel_layout_manager_ = new PanelLayoutManager(wm_panel_container); |   854   panel_layout_manager_ = new PanelLayoutManager(wm_panel_container); | 
|   856   wm_panel_container->SetLayoutManager(base::WrapUnique(panel_layout_manager_)); |   855   wm_panel_container->SetLayoutManager(base::WrapUnique(panel_layout_manager_)); | 
|   857  |   856  | 
|   858   wm::WmSnapToPixelLayoutManager::InstallOnContainers(root); |   857   wm::WmSnapToPixelLayoutManager::InstallOnContainers(root); | 
|   859  |   858  | 
|   860   // Make it easier to resize windows that partially overlap the shelf. Must |   859   // Make it easier to resize windows that partially overlap the shelf. Must | 
|   861   // occur after the ShelfLayoutManager is constructed by ShelfWidget. |   860   // occur after the ShelfLayoutManager is constructed by ShelfWidget. | 
|   862   aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); |   861   aura::Window* shelf_container = GetContainer(kShellWindowId_ShelfContainer); | 
|   863   WmWindow* wm_shelf_container = WmWindowAura::Get(shelf_container); |   862   WmWindow* wm_shelf_container = WmWindow::Get(shelf_container); | 
|   864   shelf_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( |   863   shelf_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( | 
|   865       wm_shelf_container, wm_shelf_.get())); |   864       wm_shelf_container, wm_shelf_.get())); | 
|   866   aura::Window* status_container = GetContainer(kShellWindowId_StatusContainer); |   865   aura::Window* status_container = GetContainer(kShellWindowId_StatusContainer); | 
|   867   WmWindow* wm_status_container = WmWindowAura::Get(status_container); |   866   WmWindow* wm_status_container = WmWindow::Get(status_container); | 
|   868   status_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( |   867   status_container->SetEventTargeter(base::MakeUnique<ShelfWindowTargeter>( | 
|   869       wm_status_container, wm_shelf_.get())); |   868       wm_status_container, wm_shelf_.get())); | 
|   870  |   869  | 
|   871   panel_container_handler_ = base::MakeUnique<PanelWindowEventHandler>(); |   870   panel_container_handler_ = base::MakeUnique<PanelWindowEventHandler>(); | 
|   872   GetContainer(kShellWindowId_PanelContainer) |   871   GetContainer(kShellWindowId_PanelContainer) | 
|   873       ->AddPreTargetHandler(panel_container_handler_.get()); |   872       ->AddPreTargetHandler(panel_container_handler_.get()); | 
|   874  |   873  | 
|   875   // Install an AttachedPanelWindowTargeter on the panel container to make it |   874   // Install an AttachedPanelWindowTargeter on the panel container to make it | 
|   876   // easier to correctly target shelf buttons with touch. |   875   // easier to correctly target shelf buttons with touch. | 
|   877   gfx::Insets mouse_extend(-kResizeOutsideBoundsSize, -kResizeOutsideBoundsSize, |   876   gfx::Insets mouse_extend(-kResizeOutsideBoundsSize, -kResizeOutsideBoundsSize, | 
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1131     EnableTouchHudProjection(); |  1130     EnableTouchHudProjection(); | 
|  1132   else |  1131   else | 
|  1133     DisableTouchHudProjection(); |  1132     DisableTouchHudProjection(); | 
|  1134 } |  1133 } | 
|  1135  |  1134  | 
|  1136 RootWindowController* GetRootWindowController(const aura::Window* root_window) { |  1135 RootWindowController* GetRootWindowController(const aura::Window* root_window) { | 
|  1137   return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; |  1136   return root_window ? GetRootWindowSettings(root_window)->controller : nullptr; | 
|  1138 } |  1137 } | 
|  1139  |  1138  | 
|  1140 }  // namespace ash |  1139 }  // namespace ash | 
| OLD | NEW |