1// Copyright 2014 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#ifndef UI_WM_CORE_TRANSIENT_WINDOW_CONTROLLER_H_
6#define UI_WM_CORE_TRANSIENT_WINDOW_CONTROLLER_H_
7
8#include "ui/wm/public/transient_window_client.h"
9#include "ui/wm/wm_export.h"
10
11namespace wm {
12
13// TransientWindowClient implementation. Uses TransientWindowManager to handle
14// tracking transient per window.
15class WM_EXPORT TransientWindowController
16    : public aura::client::TransientWindowClient {
17 public:
18  TransientWindowController();
19  virtual ~TransientWindowController();
20
21  // TransientWindowClient:
22  virtual void AddTransientChild(aura::Window* parent,
23                                 aura::Window* child) OVERRIDE;
24  virtual void RemoveTransientChild(aura::Window* parent,
25                                    aura::Window* child) OVERRIDE;
26  virtual aura::Window* GetTransientParent(aura::Window* window) OVERRIDE;
27  virtual const aura::Window* GetTransientParent(
28      const aura::Window* window) OVERRIDE;
29
30 private:
31  DISALLOW_COPY_AND_ASSIGN(TransientWindowController);
32};
33
34}  // namespace wm
35
36#endif  // UI_WM_CORE_TRANSIENT_WINDOW_CONTROLLER_H_
37