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)