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

Unified Diff: ash/wm/screen_pinning_controller.cc

Issue 2735983006: Renames WmWindowUserData and converts to using aura (Closed)
Patch Set: =null Created 3 years, 9 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
Index: ash/wm/screen_pinning_controller.cc
diff --git a/ash/wm/screen_pinning_controller.cc b/ash/wm/screen_pinning_controller.cc
index 10f55528a0b490b2a2d7287233e6ba60411774c5..4a708dbf21d3cdd59888858d18a454c806a0ac4a 100644
--- a/ash/wm/screen_pinning_controller.cc
+++ b/ash/wm/screen_pinning_controller.cc
@@ -7,18 +7,20 @@
#include <algorithm>
#include <vector>
+#include "ash/common/window_user_data.h"
#include "ash/common/wm/container_finder.h"
#include "ash/common/wm/window_dimmer.h"
#include "ash/common/wm/window_state.h"
#include "ash/common/wm_window.h"
-#include "ash/common/wm_window_user_data.h"
#include "ash/display/window_tree_host_manager.h"
#include "ash/public/cpp/shell_window_ids.h"
#include "ash/shell.h"
#include "base/auto_reset.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
+#include "ui/aura/window.h"
#include "ui/aura/window_observer.h"
+#include "ui/wm/core/window_util.h"
namespace ash {
namespace {
@@ -30,11 +32,11 @@ std::vector<WmWindow*> GetSystemModalWindowsExceptPinned(
WmWindow* pinned_root = pinned_window->GetRootWindow();
std::vector<WmWindow*> result;
- for (WmWindow* system_modal : wm::GetContainersFromAllRootWindows(
+ for (aura::Window* system_modal : wm::GetContainersFromAllRootWindows(
kShellWindowId_SystemModalContainer)) {
- if (system_modal->GetRootWindow() == pinned_root)
+ if (WmWindow::Get(system_modal)->GetRootWindow() == pinned_root)
continue;
- result.push_back(system_modal);
+ result.push_back(WmWindow::Get(system_modal));
}
return result;
}
@@ -53,6 +55,11 @@ void RemoveObserverFromChildren(WmWindow* container,
}
}
+// Returns true if the aura::Window from a WindowDimmer is visible.
+bool IsWindowDimmerWindowVisible(WindowDimmer* window_dimmer) {
+ return window_dimmer->window()->layer()->GetTargetVisibility();
+}
+
} // namespace
// Adapter to fire OnPinnedContainerWindowStackingChanged().
@@ -142,7 +149,7 @@ class ScreenPinningController::SystemModalContainerWindowObserver
ScreenPinningController::ScreenPinningController(
WindowTreeHostManager* window_tree_host_manager)
- : window_dimmers_(base::MakeUnique<WmWindowUserData<WindowDimmer>>()),
+ : window_dimmers_(base::MakeUnique<WindowUserData<WindowDimmer>>()),
window_tree_host_manager_(window_tree_host_manager),
pinned_container_window_observer_(
base::MakeUnique<PinnedContainerWindowObserver>(this)),
@@ -252,7 +259,7 @@ void ScreenPinningController::OnPinnedContainerWindowStackingChanged(
void ScreenPinningController::OnWindowAddedToSystemModalContainer(
WmWindow* new_window) {
- KeepDimWindowAtBottom(new_window->GetParent());
+ KeepDimWindowAtBottom(new_window->GetParent()->aura_window());
WmWindow::GetAuraWindow(new_window)
->AddObserver(system_modal_container_child_window_observer_.get());
}
@@ -265,17 +272,17 @@ void ScreenPinningController::OnWillRemoveWindowFromSystemModalContainer(
void ScreenPinningController::OnSystemModalContainerWindowStackingChanged(
WmWindow* window) {
- KeepDimWindowAtBottom(window->GetParent());
+ KeepDimWindowAtBottom(window->GetParent()->aura_window());
}
WmWindow* ScreenPinningController::CreateWindowDimmer(WmWindow* container) {
std::unique_ptr<WindowDimmer> window_dimmer =
- base::MakeUnique<WindowDimmer>(container);
+ base::MakeUnique<WindowDimmer>(container->aura_window());
window_dimmer->SetDimOpacity(1); // Fully opaque.
- window_dimmer->window()->SetFullscreen(true);
+ ::wm::SetWindowFullscreen(window_dimmer->window(), true);
window_dimmer->window()->Show();
- WmWindow* window = window_dimmer->window();
- window_dimmers_->Set(container, std::move(window_dimmer));
+ WmWindow* window = WmWindow::Get(window_dimmer->window());
+ window_dimmers_->Set(container->aura_window(), std::move(window_dimmer));
return window;
}
@@ -292,9 +299,9 @@ void ScreenPinningController::OnDisplayConfigurationChanged() {
// WindowDimmer. So create it.
// First, delete unnecessary WindowDimmers.
- for (WmWindow* container : window_dimmers_->GetWindows()) {
- if (container != pinned_window_->GetParent() &&
- !window_dimmers_->Get(container)->window()->GetTargetVisibility()) {
+ for (aura::Window* container : window_dimmers_->GetWindows()) {
+ if (container != pinned_window_->GetParent()->aura_window() &&
+ !IsWindowDimmerWindowVisible(window_dimmers_->Get(container))) {
window_dimmers_->Set(container, nullptr);
}
}
@@ -303,7 +310,7 @@ void ScreenPinningController::OnDisplayConfigurationChanged() {
std::vector<WmWindow*> system_modal_containers =
GetSystemModalWindowsExceptPinned(pinned_window_);
for (WmWindow* system_modal : system_modal_containers) {
- if (window_dimmers_->Get(system_modal)) {
+ if (window_dimmers_->Get(system_modal->aura_window())) {
// |system_modal| already has a WindowDimmer.
continue;
}
@@ -326,12 +333,15 @@ void ScreenPinningController::KeepPinnedWindowOnTop() {
base::AutoReset<bool> auto_reset(&in_restacking_, true);
WmWindow* container = pinned_window_->GetParent();
container->StackChildAtTop(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_);
+ 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_);
+ }
}
-void ScreenPinningController::KeepDimWindowAtBottom(WmWindow* container) {
+void ScreenPinningController::KeepDimWindowAtBottom(aura::Window* container) {
if (in_restacking_)
return;

Powered by Google App Engine
This is Rietveld 408576698