Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(268)

Side by Side Diff: chrome/renderer/nacl_desc_wrapper_chrome.cc

Issue 8341052: share all the needed linux code with OpenBSD in chrome and content (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: remove unused header Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/shared_memory.h" 5 #include "base/shared_memory.h"
6 #include "base/sync_socket.h" 6 #include "base/sync_socket.h"
7 #include "native_client/src/trusted/desc/nacl_desc_base.h" 7 #include "native_client/src/trusted/desc/nacl_desc_base.h"
8 #include "native_client/src/trusted/desc/nacl_desc_sync_socket.h" 8 #include "native_client/src/trusted/desc/nacl_desc_sync_socket.h"
9 #include "native_client/src/trusted/desc/nacl_desc_wrapper.h" 9 #include "native_client/src/trusted/desc/nacl_desc_wrapper.h"
10 #include "ui/gfx/surface/transport_dib.h" 10 #include "ui/gfx/surface/transport_dib.h"
11 11
12 namespace nacl { 12 namespace nacl {
13 13
14 DescWrapper* DescWrapperFactory::ImportPepperSharedMemory(intptr_t shm_int, 14 DescWrapper* DescWrapperFactory::ImportPepperSharedMemory(intptr_t shm_int,
15 size_t size) { 15 size_t size) {
16 base::SharedMemory* shm = reinterpret_cast<base::SharedMemory*>(shm_int); 16 base::SharedMemory* shm = reinterpret_cast<base::SharedMemory*>(shm_int);
17 #if defined(OS_LINUX) || defined(OS_MACOSX) 17 #if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_OPENBSD)
18 return ImportShmHandle(shm->handle().fd, size); 18 return ImportShmHandle(shm->handle().fd, size);
19 #elif defined(OS_WIN) 19 #elif defined(OS_WIN)
20 return ImportShmHandle(shm->handle(), size); 20 return ImportShmHandle(shm->handle(), size);
21 #else 21 #else
22 # error "What platform?" 22 # error "What platform?"
23 #endif 23 #endif
24 } 24 }
25 25
26 DescWrapper* DescWrapperFactory::ImportPepper2DSharedMemory(intptr_t shm_int) { 26 DescWrapper* DescWrapperFactory::ImportPepper2DSharedMemory(intptr_t shm_int) {
27 TransportDIB* dib = reinterpret_cast<TransportDIB*>(shm_int); 27 TransportDIB* dib = reinterpret_cast<TransportDIB*>(shm_int);
28 #if defined(OS_LINUX) 28 #if defined(OS_LINUX) || defined(OS_OPENBSD)
29 // TransportDIBs use SysV (X) shared memory on Linux. 29 // TransportDIBs use SysV (X) shared memory on Linux.
30 return ImportSysvShm(dib->handle(), dib->size()); 30 return ImportSysvShm(dib->handle(), dib->size());
31 #elif defined(OS_MACOSX) 31 #elif defined(OS_MACOSX)
32 // TransportDIBs use mmap shared memory on OSX. 32 // TransportDIBs use mmap shared memory on OSX.
33 return ImportShmHandle(dib->handle().fd, dib->size()); 33 return ImportShmHandle(dib->handle().fd, dib->size());
34 #elif defined(OS_WIN) 34 #elif defined(OS_WIN)
35 // TransportDIBs use MapViewOfFile shared memory on Windows. 35 // TransportDIBs use MapViewOfFile shared memory on Windows.
36 return ImportShmHandle(dib->handle(), dib->size()); 36 return ImportShmHandle(dib->handle(), dib->size());
37 #else 37 #else
38 # error "What platform?" 38 # error "What platform?"
(...skipping 23 matching lines...) Expand all
62 } 62 }
63 ss_desc = NULL; // DescWrapper takes ownership of ss_desc. 63 ss_desc = NULL; // DescWrapper takes ownership of ss_desc.
64 return wrapper; 64 return wrapper;
65 65
66 cleanup: 66 cleanup:
67 NaClDescSafeUnref(&ss_desc->base); 67 NaClDescSafeUnref(&ss_desc->base);
68 return NULL; 68 return NULL;
69 } 69 }
70 70
71 } // namespace nacl 71 } // namespace nacl
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698