1f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)// found in the LICENSE file.
4f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
5f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#include "ui/wm/core/transient_window_controller.h"
6f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
7f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)#include "ui/wm/core/transient_window_manager.h"
8f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
9f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)namespace wm {
10f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
11f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)TransientWindowController::TransientWindowController() {
12f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}
13f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
14f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)TransientWindowController::~TransientWindowController() {
15f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}
16f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
17f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)void TransientWindowController::AddTransientChild(aura::Window* parent,
18f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)                                                  aura::Window* child) {
19f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)  TransientWindowManager::Get(parent)->AddTransientChild(child);
20f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}
21f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
22f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)void TransientWindowController::RemoveTransientChild(aura::Window* parent,
23f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)                                                     aura::Window* child) {
24f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)  TransientWindowManager::Get(parent)->RemoveTransientChild(child);
25f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}
26f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
27f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)aura::Window* TransientWindowController::GetTransientParent(
28f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)    aura::Window* window) {
29f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)  return const_cast<aura::Window*>(GetTransientParent(
30f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)      const_cast<const aura::Window*>(window)));
31f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}
32f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
33f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)const aura::Window* TransientWindowController::GetTransientParent(
34f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)    const aura::Window* window) {
35f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)  const TransientWindowManager* window_manager =
36f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)      TransientWindowManager::Get(window);
37f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)  return window_manager ? window_manager->transient_parent() : NULL;
38f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}
39f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)
40f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)}  // namespace wm
41f4ed1cf5d184064c4cf0e4359c6d5d8aadb50afaTorne (Richard Coles)