| OLD | NEW | 
|    1 // Copyright 2012 The Chromium Authors. All rights reserved. |    1 // Copyright 2012 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #ifndef CC_TEST_FAKE_OUTPUT_SURFACE_H_ |    5 #ifndef CC_TEST_FAKE_OUTPUT_SURFACE_H_ | 
|    6 #define CC_TEST_FAKE_OUTPUT_SURFACE_H_ |    6 #define CC_TEST_FAKE_OUTPUT_SURFACE_H_ | 
|    7  |    7  | 
|    8 #include "base/callback.h" |    8 #include "base/callback.h" | 
|    9 #include "base/logging.h" |    9 #include "base/logging.h" | 
|   10 #include "base/time/time.h" |   10 #include "base/time/time.h" | 
|   11 #include "cc/output/begin_frame_args.h" |   11 #include "cc/output/begin_frame_args.h" | 
|   12 #include "cc/output/compositor_frame.h" |   12 #include "cc/output/compositor_frame.h" | 
|   13 #include "cc/output/managed_memory_policy.h" |   13 #include "cc/output/managed_memory_policy.h" | 
|   14 #include "cc/output/output_surface.h" |   14 #include "cc/output/output_surface.h" | 
|   15 #include "cc/output/software_output_device.h" |   15 #include "cc/output/software_output_device.h" | 
|   16 #include "cc/test/test_context_provider.h" |   16 #include "cc/test/test_context_provider.h" | 
|   17 #include "cc/test/test_web_graphics_context_3d.h" |   17 #include "cc/test/test_web_graphics_context_3d.h" | 
|   18  |   18  | 
|   19 namespace cc { |   19 namespace cc { | 
|   20  |   20  | 
|   21 class FakeOutputSurface : public OutputSurface { |   21 class FakeOutputSurface : public OutputSurface { | 
|   22  public: |   22  public: | 
|   23   ~FakeOutputSurface() override; |   23   ~FakeOutputSurface() override; | 
|   24  |   24  | 
|   25   static scoped_ptr<FakeOutputSurface> Create3d() { |   25   static scoped_ptr<FakeOutputSurface> Create3d() { | 
|   26     return make_scoped_ptr(new FakeOutputSurface( |   26     return make_scoped_ptr(new FakeOutputSurface( | 
|   27         TestContextProvider::Create(), false)); |   27         TestContextProvider::Create(), TestContextProvider::Create(), false)); | 
|   28   } |   28   } | 
|   29  |   29  | 
|   30   static scoped_ptr<FakeOutputSurface> Create3d( |   30   static scoped_ptr<FakeOutputSurface> Create3d( | 
|   31       scoped_refptr<ContextProvider> context_provider) { |   31       scoped_refptr<ContextProvider> context_provider) { | 
|   32     return make_scoped_ptr(new FakeOutputSurface(context_provider, false)); |   32     return make_scoped_ptr(new FakeOutputSurface(context_provider, false)); | 
|   33   } |   33   } | 
|   34  |   34  | 
|   35   static scoped_ptr<FakeOutputSurface> Create3d( |   35   static scoped_ptr<FakeOutputSurface> Create3d( | 
 |   36       scoped_refptr<ContextProvider> context_provider, | 
 |   37       scoped_refptr<ContextProvider> worker_context_provider) { | 
 |   38     return make_scoped_ptr(new FakeOutputSurface( | 
 |   39         context_provider, worker_context_provider, false)); | 
 |   40   } | 
 |   41  | 
 |   42   static scoped_ptr<FakeOutputSurface> Create3d( | 
|   36       scoped_ptr<TestWebGraphicsContext3D> context) { |   43       scoped_ptr<TestWebGraphicsContext3D> context) { | 
|   37     return make_scoped_ptr(new FakeOutputSurface( |   44     return make_scoped_ptr(new FakeOutputSurface( | 
|   38         TestContextProvider::Create(context.Pass()), false)); |   45         TestContextProvider::Create(context.Pass()), false)); | 
|   39   } |   46   } | 
|   40  |   47  | 
|   41   static scoped_ptr<FakeOutputSurface> CreateSoftware( |   48   static scoped_ptr<FakeOutputSurface> CreateSoftware( | 
|   42       scoped_ptr<SoftwareOutputDevice> software_device) { |   49       scoped_ptr<SoftwareOutputDevice> software_device) { | 
|   43     return make_scoped_ptr(new FakeOutputSurface(software_device.Pass(), |   50     return make_scoped_ptr(new FakeOutputSurface(software_device.Pass(), | 
|   44                                                  false)); |   51                                                  false)); | 
|   45   } |   52   } | 
|   46  |   53  | 
|   47   static scoped_ptr<FakeOutputSurface> CreateDelegating3d() { |   54   static scoped_ptr<FakeOutputSurface> CreateDelegating3d() { | 
|   48     return make_scoped_ptr(new FakeOutputSurface( |   55     return make_scoped_ptr(new FakeOutputSurface( | 
|   49         TestContextProvider::Create(), true)); |   56         TestContextProvider::Create(), TestContextProvider::Create(), true)); | 
|   50   } |   57   } | 
|   51  |   58  | 
|   52   static scoped_ptr<FakeOutputSurface> CreateDelegating3d( |   59   static scoped_ptr<FakeOutputSurface> CreateDelegating3d( | 
|   53       scoped_refptr<TestContextProvider> context_provider) { |   60       scoped_refptr<TestContextProvider> context_provider) { | 
|   54     return make_scoped_ptr(new FakeOutputSurface(context_provider, true)); |   61     return make_scoped_ptr(new FakeOutputSurface(context_provider, true)); | 
|   55   } |   62   } | 
|   56  |   63  | 
|   57   static scoped_ptr<FakeOutputSurface> CreateDelegating3d( |   64   static scoped_ptr<FakeOutputSurface> CreateDelegating3d( | 
|   58       scoped_ptr<TestWebGraphicsContext3D> context) { |   65       scoped_ptr<TestWebGraphicsContext3D> context) { | 
|   59     return make_scoped_ptr(new FakeOutputSurface( |   66     return make_scoped_ptr(new FakeOutputSurface( | 
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  121  |  128  | 
|  122   gfx::Rect last_swap_rect() const { |  129   gfx::Rect last_swap_rect() const { | 
|  123     return last_swap_rect_; |  130     return last_swap_rect_; | 
|  124   } |  131   } | 
|  125  |  132  | 
|  126  protected: |  133  protected: | 
|  127   FakeOutputSurface( |  134   FakeOutputSurface( | 
|  128       scoped_refptr<ContextProvider> context_provider, |  135       scoped_refptr<ContextProvider> context_provider, | 
|  129       bool delegated_rendering); |  136       bool delegated_rendering); | 
|  130  |  137  | 
|  131   FakeOutputSurface( |  138   FakeOutputSurface(scoped_refptr<ContextProvider> context_provider, | 
|  132       scoped_ptr<SoftwareOutputDevice> software_device, |  139                     scoped_refptr<ContextProvider> worker_context_provider, | 
|  133       bool delegated_rendering); |  140                     bool delegated_rendering); | 
 |  141  | 
 |  142   FakeOutputSurface(scoped_ptr<SoftwareOutputDevice> software_device, | 
 |  143                     bool delegated_rendering); | 
|  134  |  144  | 
|  135   FakeOutputSurface( |  145   FakeOutputSurface( | 
|  136       scoped_refptr<ContextProvider> context_provider, |  146       scoped_refptr<ContextProvider> context_provider, | 
|  137       scoped_ptr<SoftwareOutputDevice> software_device, |  147       scoped_ptr<SoftwareOutputDevice> software_device, | 
|  138       bool delegated_rendering); |  148       bool delegated_rendering); | 
|  139  |  149  | 
|  140   OutputSurfaceClient* client_; |  150   OutputSurfaceClient* client_; | 
|  141   CompositorFrame last_sent_frame_; |  151   CompositorFrame last_sent_frame_; | 
|  142   size_t num_sent_frames_; |  152   size_t num_sent_frames_; | 
|  143   bool has_external_stencil_test_; |  153   bool has_external_stencil_test_; | 
|  144   unsigned framebuffer_; |  154   unsigned framebuffer_; | 
|  145   TransferableResourceArray resources_held_by_parent_; |  155   TransferableResourceArray resources_held_by_parent_; | 
|  146   scoped_ptr<ManagedMemoryPolicy> memory_policy_to_set_at_bind_; |  156   scoped_ptr<ManagedMemoryPolicy> memory_policy_to_set_at_bind_; | 
|  147   gfx::Rect last_swap_rect_; |  157   gfx::Rect last_swap_rect_; | 
|  148 }; |  158 }; | 
|  149  |  159  | 
|  150 }  // namespace cc |  160 }  // namespace cc | 
|  151  |  161  | 
|  152 #endif  // CC_TEST_FAKE_OUTPUT_SURFACE_H_ |  162 #endif  // CC_TEST_FAKE_OUTPUT_SURFACE_H_ | 
| OLD | NEW |