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