diff options
Diffstat (limited to 'chrome/browser/ui/aura/stacking_client_aura.h')
-rw-r--r-- | chrome/browser/ui/aura/stacking_client_aura.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/chrome/browser/ui/aura/stacking_client_aura.h b/chrome/browser/ui/aura/stacking_client_aura.h new file mode 100644 index 0000000..9bbd5a4 --- /dev/null +++ b/chrome/browser/ui/aura/stacking_client_aura.h @@ -0,0 +1,42 @@ +// Copyright (c) 2012 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. + +#ifndef CHROME_BROWSER_UI_AURA_STACKING_CLIENT_AURA_H_ +#define CHROME_BROWSER_UI_AURA_STACKING_CLIENT_AURA_H_ + +#include "ui/aura/client/stacking_client.h" + +#include "base/basictypes.h" +#include "base/compiler_specific.h" +#include "base/memory/scoped_ptr.h" +#include "chrome/browser/ui/host_desktop.h" + +namespace ash { +class StackingController; +} + +namespace aura { +class DesktopStackingClient; +class Window; +} + +// A stacking client for the two worlds aura, dispatches to either a +// DesktopStackingClient or an ash::StackingController. +class StackingClientAura : public aura::client::StackingClient { + public: + StackingClientAura(); + virtual ~StackingClientAura(); + + // Overridden from client::StackingClient: + virtual aura::Window* GetDefaultParent(aura::Window* context, + aura::Window* window, + const gfx::Rect& bounds) OVERRIDE; + + private: + scoped_ptr<aura::DesktopStackingClient> desktop_stacking_client_; + + DISALLOW_COPY_AND_ASSIGN(StackingClientAura); +}; + +#endif // CHROME_BROWSER_UI_AURA_STACKING_CLIENT_AURA_H_ |