| Index: components/exo/wm_helper_ash.cc
|
| diff --git a/components/exo/wm_helper_ash.cc b/components/exo/wm_helper_ash.cc
|
| index 453b547c04004730be765dfbccbdd5d27eabcd9e..40674a979531294031dcc72448a6012e5ca38ec0 100644
|
| --- a/components/exo/wm_helper_ash.cc
|
| +++ b/components/exo/wm_helper_ash.cc
|
| @@ -7,7 +7,9 @@
|
| #include "ash/common/accessibility_delegate.h"
|
| #include "ash/common/system/tray/system_tray_notifier.h"
|
| #include "ash/common/wm/maximize_mode/maximize_mode_controller.h"
|
| +#include "ash/root_window_controller.h"
|
| #include "ash/shell.h"
|
| +#include "ash/wm/ash_native_cursor_manager.h"
|
| #include "base/memory/singleton.h"
|
| #include "ui/aura/client/focus_client.h"
|
| #include "ui/display/manager/display_manager.h"
|
| @@ -23,6 +25,7 @@ WMHelperAsh::WMHelperAsh() {
|
| ash::Shell::GetInstance()->AddShellObserver(this);
|
| ash::Shell::GetInstance()->activation_client()->AddObserver(this);
|
| ash::Shell::GetInstance()->cursor_manager()->AddObserver(this);
|
| + ash::Shell::GetInstance()->native_cursor_manager()->AddObserver(this);
|
| ash::Shell::GetInstance()->window_tree_host_manager()->AddObserver(this);
|
| aura::client::FocusClient* focus_client =
|
| aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow());
|
| @@ -38,6 +41,7 @@ WMHelperAsh::~WMHelperAsh() {
|
| aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow());
|
| focus_client->RemoveObserver(this);
|
| ash::Shell::GetInstance()->window_tree_host_manager()->RemoveObserver(this);
|
| + ash::Shell::GetInstance()->native_cursor_manager()->RemoveObserver(this);
|
| ash::Shell::GetInstance()->cursor_manager()->RemoveObserver(this);
|
| ash::Shell::GetInstance()->activation_client()->RemoveObserver(this);
|
| ash::Shell::GetInstance()->RemoveShellObserver(this);
|
| @@ -54,9 +58,13 @@ const display::ManagedDisplayInfo WMHelperAsh::GetDisplayInfo(
|
| display_id);
|
| }
|
|
|
| -aura::Window* WMHelperAsh::GetContainer(int container_id) {
|
| - return ash::Shell::GetContainer(ash::Shell::GetRootWindowForNewWindows(),
|
| - container_id);
|
| +aura::Window* WMHelperAsh::GetContainer(int64_t display_id, int container_id) {
|
| + ash::RootWindowController* controller =
|
| + ash::Shell::GetRootWindowControllerWithDisplayId(display_id);
|
| + return ash::Shell::GetContainer(
|
| + controller ? controller->GetRootWindow()
|
| + : ash::Shell::GetRootWindowForNewWindows(),
|
| + container_id);
|
| }
|
|
|
| aura::Window* WMHelperAsh::GetActiveWindow() const {
|
| @@ -110,6 +118,12 @@ void WMHelperAsh::PlayEarcon(int sound_key) const {
|
| sound_key);
|
| }
|
|
|
| +void WMHelperAsh::SetCursor(gfx::NativeCursor cursor) {
|
| + ash::Shell* shell = ash::Shell::GetInstance();
|
| + static_cast<wm::NativeCursorManager*>(shell->native_cursor_manager())
|
| + ->SetCursor(cursor, shell->cursor_manager());
|
| +}
|
| +
|
| void WMHelperAsh::OnWindowActivated(
|
| aura::client::ActivationChangeObserver::ActivationReason reason,
|
| aura::Window* gained_active,
|
| @@ -130,6 +144,10 @@ void WMHelperAsh::OnCursorSetChanged(ui::CursorSetType cursor_set) {
|
| NotifyCursorSetChanged(cursor_set);
|
| }
|
|
|
| +void WMHelperAsh::OnCursorDisplayChanging(const display::Display& display) {
|
| + NotifyCursorDisplayChanging(display);
|
| +}
|
| +
|
| void WMHelperAsh::OnAccessibilityModeChanged(
|
| ash::AccessibilityNotificationVisibility notify) {
|
| NotifyAccessibilityModeChanged();
|
|
|