blob: 0a749572379aae7eb4b771448a3db3fa6b8541af [file] [log] [blame]
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01001// Copyright 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#ifndef ASH_SCOPED_TARGET_ROOT_WINDOW_H_
5#define ASH_SCOPED_TARGET_ROOT_WINDOW_H_
6
Torne (Richard Coles)a3f6a492013-12-18 16:25:09 +00007#include "ash/ash_export.h"
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +01008#include "base/basictypes.h"
9
10namespace aura {
Torne (Richard Coles)1e9bf3e2013-10-31 11:16:26 +000011class Window;
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +010012}
13
14namespace ash {
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +010015
16// Constructing a ScopedTargetRootWindow allows temporarily
17// switching a target root window so that a new window gets created
18// in the same window where a user interaction happened.
19// An example usage is to specify the target root window when creating
20// a new window using launcher's icon.
Torne (Richard Coles)a3f6a492013-12-18 16:25:09 +000021class ASH_EXPORT ScopedTargetRootWindow {
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +010022 public:
Torne (Richard Coles)1e9bf3e2013-10-31 11:16:26 +000023 explicit ScopedTargetRootWindow(aura::Window* root_window);
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +010024 ~ScopedTargetRootWindow();
25
26 private:
27 DISALLOW_COPY_AND_ASSIGN(ScopedTargetRootWindow);
28};
29
Torne (Richard Coles)a36e5922013-08-05 13:57:33 +010030} // namespace ash
31
32#endif // ASH_SCOPED_TARGET_ROOT_WINDOW_H_