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

Side by Side Diff: components/nacl/renderer/plugin/plugin.h

Issue 1137833003: Attempt to fix a CloseHandle crasher in the renderer process. The crash is triggered by Nacl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reverted changes to ppb_nacl_private_impl.cc Created 5 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
« no previous file with comments | « no previous file | components/nacl/renderer/plugin/pnacl_translate_thread.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // -*- c++ -*- 1 // -*- c++ -*-
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 // The portable representation of an instance and root scriptable object. 6 // The portable representation of an instance and root scriptable object.
7 // The PPAPI version of the plugin instantiates a subclass of this class. 7 // The PPAPI version of the plugin instantiates a subclass of this class.
8 8
9 #ifndef COMPONENTS_NACL_RENDERER_PLUGIN_PLUGIN_H_ 9 #ifndef COMPONENTS_NACL_RENDERER_PLUGIN_PLUGIN_H_
10 #define COMPONENTS_NACL_RENDERER_PLUGIN_PLUGIN_H_ 10 #define COMPONENTS_NACL_RENDERER_PLUGIN_PLUGIN_H_
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 // event handlers should block until the module is ready before 73 // event handlers should block until the module is ready before
74 // trying to communicate with it, i.e., until nacl_ready_state is 74 // trying to communicate with it, i.e., until nacl_ready_state is
75 // DONE. 75 // DONE.
76 // 76 //
77 // NB: currently we do not time out, so if the untrusted code 77 // NB: currently we do not time out, so if the untrusted code
78 // does not signal that it is ready, then we will deadlock the main 78 // does not signal that it is ready, then we will deadlock the main
79 // thread of the renderer on this subsequent event delivery. We 79 // thread of the renderer on this subsequent event delivery. We
80 // should include a time-out at which point we declare the 80 // should include a time-out at which point we declare the
81 // nacl_ready_state to be done, and let the normal crash detection 81 // nacl_ready_state to be done, and let the normal crash detection
82 // mechanism(s) take over. 82 // mechanism(s) take over.
83 // Please note that a call to this function takes over ownership of the
84 // file_info pointer.
83 void LoadNaClModule(PP_NaClFileInfo file_info, 85 void LoadNaClModule(PP_NaClFileInfo file_info,
84 bool uses_nonsfi_mode, 86 bool uses_nonsfi_mode,
85 PP_NaClAppProcessType process_type); 87 PP_NaClAppProcessType process_type);
86 88
87 // Load support. 89 // Load support.
88 // A helper SRPC NaCl module can be loaded given a PP_NaClFileInfo. 90 // A helper SRPC NaCl module can be loaded given a PP_NaClFileInfo.
89 // Blocks until the helper module signals initialization is done. 91 // Blocks until the helper module signals initialization is done.
90 // Does not update nacl_module_origin(). 92 // Does not update nacl_module_origin().
91 // Returns NULL or the NaClSubprocess of the new helper NaCl module. 93 // Returns NULL or the NaClSubprocess of the new helper NaCl module.
94 // Please note that a call to this function takes over ownership of the
95 // file_info pointer.
92 NaClSubprocess* LoadHelperNaClModule(const std::string& helper_url, 96 NaClSubprocess* LoadHelperNaClModule(const std::string& helper_url,
93 PP_NaClFileInfo file_info, 97 PP_NaClFileInfo file_info,
94 ErrorInfo* error_info); 98 ErrorInfo* error_info);
95 99
96 // Report an error that was encountered while loading a module. 100 // Report an error that was encountered while loading a module.
97 void ReportLoadError(const ErrorInfo& error_info); 101 void ReportLoadError(const ErrorInfo& error_info);
98 102
99 nacl::DescWrapperFactory* wrapper_factory() const { return wrapper_factory_; } 103 nacl::DescWrapperFactory* wrapper_factory() const { return wrapper_factory_; }
100 104
101 const PPB_NaCl_Private* nacl_interface() const { return nacl_interface_; } 105 const PPB_NaCl_Private* nacl_interface() const { return nacl_interface_; }
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 174
171 PP_NaClFileInfo nexe_file_info_; 175 PP_NaClFileInfo nexe_file_info_;
172 176
173 const PPB_NaCl_Private* nacl_interface_; 177 const PPB_NaCl_Private* nacl_interface_;
174 pp::UMAPrivate uma_interface_; 178 pp::UMAPrivate uma_interface_;
175 }; 179 };
176 180
177 } // namespace plugin 181 } // namespace plugin
178 182
179 #endif // COMPONENTS_NACL_RENDERER_PLUGIN_PLUGIN_H_ 183 #endif // COMPONENTS_NACL_RENDERER_PLUGIN_PLUGIN_H_
OLDNEW
« no previous file with comments | « no previous file | components/nacl/renderer/plugin/pnacl_translate_thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698