Index: trunk/src/cc/output/output_surface.h |
=================================================================== |
--- trunk/src/cc/output/output_surface.h (revision 206654) |
+++ trunk/src/cc/output/output_surface.h (working copy) |
@@ -12,7 +12,6 @@ |
#include "cc/base/cc_export.h" |
#include "cc/output/context_provider.h" |
#include "cc/output/software_output_device.h" |
-#include "cc/scheduler/frame_rate_controller.h" |
#include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
namespace ui { struct LatencyInfo; } |
@@ -20,16 +19,13 @@ |
namespace gfx { |
class Rect; |
class Size; |
-class Transform; |
} |
namespace cc { |
class CompositorFrame; |
-class CompositorFrameAck; |
class OutputSurfaceClient; |
class OutputSurfaceCallbacks; |
-class Thread; |
// Represents the output surface for a compositor. The compositor owns |
// and manages its destruction. Its lifetime is: |
@@ -38,7 +34,7 @@ |
// From here on, it will only be used on the compositor thread. |
// 3. If the 3D context is lost, then the compositor will delete the output |
// surface (on the compositor thread) and go back to step 1. |
-class CC_EXPORT OutputSurface : public FrameRateControllerClient { |
+class CC_EXPORT OutputSurface { |
public: |
explicit OutputSurface(scoped_ptr<WebKit::WebGraphicsContext3D> context3d); |
@@ -87,13 +83,6 @@ |
// thread. |
virtual bool BindToClient(OutputSurfaceClient* client); |
- void InitializeBeginFrameEmulation( |
- Thread* thread, |
- bool throttle_frame_production, |
- base::TimeDelta interval); |
- |
- void SetMaxFramesPending(int max_frames_pending); |
- |
virtual void EnsureBackbuffer(); |
virtual void DiscardBackbuffer(); |
@@ -114,7 +103,7 @@ |
// Requests a BeginFrame notification from the output surface. The |
// notification will be delivered by calling |
// OutputSurfaceClient::BeginFrame until the callback is disabled. |
- virtual void SetNeedsBeginFrame(bool enable); |
+ virtual void SetNeedsBeginFrame(bool enable) {} |
protected: |
// Synchronously initialize context3d and enter hardware mode. |
@@ -127,6 +116,7 @@ |
void PostSwapBuffersComplete(); |
+ OutputSurfaceClient* client_; |
struct cc::OutputSurface::Capabilities capabilities_; |
scoped_ptr<OutputSurfaceCallbacks> callbacks_; |
scoped_ptr<WebKit::WebGraphicsContext3D> context3d_; |
@@ -135,35 +125,13 @@ |
bool has_swap_buffers_complete_callback_; |
gfx::Size surface_size_; |
float device_scale_factor_; |
- base::WeakPtrFactory<OutputSurface> weak_ptr_factory_; |
- // The FrameRateController is deprecated. |
- // Platforms should move to native BeginFrames instead. |
- void OnVSyncParametersChanged(base::TimeTicks timebase, |
- base::TimeDelta interval); |
- virtual void FrameRateControllerTick(bool throttled) OVERRIDE; |
- scoped_ptr<FrameRateController> frame_rate_controller_; |
- int max_frames_pending_; |
- int pending_swap_buffers_; |
- bool begin_frame_pending_; |
- |
- // Forwarded to OutputSurfaceClient but threaded through OutputSurface |
- // first so OutputSurface has a chance to update the FrameRateController |
- bool HasClient() { return !!client_; } |
- void SetNeedsRedrawRect(gfx::Rect damage_rect); |
- void BeginFrame(base::TimeTicks frame_time); |
- void DidSwapBuffers(); |
- void OnSwapBuffersComplete(const CompositorFrameAck* ack); |
- void DidLoseOutputSurface(); |
- void SetExternalDrawConstraints(const gfx::Transform& transform, |
- gfx::Rect viewport); |
- |
private: |
- OutputSurfaceClient* client_; |
- friend class OutputSurfaceCallbacks; |
- |
void SetContext3D(scoped_ptr<WebKit::WebGraphicsContext3D> context3d); |
+ void SwapBuffersComplete(); |
+ base::WeakPtrFactory<OutputSurface> weak_ptr_factory_; |
+ |
DISALLOW_COPY_AND_ASSIGN(OutputSurface); |
}; |