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