Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / cc / output / renderer_unittest.cc
index 1d54608..6e43cc0 100644 (file)
 namespace cc {
 namespace {
 
+class TestOutputSurface : public OutputSurface {
+ public:
+  explicit TestOutputSurface(
+      const scoped_refptr<ContextProvider>& context_provider);
+  ~TestOutputSurface() override;
+
+  // OutputSurface implementation
+  void SwapBuffers(CompositorFrame* frame) override;
+};
+
+TestOutputSurface::TestOutputSurface(
+    const scoped_refptr<ContextProvider>& context_provider)
+    : OutputSurface(context_provider) {
+}
+
+TestOutputSurface::~TestOutputSurface() {
+}
+
+void TestOutputSurface::SwapBuffers(CompositorFrame* frame) {
+  client_->DidSwapBuffers();
+  client_->DidSwapBuffersComplete();
+}
+
 class MockContextProvider : public TestContextProvider {
  public:
   explicit MockContextProvider(scoped_ptr<TestWebGraphicsContext3D> context)
@@ -38,8 +61,7 @@ scoped_ptr<Renderer> CreateRenderer<DelegatingRenderer>(
     OutputSurface* output_surface,
     ResourceProvider* resource_provider) {
   return DelegatingRenderer::Create(
-             client, settings, output_surface, resource_provider)
-      .PassAs<Renderer>();
+      client, settings, output_surface, resource_provider);
 }
 
 template <>
@@ -49,8 +71,7 @@ scoped_ptr<Renderer> CreateRenderer<GLRenderer>(
     OutputSurface* output_surface,
     ResourceProvider* resource_provider) {
   return GLRenderer::Create(
-             client, settings, output_surface, resource_provider, NULL, 0)
-      .PassAs<Renderer>();
+      client, settings, output_surface, resource_provider, NULL, 0);
 }
 
 template <typename T>
@@ -59,10 +80,10 @@ class RendererTest : public ::testing::Test {
   virtual void SetUp() {
     context_provider_ =
         new MockContextProvider(TestWebGraphicsContext3D::Create());
-    output_surface_.reset(new OutputSurface(context_provider_));
+    output_surface_.reset(new TestOutputSurface(context_provider_));
     output_surface_->BindToClient(&output_surface_client_);
     resource_provider_ = ResourceProvider::Create(
-        output_surface_.get(), NULL, NULL, 0, false, 1, false);
+        output_surface_.get(), NULL, NULL, NULL, 0, false, 1);
     renderer_ = CreateRenderer<T>(&renderer_client_,
                                   &tree_settings_,
                                   output_surface_.get(),