• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
nacl_irt_start(uint32_t * info)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       NACL_CHROME_DESC_BASE + 2);
23   ppapi::StartUpPlugin();
24 
25   nacl_irt_enter_user_code(info, chrome_irt_query);
26 }
27