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 "ui/ozone/platform/dri/test/mock_dri_surface.h"
7 #include "third_party/skia/include/core/SkCanvas.h"
8 #include "ui/ozone/platform/dri/dri_buffer.h"
9 #include "ui/ozone/platform/dri/dri_wrapper.h"
15 class MockDriBuffer : public DriBuffer {
17 MockDriBuffer(DriWrapper* dri, bool initialize_expectation)
18 : DriBuffer(dri), initialize_expectation_(initialize_expectation) {}
19 virtual ~MockDriBuffer() { surface_.clear(); }
21 virtual bool Initialize(const SkImageInfo& info) OVERRIDE {
22 if (!initialize_expectation_)
26 info.width(), info.height(), 24, 32, stride_, handle_, &framebuffer_);
27 surface_ = skia::AdoptRef(SkSurface::NewRaster(info));
28 surface_->getCanvas()->clear(SK_ColorBLACK);
34 bool initialize_expectation_;
36 DISALLOW_COPY_AND_ASSIGN(MockDriBuffer);
41 MockDriSurface::MockDriSurface(DriWrapper* dri, const gfx::Size& size)
42 : DriSurface(dri, size), dri_(dri), initialize_expectation_(true) {}
44 MockDriSurface::~MockDriSurface() {}
46 DriBuffer* MockDriSurface::CreateBuffer() {
47 MockDriBuffer* bitmap = new MockDriBuffer(dri_, initialize_expectation_);
48 bitmaps_.push_back(bitmap);