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 "cc/blink/web_external_bitmap_impl.h"
7 #include "base/memory/shared_memory.h"
13 SharedMemoryAllocationFunction g_memory_allocator;
17 void SetSharedMemoryAllocationFunction(
18 SharedMemoryAllocationFunction allocator) {
19 g_memory_allocator = allocator;
22 WebExternalBitmapImpl::WebExternalBitmapImpl() {
25 WebExternalBitmapImpl::~WebExternalBitmapImpl() {
28 void WebExternalBitmapImpl::setSize(blink::WebSize size) {
30 size_t byte_size = size.width * size.height * 4;
31 shared_memory_ = g_memory_allocator(byte_size);
33 shared_memory_->Map(byte_size);
38 blink::WebSize WebExternalBitmapImpl::size() {
42 uint8* WebExternalBitmapImpl::pixels() {
43 return static_cast<uint8*>(shared_memory_->memory());
46 } // namespace cc_blink