| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "content/test/mock_render_process.h" |
| |
| #include "ui/gfx/rect.h" |
| #include "ui/surface/transport_dib.h" |
| |
| namespace content { |
| |
| MockRenderProcess::MockRenderProcess() |
| : transport_dib_next_sequence_number_(0), |
| enabled_bindings_(0) { |
| } |
| |
| MockRenderProcess::~MockRenderProcess() { |
| } |
| |
| skia::PlatformCanvas* MockRenderProcess::GetDrawingCanvas( |
| TransportDIB** memory, |
| const gfx::Rect& rect) { |
| size_t stride = skia::PlatformCanvasStrideForWidth(rect.width()); |
| size_t size = stride * rect.height(); |
| |
| // Unlike RenderProcessImpl, when we're a test, we can just create transport |
| // DIBs in the current process, since there is no sandbox protecting us (and |
| // no browser process to ask for one in any case). |
| *memory = TransportDIB::Create(size, transport_dib_next_sequence_number_++); |
| if (!*memory) |
| return NULL; |
| return (*memory)->GetPlatformCanvas(rect.width(), rect.height()); |
| } |
| |
| void MockRenderProcess::ReleaseTransportDIB(TransportDIB* memory) { |
| delete memory; |
| } |
| |
| bool MockRenderProcess::UseInProcessPlugins() const { |
| return true; |
| } |
| |
| void MockRenderProcess::AddBindings(int bindings) { |
| enabled_bindings_ |= bindings; |
| } |
| |
| int MockRenderProcess::GetEnabledBindings() const { |
| return enabled_bindings_; |
| } |
| |
| TransportDIB* MockRenderProcess::CreateTransportDIB(size_t size) { |
| return TransportDIB::Create(size, transport_dib_next_sequence_number_++); |
| } |
| |
| void MockRenderProcess::FreeTransportDIB(TransportDIB* dib) { |
| delete dib; |
| } |
| |
| } // namespace content |