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

Unified Diff: ash/wm_window.cc

Issue 2901663003: chromeos: converts WindowState to aura::Window (Closed)
Patch Set: feedback Created 3 years, 7 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/wm_window.h ('k') | chrome/browser/ui/ash/accelerator_commands_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm_window.cc
diff --git a/ash/wm_window.cc b/ash/wm_window.cc
index 54bded7f35d7e454d64ef89e2c8717eb30375827..164bb7f1837957d101a7c82a51dc478374238684 100644
--- a/ash/wm_window.cc
+++ b/ash/wm_window.cc
@@ -48,40 +48,12 @@
DECLARE_UI_CLASS_PROPERTY_TYPE(ash::WmWindow*);
namespace ash {
-
+namespace {
DEFINE_OWNED_UI_CLASS_PROPERTY_KEY(WmWindow, kWmWindowKey, nullptr);
static_assert(aura::Window::kInitialId == kShellWindowId_Invalid,
"ids must match");
-namespace {
-
-// A tentative class to set the bounds on the window.
-// TODO(oshima): Once all logic is cleaned up, move this to the real layout
-// manager with proper friendship.
-class BoundsSetter : public aura::LayoutManager {
- public:
- BoundsSetter() {}
- ~BoundsSetter() override {}
-
- // aura::LayoutManager overrides:
- void OnWindowResized() override {}
- void OnWindowAddedToLayout(aura::Window* child) override {}
- void OnWillRemoveWindowFromLayout(aura::Window* child) override {}
- void OnWindowRemovedFromLayout(aura::Window* child) override {}
- void OnChildWindowVisibilityChanged(aura::Window* child,
- bool visible) override {}
- void SetChildBounds(aura::Window* child,
- const gfx::Rect& requested_bounds) override {}
-
- void SetBounds(aura::Window* window, const gfx::Rect& bounds) {
- SetChildBoundsDirect(window, bounds);
- }
-
- private:
- DISALLOW_COPY_AND_ASSIGN(BoundsSetter);
-};
-
} // namespace
// static
@@ -90,8 +62,6 @@ bool WmWindow::default_use_empty_minimum_size_for_testing_ = false;
WmWindow::~WmWindow() {
if (added_transient_observer_)
::wm::TransientWindowManager::Get(window_)->RemoveObserver(this);
-
- window_->RemoveObserver(this);
}
// static
@@ -356,50 +326,6 @@ void WmWindow::SetBoundsWithTransitionDelay(const gfx::Rect& bounds,
window_->SetBounds(bounds);
}
-void WmWindow::SetBoundsDirect(const gfx::Rect& bounds) {
- BoundsSetter().SetBounds(window_, bounds);
- wm::SnapWindowToPixelBoundary(window_);
-}
-
-void WmWindow::SetBoundsDirectAnimated(const gfx::Rect& bounds) {
- const int kBoundsChangeSlideDurationMs = 120;
-
- ui::Layer* layer = window_->layer();
- ui::ScopedLayerAnimationSettings slide_settings(layer->GetAnimator());
- slide_settings.SetPreemptionStrategy(
- ui::LayerAnimator::IMMEDIATELY_ANIMATE_TO_NEW_TARGET);
- slide_settings.SetTransitionDuration(
- base::TimeDelta::FromMilliseconds(kBoundsChangeSlideDurationMs));
- SetBoundsDirect(bounds);
-}
-
-void WmWindow::SetBoundsDirectCrossFade(const gfx::Rect& bounds) {
- const gfx::Rect old_bounds = window_->bounds();
-
- // Create fresh layers for the window and all its children to paint into.
- // Takes ownership of the old layer and all its children, which will be
- // cleaned up after the animation completes.
- // Specify |set_bounds| to true here to keep the old bounds in the child
- // windows of |window|.
- std::unique_ptr<ui::LayerTreeOwner> old_layer_owner =
- ::wm::RecreateLayers(window_);
- ui::Layer* old_layer = old_layer_owner->root();
- DCHECK(old_layer);
- ui::Layer* new_layer = window_->layer();
-
- // Resize the window to the new size, which will force a layout and paint.
- SetBoundsDirect(bounds);
-
- // Ensure the higher-resolution layer is on top.
- bool old_on_top = (old_bounds.width() > bounds.width());
- if (old_on_top)
- old_layer->parent()->StackBelow(new_layer, old_layer);
- else
- old_layer->parent()->StackAbove(new_layer, old_layer);
-
- CrossFadeAnimation(window_, std::move(old_layer_owner), gfx::Tween::EASE_OUT);
-}
-
void WmWindow::SetBoundsInScreen(const gfx::Rect& bounds_in_screen,
const display::Display& dst_display) {
window_->SetBoundsInScreen(bounds_in_screen, dst_display);
@@ -451,18 +377,6 @@ void WmWindow::SetPreFullscreenShowState(ui::WindowShowState show_state) {
window_->SetProperty(aura::client::kPreFullscreenShowStateKey, show_state);
}
-void WmWindow::SetRestoreOverrides(const gfx::Rect& bounds_override,
- ui::WindowShowState window_state_override) {
- if (bounds_override.IsEmpty()) {
- window_->ClearProperty(kRestoreShowStateOverrideKey);
- window_->ClearProperty(kRestoreBoundsOverrideKey);
- return;
- }
- window_->SetProperty(kRestoreShowStateOverrideKey, window_state_override);
- window_->SetProperty(kRestoreBoundsOverrideKey,
- new gfx::Rect(bounds_override));
-}
-
void WmWindow::SetLockedToRoot(bool value) {
window_->SetProperty(kLockedToRootKey, value);
}
@@ -696,28 +610,9 @@ WmWindow::WmWindow(aura::Window* window)
: window_(window),
use_empty_minimum_size_for_testing_(
default_use_empty_minimum_size_for_testing_) {
- window_->AddObserver(this);
window_->SetProperty(kWmWindowKey, this);
}
-void WmWindow::OnWindowPropertyChanged(aura::Window* window,
- const void* key,
- intptr_t old) {
- if (key == aura::client::kShowStateKey) {
- ash::wm::GetWindowState(window_)->OnWindowShowStateChanged();
- return;
- }
- if (key == aura::client::kImmersiveFullscreenKey) {
- bool enable = window_->GetProperty(aura::client::kImmersiveFullscreenKey);
- GetWindowState()->set_in_immersive_fullscreen(enable);
- return;
- }
- if (key == kWindowPinTypeKey) {
- ash::wm::GetWindowState(window_)->OnWindowPinTypeChanged();
- return;
- }
-}
-
void WmWindow::OnTransientChildAdded(aura::Window* window,
aura::Window* transient) {
for (auto& observer : transient_observers_)
« no previous file with comments | « ash/wm_window.h ('k') | chrome/browser/ui/ash/accelerator_commands_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698