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

Side by Side Diff: components/nacl/loader/nacl_ipc_adapter.cc

Issue 1171493003: NaCl: Clean up some uses of native_client/src/trusted/desc/ (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix Created 5 years, 6 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 unified diff | Download patch
« no previous file with comments | « components/nacl/loader/DEPS ('k') | components/nacl/loader/nonsfi/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/location.h" 12 #include "base/location.h"
13 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
14 #include "base/memory/shared_memory.h" 14 #include "base/memory/shared_memory.h"
15 #include "base/task_runner_util.h" 15 #include "base/task_runner_util.h"
16 #include "base/tuple.h" 16 #include "base/tuple.h"
17 #include "build/build_config.h" 17 #include "build/build_config.h"
18 #include "ipc/ipc_channel.h" 18 #include "ipc/ipc_channel.h"
19 #include "ipc/ipc_platform_file.h" 19 #include "ipc/ipc_platform_file.h"
20 #include "native_client/src/public/nacl_desc.h" 20 #include "native_client/src/public/nacl_desc.h"
21 #include "native_client/src/public/nacl_desc_custom.h" 21 #include "native_client/src/public/nacl_desc_custom.h"
22 #include "native_client/src/trusted/desc/nacl_desc_base.h"
23 #include "native_client/src/trusted/desc/nacl_desc_imc_shm.h"
24 #include "native_client/src/trusted/desc/nacl_desc_io.h"
25 #include "native_client/src/trusted/desc/nacl_desc_quota.h" 22 #include "native_client/src/trusted/desc/nacl_desc_quota.h"
26 #include "native_client/src/trusted/desc/nacl_desc_quota_interface.h" 23 #include "native_client/src/trusted/desc/nacl_desc_quota_interface.h"
27 #include "native_client/src/trusted/desc/nacl_desc_sync_socket.h"
28 #include "native_client/src/trusted/service_runtime/include/sys/fcntl.h" 24 #include "native_client/src/trusted/service_runtime/include/sys/fcntl.h"
29 #include "ppapi/c/ppb_file_io.h" 25 #include "ppapi/c/ppb_file_io.h"
30 #include "ppapi/proxy/ppapi_messages.h" 26 #include "ppapi/proxy/ppapi_messages.h"
31 #include "ppapi/proxy/serialized_handle.h" 27 #include "ppapi/proxy/serialized_handle.h"
32 28
33 using ppapi::proxy::NaClMessageScanner; 29 using ppapi::proxy::NaClMessageScanner;
34 30
35 namespace { 31 namespace {
36 32
37 enum BufferSizeStatus { 33 enum BufferSizeStatus {
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
562 iter->descriptor() 558 iter->descriptor()
563 #else 559 #else
564 iter->descriptor().fd 560 iter->descriptor().fd
565 #endif 561 #endif
566 ))); 562 )));
567 break; 563 break;
568 } 564 }
569 case ppapi::proxy::SerializedHandle::FILE: { 565 case ppapi::proxy::SerializedHandle::FILE: {
570 // Create the NaClDesc for the file descriptor. If quota checking is 566 // Create the NaClDesc for the file descriptor. If quota checking is
571 // required, wrap it in a NaClDescQuota. 567 // required, wrap it in a NaClDescQuota.
572 NaClDesc* desc = NaClDescIoDescFromHandleAllocCtor( 568 NaClDesc* desc = NaClDescIoMakeFromHandle(
573 #if defined(OS_WIN) 569 #if defined(OS_WIN)
574 iter->descriptor(), 570 iter->descriptor(),
575 #else 571 #else
576 iter->descriptor().fd, 572 iter->descriptor().fd,
577 #endif 573 #endif
578 TranslatePepperFileReadWriteOpenFlags(iter->open_flags())); 574 TranslatePepperFileReadWriteOpenFlags(iter->open_flags()));
579 if (desc && iter->file_io()) { 575 if (desc && iter->file_io()) {
580 desc = MakeNaClDescQuota( 576 desc = MakeNaClDescQuota(
581 locked_data_.nacl_msg_scanner_.GetFile(iter->file_io()), 577 locked_data_.nacl_msg_scanner_.GetFile(iter->file_io()),
582 desc); 578 desc);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
641 // However, we must rewrite the message to clear the file tokens. 637 // However, we must rewrite the message to clear the file tokens.
642 base::PickleIterator iter = IPC::SyncMessage::GetDataIterator(&orig_msg); 638 base::PickleIterator iter = IPC::SyncMessage::GetDataIterator(&orig_msg);
643 ppapi::proxy::SerializedHandle sh; 639 ppapi::proxy::SerializedHandle sh;
644 640
645 // We know that this can be read safely; see the original read in 641 // We know that this can be read safely; see the original read in
646 // OnMessageReceived(). 642 // OnMessageReceived().
647 CHECK(IPC::ReadParam(&orig_msg, &iter, &sh)); 643 CHECK(IPC::ReadParam(&orig_msg, &iter, &sh));
648 scoped_ptr<IPC::Message> new_msg = CreateOpenResourceReply(orig_msg, sh); 644 scoped_ptr<IPC::Message> new_msg = CreateOpenResourceReply(orig_msg, sh);
649 645
650 scoped_ptr<NaClDescWrapper> desc_wrapper(new NaClDescWrapper( 646 scoped_ptr<NaClDescWrapper> desc_wrapper(new NaClDescWrapper(
651 NaClDescIoDescFromHandleAllocCtor( 647 NaClDescIoMakeFromHandle(
652 #if defined(OS_WIN) 648 #if defined(OS_WIN)
653 sh.descriptor(), 649 sh.descriptor(),
654 #else 650 #else
655 sh.descriptor().fd, 651 sh.descriptor().fd,
656 #endif 652 #endif
657 NACL_ABI_O_RDONLY))); 653 NACL_ABI_O_RDONLY)));
658 654
659 scoped_refptr<RewrittenMessage> rewritten_msg(new RewrittenMessage); 655 scoped_refptr<RewrittenMessage> rewritten_msg(new RewrittenMessage);
660 rewritten_msg->AddDescriptor(desc_wrapper.release()); 656 rewritten_msg->AddDescriptor(desc_wrapper.release());
661 { 657 {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 header.flags = msg.flags(); 826 header.flags = msg.flags();
831 header.num_fds = static_cast<uint16>(rewritten_msg->desc_count()); 827 header.num_fds = static_cast<uint16>(rewritten_msg->desc_count());
832 828
833 rewritten_msg->SetData(header, msg.payload(), msg.payload_size()); 829 rewritten_msg->SetData(header, msg.payload(), msg.payload_size());
834 locked_data_.to_be_received_.push(rewritten_msg); 830 locked_data_.to_be_received_.push(rewritten_msg);
835 } 831 }
836 832
837 int TranslatePepperFileReadWriteOpenFlagsForTesting(int32_t pp_open_flags) { 833 int TranslatePepperFileReadWriteOpenFlagsForTesting(int32_t pp_open_flags) {
838 return TranslatePepperFileReadWriteOpenFlags(pp_open_flags); 834 return TranslatePepperFileReadWriteOpenFlags(pp_open_flags);
839 } 835 }
OLDNEW
« no previous file with comments | « components/nacl/loader/DEPS ('k') | components/nacl/loader/nonsfi/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698