1// Copyright (c) 2013 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 "ui/wm/core/wm_state.h" 6 7#include "ui/events/platform/platform_event_source.h" 8#include "ui/wm/core/transient_window_controller.h" 9#include "ui/wm/core/transient_window_stacking_client.h" 10 11namespace wm { 12 13WMState::WMState() 14 : window_stacking_client_(new TransientWindowStackingClient), 15 transient_window_client_(new TransientWindowController) { 16 aura::client::SetWindowStackingClient(window_stacking_client_.get()); 17 aura::client::SetTransientWindowClient(transient_window_client_.get()); 18} 19 20WMState::~WMState() { 21 if (aura::client::GetWindowStackingClient() == window_stacking_client_.get()) 22 aura::client::SetWindowStackingClient(NULL); 23 24 if (aura::client::GetTransientWindowClient() == 25 transient_window_client_.get()) { 26 aura::client::SetTransientWindowClient(NULL); 27 } 28} 29 30} // namespace wm 31