OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "components/nacl/loader/nacl_ipc_adapter.h" | 5 #include "components/nacl/loader/nacl_ipc_adapter.h" |
6 | 6 |
7 #include <limits.h> | 7 #include <limits.h> |
8 #include <string.h> | 8 #include <string.h> |
9 #include <tuple> | 9 #include <tuple> |
10 #include <utility> | 10 #include <utility> |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
226 | 226 |
227 private: | 227 private: |
228 NaClDesc* desc_; | 228 NaClDesc* desc_; |
229 DISALLOW_COPY_AND_ASSIGN(NaClDescWrapper); | 229 DISALLOW_COPY_AND_ASSIGN(NaClDescWrapper); |
230 }; | 230 }; |
231 | 231 |
232 scoped_ptr<NaClDescWrapper> MakeShmNaClDesc( | 232 scoped_ptr<NaClDescWrapper> MakeShmNaClDesc( |
233 const base::SharedMemoryHandle& handle, | 233 const base::SharedMemoryHandle& handle, |
234 size_t size) { | 234 size_t size) { |
235 #if defined(OS_MACOSX) | 235 #if defined(OS_MACOSX) |
236 if (handle.GetType() == base::SharedMemoryHandle::MACH) { | 236 return scoped_ptr<NaClDescWrapper>(new NaClDescWrapper( |
237 return scoped_ptr<NaClDescWrapper>(new NaClDescWrapper( | 237 NaClDescImcShmMachMake(handle.GetMemoryObject(), size))); |
238 NaClDescImcShmMachMake(handle.GetMemoryObject(), size))); | 238 #else |
239 } | |
240 CHECK_EQ(base::SharedMemoryHandle::POSIX, handle.GetType()); | |
241 #endif | |
242 | |
243 return scoped_ptr<NaClDescWrapper>(new NaClDescWrapper(NaClDescImcShmMake( | 239 return scoped_ptr<NaClDescWrapper>(new NaClDescWrapper(NaClDescImcShmMake( |
244 #if defined(OS_WIN) | 240 #if defined(OS_WIN) |
245 handle.GetHandle(), | 241 handle.GetHandle(), |
246 #else | 242 #else |
247 base::SharedMemory::GetFdFromSharedMemoryHandle(handle), | 243 base::SharedMemory::GetFdFromSharedMemoryHandle(handle), |
248 #endif | 244 #endif |
249 size))); | 245 size))); |
| 246 #endif |
250 } | 247 } |
251 | 248 |
252 } // namespace | 249 } // namespace |
253 | 250 |
254 class NaClIPCAdapter::RewrittenMessage | 251 class NaClIPCAdapter::RewrittenMessage |
255 : public base::RefCounted<RewrittenMessage> { | 252 : public base::RefCounted<RewrittenMessage> { |
256 public: | 253 public: |
257 RewrittenMessage(); | 254 RewrittenMessage(); |
258 | 255 |
259 bool is_consumed() const { return data_read_cursor_ == data_len_; } | 256 bool is_consumed() const { return data_read_cursor_ == data_len_; } |
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
853 header.flags = msg.flags(); | 850 header.flags = msg.flags(); |
854 header.num_fds = static_cast<uint16_t>(rewritten_msg->desc_count()); | 851 header.num_fds = static_cast<uint16_t>(rewritten_msg->desc_count()); |
855 | 852 |
856 rewritten_msg->SetData(header, msg.payload(), msg.payload_size()); | 853 rewritten_msg->SetData(header, msg.payload(), msg.payload_size()); |
857 locked_data_.to_be_received_.push(rewritten_msg); | 854 locked_data_.to_be_received_.push(rewritten_msg); |
858 } | 855 } |
859 | 856 |
860 int TranslatePepperFileReadWriteOpenFlagsForTesting(int32_t pp_open_flags) { | 857 int TranslatePepperFileReadWriteOpenFlagsForTesting(int32_t pp_open_flags) { |
861 return TranslatePepperFileReadWriteOpenFlags(pp_open_flags); | 858 return TranslatePepperFileReadWriteOpenFlags(pp_open_flags); |
862 } | 859 } |
OLD | NEW |