| 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 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 841 header.flags = msg.flags(); | 838 header.flags = msg.flags(); |
| 842 header.num_fds = static_cast<uint16_t>(rewritten_msg->desc_count()); | 839 header.num_fds = static_cast<uint16_t>(rewritten_msg->desc_count()); |
| 843 | 840 |
| 844 rewritten_msg->SetData(header, msg.payload(), msg.payload_size()); | 841 rewritten_msg->SetData(header, msg.payload(), msg.payload_size()); |
| 845 locked_data_.to_be_received_.push(rewritten_msg); | 842 locked_data_.to_be_received_.push(rewritten_msg); |
| 846 } | 843 } |
| 847 | 844 |
| 848 int TranslatePepperFileReadWriteOpenFlagsForTesting(int32_t pp_open_flags) { | 845 int TranslatePepperFileReadWriteOpenFlagsForTesting(int32_t pp_open_flags) { |
| 849 return TranslatePepperFileReadWriteOpenFlags(pp_open_flags); | 846 return TranslatePepperFileReadWriteOpenFlags(pp_open_flags); |
| 850 } | 847 } |
| OLD | NEW |