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

Side by Side Diff: ppapi/native_client/src/trusted/plugin/service_runtime.cc

Issue 10214007: Add an IPC channel between the NaCl loader process and the renderer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 7 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 * Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 */ 5 */
6 6
7 #define NACL_LOG_MODULE_NAME "Plugin::ServiceRuntime" 7 #define NACL_LOG_MODULE_NAME "Plugin::ServiceRuntime"
8 8
9 #include "native_client/src/trusted/plugin/service_runtime.h" 9 #include "native_client/src/trusted/plugin/service_runtime.h"
10 10
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 return false; 621 return false;
622 } 622 }
623 return true; 623 return true;
624 } 624 }
625 625
626 bool ServiceRuntime::Start(nacl::DescWrapper* nacl_desc, 626 bool ServiceRuntime::Start(nacl::DescWrapper* nacl_desc,
627 ErrorInfo* error_info, const nacl::string& url) { 627 ErrorInfo* error_info, const nacl::string& url) {
628 PLUGIN_PRINTF(("ServiceRuntime::Start (nacl_desc=%p)\n", 628 PLUGIN_PRINTF(("ServiceRuntime::Start (nacl_desc=%p)\n",
629 reinterpret_cast<void*>(nacl_desc))); 629 reinterpret_cast<void*>(nacl_desc)));
630 630
631 nacl::scoped_ptr<nacl::SelLdrLauncherBase> tmp_subprocess;
632 #ifdef NACL_STANDALONE 631 #ifdef NACL_STANDALONE
633 tmp_subprocess.reset(new nacl::SelLdrLauncherStandalone()); 632 nacl::scoped_ptr<nacl::SelLdrLauncherStandalone>
633 tmp_subprocess(new nacl::SelLdrLauncherStandalone());
634 #else 634 #else
635 tmp_subprocess.reset(new SelLdrLauncherChrome()); 635 nacl::scoped_ptr<SelLdrLauncherChrome>
636 tmp_subprocess(new SelLdrLauncherChrome());
636 #endif 637 #endif
637 if (NULL == tmp_subprocess.get()) { 638 if (NULL == tmp_subprocess.get()) {
638 PLUGIN_PRINTF(("ServiceRuntime::Start (subprocess create failed)\n")); 639 PLUGIN_PRINTF(("ServiceRuntime::Start (subprocess create failed)\n"));
639 error_info->SetReport(ERROR_SEL_LDR_CREATE_LAUNCHER, 640 error_info->SetReport(ERROR_SEL_LDR_CREATE_LAUNCHER,
640 "ServiceRuntime: failed to create sel_ldr launcher"); 641 "ServiceRuntime: failed to create sel_ldr launcher");
641 return false; 642 return false;
642 } 643 }
643 if (!tmp_subprocess->Start(url.c_str())) { 644 #ifdef NACL_STANDALONE
645 bool started = tmp_subprocess->Start(url.c_str());
646 #else
647 bool started = tmp_subprocess->Start(plugin_->pp_instance(), url.c_str());
648 #endif
649 PP_Instance instance = plugin_->pp_instance();
dmichael (off chromium) 2012/05/10 19:38:58 You don't appear to use instance
bbudge 2012/05/11 01:21:16 Done.
650 if (!started) {
644 PLUGIN_PRINTF(("ServiceRuntime::Start (start failed)\n")); 651 PLUGIN_PRINTF(("ServiceRuntime::Start (start failed)\n"));
645 error_info->SetReport(ERROR_SEL_LDR_LAUNCH, 652 error_info->SetReport(ERROR_SEL_LDR_LAUNCH,
646 "ServiceRuntime: failed to start"); 653 "ServiceRuntime: failed to start");
647 return false; 654 return false;
648 } 655 }
649 656
650 subprocess_.reset(tmp_subprocess.release()); 657 subprocess_.reset(tmp_subprocess.release());
651 if (!InitCommunication(nacl_desc, error_info)) { 658 if (!InitCommunication(nacl_desc, error_info)) {
652 subprocess_.reset(NULL); 659 subprocess_.reset(NULL);
653 return false; 660 return false;
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 nacl::MutexLocker take(&mu_); 737 nacl::MutexLocker take(&mu_);
731 return exit_status_; 738 return exit_status_;
732 } 739 }
733 740
734 void ServiceRuntime::set_exit_status(int exit_status) { 741 void ServiceRuntime::set_exit_status(int exit_status) {
735 nacl::MutexLocker take(&mu_); 742 nacl::MutexLocker take(&mu_);
736 exit_status_ = exit_status & 0xff; 743 exit_status_ = exit_status & 0xff;
737 } 744 }
738 745
739 } // namespace plugin 746 } // namespace plugin
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698