Home | History | Annotate | Download | only in nacl_irt
      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