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
3 // found in the LICENSE file.
4 
5 #include "ash/wm/root_window_layout_manager.h"
6 
7 #include "ui/aura/window.h"
8 #include "ui/aura/window_tracker.h"
9 
10 namespace ash {
11 
12 ////////////////////////////////////////////////////////////////////////////////
13 // RootWindowLayoutManager, public:
14 
RootWindowLayoutManager(aura::Window * owner)15 RootWindowLayoutManager::RootWindowLayoutManager(aura::Window* owner)
16     : owner_(owner) {}
17 
18 RootWindowLayoutManager::~RootWindowLayoutManager() = default;
19 
20 ////////////////////////////////////////////////////////////////////////////////
21 // RootWindowLayoutManager, aura::LayoutManager implementation:
22 
OnWindowResized()23 void RootWindowLayoutManager::OnWindowResized() {
24   gfx::Rect bounds(owner_->bounds().size());
25   for (auto* container : containers_)
26     container->SetBounds(bounds);
27 }
28 
OnWindowAddedToLayout(aura::Window * child)29 void RootWindowLayoutManager::OnWindowAddedToLayout(aura::Window* child) {}
30 
OnWillRemoveWindowFromLayout(aura::Window * child)31 void RootWindowLayoutManager::OnWillRemoveWindowFromLayout(
32     aura::Window* child) {}
33 
OnWindowRemovedFromLayout(aura::Window * child)34 void RootWindowLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) {}
35 
OnChildWindowVisibilityChanged(aura::Window * child,bool visible)36 void RootWindowLayoutManager::OnChildWindowVisibilityChanged(
37     aura::Window* child,
38     bool visible) {}
39 
SetChildBounds(aura::Window * child,const gfx::Rect & requested_bounds)40 void RootWindowLayoutManager::SetChildBounds(
41     aura::Window* child,
42     const gfx::Rect& requested_bounds) {
43   SetChildBoundsDirect(child, requested_bounds);
44 }
45 
AddContainer(aura::Window * window)46 void RootWindowLayoutManager::AddContainer(aura::Window* window) {
47   DCHECK(!window->GetToplevelWindow());
48   containers_.push_back(window);
49 }
50 
51 }  // namespace ash
52