Re-land: Create a new views_aura_desktop.
Get views::Widget rendering working against an aura::Window NativeWidget.

http://crbug.com/93944
TEST=none

Original review URL: http://codereview.chromium.org/7741027
Review URL: http://codereview.chromium.org/7747032

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98331 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/aura/desktop.h b/aura/desktop.h
index 1eb89ca..a894e24e 100644
--- a/aura/desktop.h
+++ b/aura/desktop.h
@@ -21,15 +21,19 @@
 
 namespace aura {
 
+class DesktopHost;
 class MouseEvent;
 class Window;
 
 // Desktop is responsible for hosting a set of windows.
 class Desktop {
  public:
-  Desktop(gfx::AcceleratedWidget widget, const gfx::Size& size);
+  Desktop();
   ~Desktop();
 
+  // Shows the desktop host and runs an event loop for it.
+  void Run();
+
   // Draws the necessary set of windows.
   void Draw();
 
@@ -41,11 +45,17 @@
 
   Window* window() { return window_.get(); }
 
+  static Desktop* GetInstance();
+
  private:
   scoped_refptr<ui::Compositor> compositor_;
 
   scoped_ptr<Window> window_;
 
+  DesktopHost* host_;
+
+  static Desktop* instance_;
+
   DISALLOW_COPY_AND_ASSIGN(Desktop);
 };