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

Side by Side Diff: webkit/plugins/ppapi/plugin_module.h

Issue 6493004: Implement basic crash detection and shutdown handling for out of process PPAP... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 10 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
« no previous file with comments | « webkit/glue/webkit_glue.gypi ('k') | webkit/plugins/ppapi/plugin_module.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 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_ 5 #ifndef WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_
6 #define WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_ 6 #define WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 const void* GetPluginInterface(const char* name) const; 115 const void* GetPluginInterface(const char* name) const;
116 116
117 // This module is associated with a set of instances. The PluginInstance 117 // This module is associated with a set of instances. The PluginInstance
118 // object declares its association with this module in its destructor and 118 // object declares its association with this module in its destructor and
119 // releases us in its destructor. 119 // releases us in its destructor.
120 void InstanceCreated(PluginInstance* instance); 120 void InstanceCreated(PluginInstance* instance);
121 void InstanceDeleted(PluginInstance* instance); 121 void InstanceDeleted(PluginInstance* instance);
122 122
123 scoped_refptr<CallbackTracker> GetCallbackTracker(); 123 scoped_refptr<CallbackTracker> GetCallbackTracker();
124 124
125 // Called when running out of process and the plugin crashed. This will
126 // release relevant resources and update all affected instances.
127 void PluginCrashed();
128
125 private: 129 private:
126 // Calls the InitializeModule entrypoint. The entrypoint must have been 130 // Calls the InitializeModule entrypoint. The entrypoint must have been
127 // set and the plugin must not be out of process (we don't maintain 131 // set and the plugin must not be out of process (we don't maintain
128 // entrypoints in that case). 132 // entrypoints in that case).
129 bool InitializeModule(); 133 bool InitializeModule();
130 134
131 PluginDelegate::ModuleLifetime* lifetime_delegate_; 135 PluginDelegate::ModuleLifetime* lifetime_delegate_;
132 136
133 // Tracker for completion callbacks, used mainly to ensure that all callbacks 137 // Tracker for completion callbacks, used mainly to ensure that all callbacks
134 // are properly aborted on module shutdown. 138 // are properly aborted on module shutdown.
(...skipping 25 matching lines...) Expand all
160 typedef std::set<PluginInstance*> PluginInstanceSet; 164 typedef std::set<PluginInstance*> PluginInstanceSet;
161 PluginInstanceSet instances_; 165 PluginInstanceSet instances_;
162 166
163 DISALLOW_COPY_AND_ASSIGN(PluginModule); 167 DISALLOW_COPY_AND_ASSIGN(PluginModule);
164 }; 168 };
165 169
166 } // namespace ppapi 170 } // namespace ppapi
167 } // namespace webkit 171 } // namespace webkit
168 172
169 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_ 173 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_
OLDNEW
« no previous file with comments | « webkit/glue/webkit_glue.gypi ('k') | webkit/plugins/ppapi/plugin_module.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698