1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_UI_HOST_DESKTOP_H_
6 #define CHROME_BROWSER_UI_HOST_DESKTOP_H_
8 #include "ui/gfx/native_widget_types.h"
14 // A value that specifies what desktop environment hosts a particular piece of
15 // UI. You should almost never manually hardcode one of these enums manually,
16 // please refer to the following document for details on getting the right
18 // http://sites.google.com/a/chromium.org/dev/developers/design-documents/aura/multi-desktop
19 enum HostDesktopType
{
20 HOST_DESKTOP_TYPE_FIRST
= 0,
22 // The UI is hosted on the system native desktop.
23 HOST_DESKTOP_TYPE_NATIVE
= HOST_DESKTOP_TYPE_FIRST
,
25 // The UI is hosted in the synthetic Ash desktop.
26 #if defined(OS_CHROMEOS)
27 HOST_DESKTOP_TYPE_ASH
= HOST_DESKTOP_TYPE_NATIVE
,
29 HOST_DESKTOP_TYPE_ASH
,
32 HOST_DESKTOP_TYPE_COUNT
35 HostDesktopType
GetHostDesktopTypeForNativeView(gfx::NativeView native_view
);
36 HostDesktopType
GetHostDesktopTypeForNativeWindow(
37 gfx::NativeWindow native_window
);
39 // Returns the type of host desktop most likely to be in use. This is the one
40 // most recently activated by the user.
41 // You should almost never use this outside of tests, please refer to the
42 // following document for details on getting the right HostDesktopType:
43 // http://sites.google.com/a/chromium.org/dev/developers/design-documents/aura/multi-desktop
44 HostDesktopType
GetActiveDesktop();
48 #endif // CHROME_BROWSER_UI_HOST_DESKTOP_H_