Index: aura/desktop.h |
diff --git a/aura/desktop.h b/aura/desktop.h |
index 3d292aff62894b98a1bc98a14d71a60bdfc66220..67ec08f4bd4105cfea4de3041b725294640fdb57 100644 |
--- a/aura/desktop.h |
+++ b/aura/desktop.h |
@@ -10,15 +10,15 @@ |
#include "aura/aura_export.h" |
#include "base/basictypes.h" |
#include "base/memory/ref_counted.h" |
+#include "base/task.h" |
+#include "ui/gfx/compositor/compositor.h" |
#include "ui/gfx/native_widget_types.h" |
namespace gfx { |
class Size; |
} |
-namespace ui { |
-class Compositor; |
-} |
+class MessageLoop; |
namespace aura { |
@@ -26,7 +26,7 @@ class DesktopHost; |
class MouseEvent; |
// Desktop is responsible for hosting a set of windows. |
-class AURA_EXPORT Desktop { |
+class AURA_EXPORT Desktop : public ui::CompositorDelegate { |
public: |
Desktop(); |
~Desktop(); |
@@ -57,6 +57,9 @@ class AURA_EXPORT Desktop { |
static Desktop* GetInstance(); |
private: |
+ // Overridden from ui::CompositorDelegate |
+ virtual void ScheduleCompositorPaint(); |
+ |
scoped_refptr<ui::Compositor> compositor_; |
scoped_ptr<internal::RootWindow> window_; |
@@ -65,6 +68,12 @@ class AURA_EXPORT Desktop { |
static Desktop* instance_; |
+ // Used to schedule painting. |
+ ScopedRunnableMethodFactory<Desktop> schedule_paint_; |
+ |
+ // The main message loop. |
+ scoped_ptr<MessageLoop> main_loop_; |
+ |
DISALLOW_COPY_AND_ASSIGN(Desktop); |
}; |