Index: ash/wm/screen_pinning_controller.cc |
diff --git a/ash/wm/screen_pinning_controller.cc b/ash/wm/screen_pinning_controller.cc |
index a4658d88f61b44360d5b9da3dbf8023d8d7c0800..06ccf1cd590e29f675b28420b6355f914a8fc21b 100644 |
--- a/ash/wm/screen_pinning_controller.cc |
+++ b/ash/wm/screen_pinning_controller.cc |
@@ -25,34 +25,32 @@ |
namespace ash { |
namespace { |
-// Returns a list of WmWindows corresponding to SystemModalContainers, |
+// Returns a list of Windows corresponding to SystemModalContainers, |
// except ones whose root is shared with |pinned_window|. |
-std::vector<WmWindow*> GetSystemModalWindowsExceptPinned( |
- WmWindow* pinned_window) { |
- WmWindow* pinned_root = pinned_window->GetRootWindow(); |
+aura::Window::Windows GetSystemModalWindowsExceptPinned( |
+ aura::Window* pinned_window) { |
+ aura::Window* pinned_root = pinned_window->GetRootWindow(); |
- std::vector<WmWindow*> result; |
+ aura::Window::Windows result; |
for (aura::Window* system_modal : wm::GetContainersFromAllRootWindows( |
kShellWindowId_SystemModalContainer)) { |
- if (WmWindow::Get(system_modal)->GetRootWindow() == pinned_root) |
+ if (system_modal->GetRootWindow() == pinned_root) |
continue; |
- result.push_back(WmWindow::Get(system_modal)); |
+ result.push_back(system_modal); |
} |
return result; |
} |
-void AddObserverToChildren(WmWindow* container, |
+void AddObserverToChildren(aura::Window* container, |
aura::WindowObserver* observer) { |
- for (WmWindow* child : container->GetChildren()) { |
- WmWindow::GetAuraWindow(child)->AddObserver(observer); |
- } |
+ for (aura::Window* child : container->children()) |
+ child->AddObserver(observer); |
} |
-void RemoveObserverFromChildren(WmWindow* container, |
+void RemoveObserverFromChildren(aura::Window* container, |
aura::WindowObserver* observer) { |
- for (WmWindow* child : container->GetChildren()) { |
- WmWindow::GetAuraWindow(child)->RemoveObserver(observer); |
- } |
+ for (aura::Window* child : container->children()) |
+ child->RemoveObserver(observer); |
} |
// Returns true if the aura::Window from a WindowDimmer is visible. |
@@ -71,7 +69,7 @@ class ScreenPinningController::PinnedContainerChildWindowObserver |
: controller_(controller) {} |
void OnWindowStackingChanged(aura::Window* window) override { |
- controller_->OnPinnedContainerWindowStackingChanged(WmWindow::Get(window)); |
+ controller_->OnPinnedContainerWindowStackingChanged(window); |
} |
private: |
@@ -88,10 +86,10 @@ class ScreenPinningController::PinnedContainerWindowObserver |
: controller_(controller) {} |
void OnWindowAdded(aura::Window* new_window) override { |
- controller_->OnWindowAddedToPinnedContainer(WmWindow::Get(new_window)); |
+ controller_->OnWindowAddedToPinnedContainer(new_window); |
} |
void OnWillRemoveWindow(aura::Window* window) override { |
- controller_->OnWillRemoveWindowFromPinnedContainer(WmWindow::Get(window)); |
+ controller_->OnWillRemoveWindowFromPinnedContainer(window); |
} |
void OnWindowDestroying(aura::Window* window) override { |
// Just in case. There is nothing we can do here. |
@@ -112,8 +110,7 @@ class ScreenPinningController::SystemModalContainerChildWindowObserver |
: controller_(controller) {} |
void OnWindowStackingChanged(aura::Window* window) override { |
- controller_->OnSystemModalContainerWindowStackingChanged( |
- WmWindow::Get(window)); |
+ controller_->OnSystemModalContainerWindowStackingChanged(window); |
} |
private: |
@@ -131,11 +128,10 @@ class ScreenPinningController::SystemModalContainerWindowObserver |
: controller_(controller) {} |
void OnWindowAdded(aura::Window* new_window) override { |
- controller_->OnWindowAddedToSystemModalContainer(WmWindow::Get(new_window)); |
+ controller_->OnWindowAddedToSystemModalContainer(new_window); |
} |
void OnWillRemoveWindow(aura::Window* window) override { |
- controller_->OnWillRemoveWindowFromSystemModalContainer( |
- WmWindow::Get(window)); |
+ controller_->OnWillRemoveWindowFromSystemModalContainer(window); |
} |
void OnWindowDestroying(aura::Window* window) override { |
// Just in case. There is nothing we can do here. |
@@ -168,16 +164,16 @@ bool ScreenPinningController::IsPinned() const { |
return pinned_window_ != nullptr; |
} |
-void ScreenPinningController::SetPinnedWindow(WmWindow* pinned_window) { |
- if (pinned_window->GetWindowState()->IsPinned()) { |
+void ScreenPinningController::SetPinnedWindow(aura::Window* pinned_window) { |
+ if (wm::GetWindowState(pinned_window)->IsPinned()) { |
if (pinned_window_) { |
LOG(DFATAL) << "Pinned mode is enabled, while it is already in " |
<< "the pinned mode"; |
return; |
} |
- WmWindow* container = pinned_window->GetParent(); |
- std::vector<WmWindow*> system_modal_containers = |
+ aura::Window* container = pinned_window->parent(); |
+ aura::Window::Windows system_modal_containers = |
GetSystemModalWindowsExceptPinned(pinned_window); |
// Set up the container which has the pinned window. |
@@ -187,17 +183,15 @@ void ScreenPinningController::SetPinnedWindow(WmWindow* pinned_window) { |
// Set the dim windows to the system containers, other than the one which |
// the root window of the pinned window holds. |
- for (WmWindow* system_modal : system_modal_containers) |
+ for (aura::Window* system_modal : system_modal_containers) |
system_modal->StackChildAtBottom(CreateWindowDimmer(system_modal)); |
// Set observers. |
- WmWindow::GetAuraWindow(container)->AddObserver( |
- pinned_container_window_observer_.get()); |
+ container->AddObserver(pinned_container_window_observer_.get()); |
AddObserverToChildren(container, |
pinned_container_child_window_observer_.get()); |
- for (WmWindow* system_modal : system_modal_containers) { |
- WmWindow::GetAuraWindow(system_modal) |
- ->AddObserver(system_modal_container_window_observer_.get()); |
+ for (aura::Window* system_modal : system_modal_containers) { |
+ system_modal->AddObserver(system_modal_container_window_observer_.get()); |
AddObserverToChildren( |
system_modal, system_modal_container_child_window_observer_.get()); |
} |
@@ -208,25 +202,23 @@ void ScreenPinningController::SetPinnedWindow(WmWindow* pinned_window) { |
return; |
} |
- WmWindow* container = pinned_window->GetParent(); |
- std::vector<WmWindow*> system_modal_containers = |
+ aura::Window* container = pinned_window->parent(); |
+ aura::Window::Windows system_modal_containers = |
GetSystemModalWindowsExceptPinned(pinned_window_); |
// Unset observers. |
- for (WmWindow* system_modal : |
+ for (aura::Window* system_modal : |
GetSystemModalWindowsExceptPinned(pinned_window_)) { |
RemoveObserverFromChildren( |
system_modal, system_modal_container_child_window_observer_.get()); |
- WmWindow::GetAuraWindow(system_modal) |
- ->RemoveObserver(system_modal_container_window_observer_.get()); |
+ system_modal->RemoveObserver( |
+ system_modal_container_window_observer_.get()); |
} |
RemoveObserverFromChildren(container, |
pinned_container_child_window_observer_.get()); |
- WmWindow::GetAuraWindow(container)->RemoveObserver( |
- pinned_container_window_observer_.get()); |
+ container->RemoveObserver(pinned_container_window_observer_.get()); |
window_dimmers_->clear(); |
- |
pinned_window_ = nullptr; |
} |
@@ -234,53 +226,50 @@ void ScreenPinningController::SetPinnedWindow(WmWindow* pinned_window) { |
} |
void ScreenPinningController::OnWindowAddedToPinnedContainer( |
- WmWindow* new_window) { |
+ aura::Window* new_window) { |
KeepPinnedWindowOnTop(); |
- WmWindow::GetAuraWindow(new_window) |
- ->AddObserver(pinned_container_child_window_observer_.get()); |
+ new_window->AddObserver(pinned_container_child_window_observer_.get()); |
} |
void ScreenPinningController::OnWillRemoveWindowFromPinnedContainer( |
- WmWindow* window) { |
- WmWindow::GetAuraWindow(window)->RemoveObserver( |
- pinned_container_child_window_observer_.get()); |
+ aura::Window* window) { |
+ window->RemoveObserver(pinned_container_child_window_observer_.get()); |
if (window == pinned_window_) { |
- pinned_window_->GetWindowState()->Restore(); |
+ wm::GetWindowState(pinned_window_)->Restore(); |
return; |
} |
} |
void ScreenPinningController::OnPinnedContainerWindowStackingChanged( |
- WmWindow* window) { |
+ aura::Window* window) { |
KeepPinnedWindowOnTop(); |
} |
void ScreenPinningController::OnWindowAddedToSystemModalContainer( |
- WmWindow* new_window) { |
- KeepDimWindowAtBottom(new_window->GetParent()->aura_window()); |
- WmWindow::GetAuraWindow(new_window) |
- ->AddObserver(system_modal_container_child_window_observer_.get()); |
+ aura::Window* new_window) { |
+ KeepDimWindowAtBottom(new_window->parent()); |
+ new_window->AddObserver(system_modal_container_child_window_observer_.get()); |
} |
void ScreenPinningController::OnWillRemoveWindowFromSystemModalContainer( |
- WmWindow* window) { |
- WmWindow::GetAuraWindow(window)->RemoveObserver( |
- system_modal_container_child_window_observer_.get()); |
+ aura::Window* window) { |
+ window->RemoveObserver(system_modal_container_child_window_observer_.get()); |
} |
void ScreenPinningController::OnSystemModalContainerWindowStackingChanged( |
- WmWindow* window) { |
- KeepDimWindowAtBottom(window->GetParent()->aura_window()); |
+ aura::Window* window) { |
+ KeepDimWindowAtBottom(window->parent()); |
} |
-WmWindow* ScreenPinningController::CreateWindowDimmer(WmWindow* container) { |
+aura::Window* ScreenPinningController::CreateWindowDimmer( |
+ aura::Window* container) { |
std::unique_ptr<WindowDimmer> window_dimmer = |
- base::MakeUnique<WindowDimmer>(container->aura_window()); |
+ base::MakeUnique<WindowDimmer>(container); |
window_dimmer->SetDimOpacity(1); // Fully opaque. |
::wm::SetWindowFullscreen(window_dimmer->window(), true); |
window_dimmer->window()->Show(); |
- WmWindow* window = WmWindow::Get(window_dimmer->window()); |
- window_dimmers_->Set(container->aura_window(), std::move(window_dimmer)); |
+ aura::Window* window = window_dimmer->window(); |
+ window_dimmers_->Set(container, std::move(window_dimmer)); |
return window; |
} |
@@ -298,17 +287,17 @@ void ScreenPinningController::OnDisplayConfigurationChanged() { |
// First, delete unnecessary WindowDimmers. |
for (aura::Window* container : window_dimmers_->GetWindows()) { |
- if (container != pinned_window_->GetParent()->aura_window() && |
+ if (container != pinned_window_->parent() && |
!IsWindowDimmerWindowVisible(window_dimmers_->Get(container))) { |
window_dimmers_->Set(container, nullptr); |
} |
} |
// Then, create missing WindowDimmers. |
- std::vector<WmWindow*> system_modal_containers = |
+ aura::Window::Windows system_modal_containers = |
GetSystemModalWindowsExceptPinned(pinned_window_); |
- for (WmWindow* system_modal : system_modal_containers) { |
- if (window_dimmers_->Get(system_modal->aura_window())) { |
+ for (aura::Window* system_modal : system_modal_containers) { |
+ if (window_dimmers_->Get(system_modal)) { |
// |system_modal| already has a WindowDimmer. |
continue; |
} |
@@ -317,8 +306,7 @@ void ScreenPinningController::OnDisplayConfigurationChanged() { |
system_modal->StackChildAtBottom(CreateWindowDimmer(system_modal)); |
// Set observers to the tree. |
- WmWindow::GetAuraWindow(system_modal) |
- ->AddObserver(system_modal_container_window_observer_.get()); |
+ system_modal->AddObserver(system_modal_container_window_observer_.get()); |
AddObserverToChildren(system_modal, |
system_modal_container_child_window_observer_.get()); |
} |
@@ -329,14 +317,11 @@ void ScreenPinningController::KeepPinnedWindowOnTop() { |
return; |
base::AutoReset<bool> auto_reset(&in_restacking_, true); |
- WmWindow* container = pinned_window_->GetParent(); |
+ aura::Window* container = pinned_window_->parent(); |
container->StackChildAtTop(pinned_window_); |
- WindowDimmer* pinned_window_dimmer = |
- window_dimmers_->Get(container->aura_window()); |
- if (pinned_window_dimmer && pinned_window_dimmer->window()) { |
- container->StackChildBelow(WmWindow::Get(pinned_window_dimmer->window()), |
- pinned_window_); |
- } |
+ WindowDimmer* pinned_window_dimmer = window_dimmers_->Get(container); |
+ if (pinned_window_dimmer && pinned_window_dimmer->window()) |
+ container->StackChildBelow(pinned_window_dimmer->window(), pinned_window_); |
} |
void ScreenPinningController::KeepDimWindowAtBottom(aura::Window* container) { |