Index: content/browser/aura/software_browser_compositor_output_surface.h |
diff --git a/content/browser/aura/software_browser_compositor_output_surface.h b/content/browser/aura/software_browser_compositor_output_surface.h |
index ac499da5eb2c75fdc82ef8e6b618e885ead75aff..758001db16ac32de6279079178bc3d5ed235afff 100644 |
--- a/content/browser/aura/software_browser_compositor_output_surface.h |
+++ b/content/browser/aura/software_browser_compositor_output_surface.h |
@@ -5,27 +5,49 @@ |
#ifndef CONTENT_BROWSER_AURA_SOFTWARE_OUTPUT_SURFACE_H_ |
#define CONTENT_BROWSER_AURA_SOFTWARE_OUTPUT_SURFACE_H_ |
+#include "base/memory/weak_ptr.h" |
#include "cc/output/output_surface.h" |
+#include "ui/compositor/compositor.h" |
-namespace cc { class SoftwareOutputDevice; } |
+namespace base { |
+class MessageLoopProxy; |
+} |
+ |
+namespace cc { |
+class SoftwareOutputDevice; |
+} |
namespace content { |
+class VSyncListener; |
+ |
// TODO(danakj): Inherit from BrowserCompositorOutputSurface to share stuff like |
// reflectors, when we split the GL-specific stuff out of the class. |
class SoftwareBrowserCompositorOutputSurface : public cc::OutputSurface { |
public: |
static scoped_ptr<SoftwareBrowserCompositorOutputSurface> Create( |
- scoped_ptr<cc::SoftwareOutputDevice> software_device) { |
+ scoped_ptr<cc::SoftwareOutputDevice> software_device, |
+ base::MessageLoopProxy* compositor_message_loop, |
+ base::WeakPtr<ui::Compositor> compositor) { |
return make_scoped_ptr( |
- new SoftwareBrowserCompositorOutputSurface(software_device.Pass())); |
+ new SoftwareBrowserCompositorOutputSurface(software_device.Pass(), |
+ compositor_message_loop, |
+ compositor)); |
} |
+ virtual ~SoftwareBrowserCompositorOutputSurface(); |
+ |
private: |
- explicit SoftwareBrowserCompositorOutputSurface( |
- scoped_ptr<cc::SoftwareOutputDevice> software_device); |
+ friend class VSyncListener; |
+ |
+ SoftwareBrowserCompositorOutputSurface( |
+ scoped_ptr<cc::SoftwareOutputDevice> software_device, |
+ base::MessageLoopProxy* compositor_message_loop, |
+ base::WeakPtr<ui::Compositor> compositor); |
virtual void SwapBuffers(cc::CompositorFrame* frame) OVERRIDE; |
+ |
+ scoped_refptr<VSyncListener> vsync_listener_; |
}; |
} // namespace content |