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
3 // found in the LICENSE file.
5 #include "cc/test/fake_output_surface.h"
9 FakeOutputSurface::FakeOutputSurface(
10 scoped_ptr
<WebKit::WebGraphicsContext3D
> context3d
, bool has_parent
)
11 : num_sent_frames_(0) {
12 context3d_
= context3d
.Pass();
13 capabilities_
.has_parent_compositor
= has_parent
;
16 FakeOutputSurface::FakeOutputSurface(
17 scoped_ptr
<SoftwareOutputDevice
> software_device
, bool has_parent
)
18 : num_sent_frames_(0) {
19 software_device_
= software_device
.Pass();
20 capabilities_
.has_parent_compositor
= has_parent
;
23 FakeOutputSurface::~FakeOutputSurface() {}
25 bool FakeOutputSurface::BindToClient(OutputSurfaceClient
* client
) {
29 if (!context3d_
->makeContextCurrent())
35 const struct OutputSurface::Capabilities
& FakeOutputSurface::Capabilities()
40 WebKit::WebGraphicsContext3D
* FakeOutputSurface::Context3D() const {
41 return context3d_
.get();
44 SoftwareOutputDevice
* FakeOutputSurface::SoftwareDevice() const {
45 return software_device_
.get();
48 void FakeOutputSurface::SendFrameToParentCompositor(
49 CompositorFrame
* frame
) {
50 frame
->AssignTo(&last_sent_frame_
);