| Index: cc/output/output_surface.h | 
| diff --git a/cc/output/output_surface.h b/cc/output/output_surface.h | 
| deleted file mode 100644 | 
| index 8994a6bffafbb2651874575d663061f6a1c2904d..0000000000000000000000000000000000000000 | 
| --- a/cc/output/output_surface.h | 
| +++ /dev/null | 
| @@ -1,198 +0,0 @@ | 
| -// Copyright 2012 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#ifndef CC_OUTPUT_OUTPUT_SURFACE_H_ | 
| -#define CC_OUTPUT_OUTPUT_SURFACE_H_ | 
| - | 
| -#include <deque> | 
| - | 
| -#include "base/basictypes.h" | 
| -#include "base/memory/ref_counted.h" | 
| -#include "base/memory/scoped_ptr.h" | 
| -#include "base/memory/weak_ptr.h" | 
| -#include "cc/output/context_provider.h" | 
| -#include "cc/output/overlay_candidate_validator.h" | 
| -#include "cc/output/software_output_device.h" | 
| - | 
| -namespace base { class SingleThreadTaskRunner; } | 
| - | 
| -namespace ui { struct LatencyInfo; } | 
| - | 
| -namespace gfx { | 
| -class Rect; | 
| -class Size; | 
| -class Transform; | 
| -} | 
| - | 
| -namespace cc { | 
| - | 
| -class CompositorFrame; | 
| -class CompositorFrameAck; | 
| -class OutputSurfaceClient; | 
| - | 
| -// Represents the output surface for a compositor. The compositor owns | 
| -// and manages its destruction. Its lifetime is: | 
| -//   1. Created on the main thread by the LayerTreeHost through its client. | 
| -//   2. Passed to the compositor thread and bound to a client via BindToClient. | 
| -//      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 OutputSurface { | 
| - public: | 
| -  enum { | 
| -    DEFAULT_MAX_FRAMES_PENDING = 2 | 
| -  }; | 
| - | 
| -  OutputSurface(const scoped_refptr<ContextProvider>& context_provider, | 
| -                const scoped_refptr<ContextProvider>& worker_context_provider, | 
| -                scoped_ptr<SoftwareOutputDevice> software_device); | 
| -  OutputSurface(const scoped_refptr<ContextProvider>& context_provider, | 
| -                const scoped_refptr<ContextProvider>& worker_context_provider); | 
| -  explicit OutputSurface( | 
| -      const scoped_refptr<ContextProvider>& context_provider); | 
| - | 
| -  explicit OutputSurface(scoped_ptr<SoftwareOutputDevice> software_device); | 
| - | 
| -  OutputSurface(const scoped_refptr<ContextProvider>& context_provider, | 
| -                scoped_ptr<SoftwareOutputDevice> software_device); | 
| - | 
| -  virtual ~OutputSurface(); | 
| - | 
| -  struct Capabilities { | 
| -    Capabilities() | 
| -        : delegated_rendering(false), | 
| -          max_frames_pending(0), | 
| -          deferred_gl_initialization(false), | 
| -          draw_and_swap_full_viewport_every_frame(false), | 
| -          adjust_deadline_for_parent(true), | 
| -          uses_default_gl_framebuffer(true), | 
| -          flipped_output_surface(false), | 
| -          can_force_reclaim_resources(false) {} | 
| -    bool delegated_rendering; | 
| -    int max_frames_pending; | 
| -    bool deferred_gl_initialization; | 
| -    bool draw_and_swap_full_viewport_every_frame; | 
| -    // This doesn't handle the <webview> case, but once BeginFrame is | 
| -    // supported natively, we shouldn't need adjust_deadline_for_parent. | 
| -    bool adjust_deadline_for_parent; | 
| -    // Whether this output surface renders to the default OpenGL zero | 
| -    // framebuffer or to an offscreen framebuffer. | 
| -    bool uses_default_gl_framebuffer; | 
| -    // Whether this OutputSurface is flipped or not. | 
| -    bool flipped_output_surface; | 
| -    // Whether ForceReclaimResources can be called to reclaim all resources | 
| -    // from the OutputSurface. | 
| -    bool can_force_reclaim_resources; | 
| -  }; | 
| - | 
| -  const Capabilities& capabilities() const { | 
| -    return capabilities_; | 
| -  } | 
| - | 
| -  virtual bool HasExternalStencilTest() const; | 
| - | 
| -  // Obtain the 3d context or the software device associated with this output | 
| -  // surface. Either of these may return a null pointer, but not both. | 
| -  // In the event of a lost context, the entire output surface should be | 
| -  // recreated. | 
| -  ContextProvider* context_provider() const { return context_provider_.get(); } | 
| -  ContextProvider* worker_context_provider() const { | 
| -    return worker_context_provider_.get(); | 
| -  } | 
| -  SoftwareOutputDevice* software_device() const { | 
| -    return software_device_.get(); | 
| -  } | 
| - | 
| -  // Called by the compositor on the compositor thread. This is a place where | 
| -  // thread-specific data for the output surface can be initialized, since from | 
| -  // this point on the output surface will only be used on the compositor | 
| -  // thread. | 
| -  virtual bool BindToClient(OutputSurfaceClient* client); | 
| - | 
| -  // This is called by the compositor on the compositor thread inside ReleaseGL | 
| -  // in order to release the ContextProvider. Only used with | 
| -  // deferred_gl_initialization capability. | 
| -  void ReleaseContextProvider(); | 
| - | 
| -  virtual void EnsureBackbuffer(); | 
| -  virtual void DiscardBackbuffer(); | 
| - | 
| -  virtual void Reshape(const gfx::Size& size, float scale_factor); | 
| -  virtual gfx::Size SurfaceSize() const; | 
| - | 
| -  // If supported, this causes a ReclaimResources for all resources that are | 
| -  // currently in use. | 
| -  virtual void ForceReclaimResources() {} | 
| - | 
| -  virtual void BindFramebuffer(); | 
| - | 
| -  // The implementation may destroy or steal the contents of the CompositorFrame | 
| -  // passed in (though it will not take ownership of the CompositorFrame | 
| -  // itself). For successful swaps, the implementation must call | 
| -  // OutputSurfaceClient::DidSwapBuffers() and eventually | 
| -  // DidSwapBuffersComplete(). | 
| -  virtual void SwapBuffers(CompositorFrame* frame) = 0; | 
| -  virtual void OnSwapBuffersComplete(); | 
| - | 
| -  // Notifies frame-rate smoothness preference. If true, all non-critical | 
| -  // processing should be stopped, or lowered in priority. | 
| -  virtual void UpdateSmoothnessTakesPriority(bool prefer_smoothness) {} | 
| - | 
| -  bool HasClient() { return !!client_; } | 
| - | 
| -  // Get the class capable of informing cc of hardware overlay capability. | 
| -  OverlayCandidateValidator* overlay_candidate_validator() const { | 
| -    return overlay_candidate_validator_.get(); | 
| -  } | 
| - | 
| -  void DidLoseOutputSurface(); | 
| - | 
| - protected: | 
| -  OutputSurfaceClient* client_; | 
| - | 
| -  // Synchronously initialize context3d and enter hardware mode. | 
| -  // This can only supported in threaded compositing mode. | 
| -  bool InitializeAndSetContext3d( | 
| -      scoped_refptr<ContextProvider> context_provider, | 
| -      scoped_refptr<ContextProvider> worker_context_provider); | 
| -  void ReleaseGL(); | 
| - | 
| -  void PostSwapBuffersComplete(); | 
| - | 
| -  struct OutputSurface::Capabilities capabilities_; | 
| -  scoped_refptr<ContextProvider> context_provider_; | 
| -  scoped_refptr<ContextProvider> worker_context_provider_; | 
| -  scoped_ptr<SoftwareOutputDevice> software_device_; | 
| -  scoped_ptr<OverlayCandidateValidator> overlay_candidate_validator_; | 
| -  gfx::Size surface_size_; | 
| -  float device_scale_factor_; | 
| - | 
| -  void CommitVSyncParameters(base::TimeTicks timebase, | 
| -                             base::TimeDelta interval); | 
| - | 
| -  void SetNeedsRedrawRect(const gfx::Rect& damage_rect); | 
| -  void ReclaimResources(const CompositorFrameAck* ack); | 
| -  void SetExternalStencilTest(bool enabled); | 
| -  void SetExternalDrawConstraints( | 
| -      const gfx::Transform& transform, | 
| -      const gfx::Rect& viewport, | 
| -      const gfx::Rect& clip, | 
| -      const gfx::Rect& viewport_rect_for_tile_priority, | 
| -      const gfx::Transform& transform_for_tile_priority, | 
| -      bool resourceless_software_draw); | 
| - | 
| - private: | 
| -  void SetUpContext3d(); | 
| -  void ResetContext3d(); | 
| - | 
| -  bool external_stencil_test_enabled_; | 
| - | 
| -  base::WeakPtrFactory<OutputSurface> weak_ptr_factory_; | 
| - | 
| -  DISALLOW_COPY_AND_ASSIGN(OutputSurface); | 
| -}; | 
| - | 
| -}  // namespace cc | 
| - | 
| -#endif  // CC_OUTPUT_OUTPUT_SURFACE_H_ | 
|  |