| Index: ppapi/proxy/image_data.cc
|
| ===================================================================
|
| --- ppapi/proxy/image_data.cc (revision 72840)
|
| +++ ppapi/proxy/image_data.cc (working copy)
|
| @@ -1,97 +0,0 @@
|
| -// Copyright (c) 2010 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 "ppapi/proxy/image_data.h"
|
| -
|
| -#if defined(OS_LINUX)
|
| -#include <sys/shm.h>
|
| -#endif
|
| -
|
| -#if defined(OS_MACOSX)
|
| -#include <sys/stat.h>
|
| -#include <sys/mman.h>
|
| -#endif
|
| -
|
| -namespace pp {
|
| -namespace proxy {
|
| -
|
| -ImageData::ImageData(PP_Instance instance,
|
| - const PP_ImageDataDesc& desc,
|
| - ImageHandle handle)
|
| - : PluginResource(instance),
|
| - desc_(desc),
|
| - handle_(handle),
|
| - mapped_data_(NULL) {
|
| -}
|
| -
|
| -ImageData::~ImageData() {
|
| - Unmap();
|
| -}
|
| -
|
| -ImageData* ImageData::AsImageData() {
|
| - return this;
|
| -}
|
| -
|
| -void* ImageData::Map() {
|
| -#if defined(OS_WIN)
|
| - NOTIMPLEMENTED();
|
| - return NULL;
|
| -#elif defined(OS_MACOSX)
|
| - struct stat st;
|
| - if (fstat(handle_.fd, &st) != 0)
|
| - return NULL;
|
| - void* memory = mmap(NULL, st.st_size, PROT_READ | PROT_WRITE,
|
| - MAP_SHARED, handle_.fd, 0);
|
| - if (memory == MAP_FAILED)
|
| - return NULL;
|
| - mapped_data_ = memory;
|
| - return mapped_data_;
|
| -#else
|
| - int shmkey = handle_;
|
| - void* address = shmat(shmkey, NULL, 0);
|
| - // Mark for deletion in case we crash so the kernel will clean it up.
|
| - shmctl(shmkey, IPC_RMID, 0);
|
| - if (address == (void*)-1)
|
| - return NULL;
|
| - mapped_data_ = address;
|
| - return address;
|
| -#endif
|
| -}
|
| -
|
| -void ImageData::Unmap() {
|
| -#if defined(OS_WIN)
|
| - NOTIMPLEMENTED();
|
| -#elif defined(OS_MACOSX)
|
| - if (mapped_data_) {
|
| - struct stat st;
|
| - if (fstat(handle_.fd, &st) == 0)
|
| - munmap(mapped_data_, st.st_size);
|
| - }
|
| -#else
|
| - if (mapped_data_)
|
| - shmdt(mapped_data_);
|
| -#endif
|
| - mapped_data_ = NULL;
|
| -}
|
| -
|
| -#if defined(OS_WIN)
|
| -const ImageHandle ImageData::NullHandle = NULL;
|
| -#elif defined(OS_MACOSX)
|
| -const ImageHandle ImageData::NullHandle = ImageHandle();
|
| -#else
|
| -const ImageHandle ImageData::NullHandle = 0;
|
| -#endif
|
| -
|
| -ImageHandle ImageData::HandleFromInt(int32_t i) {
|
| -#if defined(OS_WIN)
|
| - return reinterpret_cast<ImageHandle>(i);
|
| -#elif defined(OS_MACOSX)
|
| - return ImageHandle(i, false);
|
| -#else
|
| - return static_cast<ImageHandle>(i);
|
| -#endif
|
| -}
|
| -
|
| -} // namespace proxy
|
| -} // namespace pp
|
|
|