| 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..b32b031c7de5039b6f2d9c5fc2dbb2be06dafeb0 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,25 @@ enum HostDesktopType {
|
| HOST_DESKTOP_TYPE_COUNT
|
| };
|
|
|
| -/*
|
| -TODO(beng): implement utilities as needed, e.g.:
|
| -HostDesktopType GetActiveDesktop();
|
| +// Used during initialization to override parenting.
|
| +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
|
|
|