Index: chrome/browser/ui/host_desktop.h |
diff --git a/chrome/browser/ui/host_desktop.h b/chrome/browser/ui/host_desktop.h |
index 2476ae635c4b69119bbf9eeb768c552f5f9f4fda..9cd6f44a1f49c9bca741dadc67515ee93dea15a9 100644 |
--- a/chrome/browser/ui/host_desktop.h |
+++ b/chrome/browser/ui/host_desktop.h |
@@ -5,14 +5,20 @@ |
#ifndef CHROME_BROWSER_UI_HOST_DESKTOP_H_ |
#define CHROME_BROWSER_UI_HOST_DESKTOP_H_ |
+#include "ui/gfx/native_widget_types.h" |
+ |
+class Browser; |
+ |
namespace chrome { |
// A value that specifies what desktop environment hosts a particular piece of |
// UI. |
// Note that HOST_DESKTOP_TYPE_ASH is always used on ChromeOS. |
enum HostDesktopType { |
+ HOST_DESKTOP_TYPE_FIRST = 0, |
+ |
// The UI is hosted on the system native desktop. |
- HOST_DESKTOP_TYPE_NATIVE = 0, |
+ HOST_DESKTOP_TYPE_NATIVE = HOST_DESKTOP_TYPE_FIRST, |
// The UI is hosted in the synthetic Ash desktop. |
#if defined(OS_CHROMEOS) |
@@ -24,13 +30,24 @@ enum HostDesktopType { |
HOST_DESKTOP_TYPE_COUNT |
}; |
-/* |
-TODO(beng): implement utilities as needed, e.g.: |
-HostDesktopType GetActiveDesktop(); |
+class ScopedForceDesktopType { |
+ public: |
+ explicit ScopedForceDesktopType(HostDesktopType type); |
+ ~ScopedForceDesktopType(); |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(ScopedForceDesktopType); |
+ HostDesktopType previous_type_; |
+ bool previous_force_; |
+}; |
+ |
HostDesktopType GetHostDesktopTypeForNativeView(gfx::NativeView native_view); |
HostDesktopType GetHostDesktopTypeForNativeWindow( |
gfx::NativeWindow native_window); |
-HostDesktopType GetHostDesktopTypeForBrowser(Browser* browser); |
+HostDesktopType GetHostDesktopTypeForBrowser(const Browser* browser); |
+ |
+/* |
+TODO(beng): implement utilities as needed, e.g.: |
+HostDesktopType GetActiveDesktop(); |
*/ |
} // namespace chrome |