diff options
Diffstat (limited to 'chromium/ui/wm/core/wm_state.cc')
-rw-r--r-- | chromium/ui/wm/core/wm_state.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/chromium/ui/wm/core/wm_state.cc b/chromium/ui/wm/core/wm_state.cc new file mode 100644 index 00000000000..6d580863394 --- /dev/null +++ b/chromium/ui/wm/core/wm_state.cc @@ -0,0 +1,30 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ui/wm/core/wm_state.h" + +#include "ui/events/platform/platform_event_source.h" +#include "ui/wm/core/transient_window_controller.h" +#include "ui/wm/core/transient_window_stacking_client.h" + +namespace wm { + +WMState::WMState() + : window_stacking_client_(new TransientWindowStackingClient), + transient_window_client_(new TransientWindowController) { + aura::client::SetWindowStackingClient(window_stacking_client_.get()); + aura::client::SetTransientWindowClient(transient_window_client_.get()); +} + +WMState::~WMState() { + if (aura::client::GetWindowStackingClient() == window_stacking_client_.get()) + aura::client::SetWindowStackingClient(NULL); + + if (aura::client::GetTransientWindowClient() == + transient_window_client_.get()) { + aura::client::SetTransientWindowClient(NULL); + } +} + +} // namespace wm |