1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "base/at_exit.h" 6 #include "native_client/src/public/chrome_main.h" 7 #include "native_client/src/public/irt_core.h" 8 #include "ppapi/nacl_irt/irt_ppapi.h" 9 #include "ppapi/nacl_irt/plugin_startup.h" 10 11 void nacl_irt_start(uint32_t* info) { 12 nacl_irt_init(info); 13 14 // Though it isn't referenced here, we must instantiate an AtExitManager. 15 base::AtExitManager exit_manager; 16 17 // In SFI mode, the FDs of IPC channels are NACL_CHROME_DESC_BASE and its 18 // successor, which is set in nacl_listener.cc. 19 ppapi::SetIPCFileDescriptors( 20 NACL_CHROME_DESC_BASE, 21 NACL_CHROME_DESC_BASE + 1, 22 -1); // Currently manifest service is disabled on NaCl in SFI mode. 23 ppapi::StartUpPlugin(); 24 25 nacl_irt_enter_user_code(info, chrome_irt_query); 26 } 27