1 // Copyright 2014 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 "content/public/test/test_synchronous_compositor_android.h"
7 #include "cc/output/compositor_frame.h"
11 TestSynchronousCompositor::TestSynchronousCompositor()
12 : client_(NULL
), hardware_initialized_(false) {
15 TestSynchronousCompositor::~TestSynchronousCompositor() {
16 DCHECK(!hardware_initialized_
);
20 void TestSynchronousCompositor::SetClient(SynchronousCompositorClient
* client
) {
22 client_
->DidDestroyCompositor(this);
25 client_
->DidInitializeCompositor(this);
28 bool TestSynchronousCompositor::InitializeHwDraw() {
29 DCHECK(!hardware_initialized_
);
30 hardware_initialized_
= true;
34 void TestSynchronousCompositor::ReleaseHwDraw() {
35 DCHECK(hardware_initialized_
);
36 hardware_initialized_
= false;
39 scoped_ptr
<cc::CompositorFrame
> TestSynchronousCompositor::DemandDrawHw(
40 gfx::Size surface_size
,
41 const gfx::Transform
& transform
,
44 gfx::Rect viewport_rect_for_tile_priority
,
45 const gfx::Transform
& transform_for_tile_priority
) {
46 DCHECK(hardware_initialized_
);
47 scoped_ptr
<cc::CompositorFrame
> compositor_frame(new cc::CompositorFrame
);
48 scoped_ptr
<cc::DelegatedFrameData
> frame(new cc::DelegatedFrameData
);
49 scoped_ptr
<cc::RenderPass
> root_pass(cc::RenderPass::Create());
50 root_pass
->SetNew(cc::RenderPassId(1, 1), viewport
, viewport
,
52 frame
->render_pass_list
.push_back(root_pass
.Pass());
53 compositor_frame
->delegated_frame_data
= frame
.Pass();
54 return compositor_frame
.Pass();
57 void TestSynchronousCompositor::ReturnResources(
58 const cc::CompositorFrameAck
& frame_ack
) {
59 DCHECK(hardware_initialized_
);
62 bool TestSynchronousCompositor::DemandDrawSw(SkCanvas
* canvas
) {
67 void TestSynchronousCompositor::SetMemoryPolicy(size_t bytes_limit
) {
68 DCHECK(!bytes_limit
|| hardware_initialized_
) << bytes_limit
;
71 } // namespace content