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. 4 5#ifndef CHROME_BROWSER_UI_HOST_DESKTOP_H_ 6#define CHROME_BROWSER_UI_HOST_DESKTOP_H_ 7 8#include "ui/gfx/native_widget_types.h" 9 10class Browser; 11 12namespace chrome { 13 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 17// HostDesktopType: 18// http://sites.google.com/a/chromium.org/dev/developers/design-documents/aura/multi-desktop 19enum HostDesktopType { 20 HOST_DESKTOP_TYPE_FIRST = 0, 21 22 // The UI is hosted on the system native desktop. 23 HOST_DESKTOP_TYPE_NATIVE = HOST_DESKTOP_TYPE_FIRST, 24 25 // The UI is hosted in the synthetic Ash desktop. 26#if defined(OS_CHROMEOS) 27 HOST_DESKTOP_TYPE_ASH = HOST_DESKTOP_TYPE_NATIVE, 28#else 29 HOST_DESKTOP_TYPE_ASH, 30#endif 31 32 HOST_DESKTOP_TYPE_COUNT 33}; 34 35HostDesktopType GetHostDesktopTypeForNativeView(gfx::NativeView native_view); 36HostDesktopType GetHostDesktopTypeForNativeWindow( 37 gfx::NativeWindow native_window); 38 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 44HostDesktopType GetActiveDesktop(); 45 46} // namespace chrome 47 48#endif // CHROME_BROWSER_UI_HOST_DESKTOP_H_ 49