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

Unified Diff: chrome/nacl/nacl_ipc_adapter.cc

Issue 12217023: NaCl: Remove use of nacl::DescWrapper from nacl_ipc_adapter.cc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add DISALLOW_COPY_AND_ASSIGN Created 7 years, 10 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/nacl/nacl_ipc_adapter.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/nacl/nacl_ipc_adapter.cc
diff --git a/chrome/nacl/nacl_ipc_adapter.cc b/chrome/nacl/nacl_ipc_adapter.cc
index 8435c6fb6b53367c73d72a506f4749bb6dc0d572..a37756ccb70058d217694bcfd973b43522730841 100644
--- a/chrome/nacl/nacl_ipc_adapter.cc
+++ b/chrome/nacl/nacl_ipc_adapter.cc
@@ -16,7 +16,8 @@
#include "ipc/ipc_channel.h"
#include "ipc/ipc_platform_file.h"
#include "native_client/src/trusted/desc/nacl_desc_custom.h"
-#include "native_client/src/trusted/desc/nacl_desc_wrapper.h"
+#include "native_client/src/trusted/desc/nacl_desc_imc_shm.h"
+#include "native_client/src/trusted/desc/nacl_desc_sync_socket.h"
#include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/proxy/serialized_handle.h"
@@ -90,6 +91,20 @@ void DeleteChannel(IPC::Channel* channel) {
delete channel;
}
+class NaClDescWrapper {
+ public:
+ explicit NaClDescWrapper(NaClDesc* desc): desc_(desc) {}
+ ~NaClDescWrapper() {
+ NaClDescUnref(desc_);
+ }
+
+ NaClDesc* desc() { return desc_; }
+
+ private:
+ NaClDesc* desc_;
+ DISALLOW_COPY_AND_ASSIGN(NaClDescWrapper);
+};
+
} // namespace
class NaClIPCAdapter::RewrittenMessage
@@ -104,7 +119,7 @@ class NaClIPCAdapter::RewrittenMessage
int Read(NaClImcTypedMsgHdr* msg);
- void AddDescriptor(nacl::DescWrapper* desc) { descs_.push_back(desc); }
+ void AddDescriptor(NaClDescWrapper* desc) { descs_.push_back(desc); }
size_t desc_count() const { return descs_.size(); }
@@ -120,7 +135,7 @@ class NaClIPCAdapter::RewrittenMessage
size_t data_read_cursor_;
// Wrapped descriptors for transfer to untrusted code.
- ScopedVector<nacl::DescWrapper> descs_;
+ ScopedVector<NaClDescWrapper> descs_;
};
NaClIPCAdapter::RewrittenMessage::RewrittenMessage()
@@ -341,32 +356,31 @@ bool NaClIPCAdapter::OnMessageReceived(const IPC::Message& msg) {
// Now add any descriptors we found to rewritten_msg. |handles| is usually
// empty, unless we read a message containing a FD or handle.
- nacl::DescWrapperFactory factory;
for (Handles::const_iterator iter = handles.begin();
iter != handles.end();
++iter) {
- scoped_ptr<nacl::DescWrapper> nacl_desc;
+ scoped_ptr<NaClDescWrapper> nacl_desc;
switch (iter->type()) {
case ppapi::proxy::SerializedHandle::SHARED_MEMORY: {
const base::SharedMemoryHandle& shm_handle = iter->shmem();
uint32_t size = iter->size();
- nacl_desc.reset(factory.ImportShmHandle(
+ nacl_desc.reset(new NaClDescWrapper(NaClDescImcShmMake(
#if defined(OS_WIN)
reinterpret_cast<const NaClHandle>(shm_handle),
#else
shm_handle.fd,
#endif
- static_cast<size_t>(size)));
+ static_cast<size_t>(size))));
break;
}
case ppapi::proxy::SerializedHandle::SOCKET: {
- nacl_desc.reset(factory.ImportSyncSocketHandle(
+ nacl_desc.reset(new NaClDescWrapper(NaClDescSyncSocketMake(
#if defined(OS_WIN)
reinterpret_cast<const NaClHandle>(iter->descriptor())
#else
iter->descriptor().fd
#endif
- ));
+ )));
break;
}
case ppapi::proxy::SerializedHandle::CHANNEL_HANDLE: {
@@ -382,7 +396,7 @@ bool NaClIPCAdapter::OnMessageReceived(const IPC::Message& msg) {
channel_handle.socket = base::FileDescriptor(
ipc_adapter->TakeClientFileDescriptor(), true);
#endif
- nacl_desc.reset(factory.MakeGeneric(ipc_adapter->MakeNaClDesc()));
+ nacl_desc.reset(new NaClDescWrapper(ipc_adapter->MakeNaClDesc()));
// Send back a message that the channel was created.
scoped_ptr<IPC::Message> response(
new PpapiHostMsg_ChannelCreated(channel_handle));
« no previous file with comments | « chrome/nacl/nacl_ipc_adapter.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698