blob: 89410d8241f2a10db8ea814fb67339d57e8708c8 [file] [log] [blame]
// 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/capture_controller.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),
capture_controller_(std::make_unique<CaptureController>()) {
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