| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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> |
| 11 | 11 |
| 12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
| 13 #include "base/files/file_path.h" | 13 #include "base/files/file_path.h" |
| 14 #include "base/memory/ref_counted.h" | 14 #include "base/memory/ref_counted.h" |
| 15 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
| 16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
| 17 #include "base/native_library.h" | 17 #include "base/native_library.h" |
| 18 #include "base/process.h" | 18 #include "base/process.h" |
| 19 #include "ppapi/c/pp_bool.h" | 19 #include "ppapi/c/pp_bool.h" |
| 20 #include "ppapi/c/pp_instance.h" | 20 #include "ppapi/c/pp_instance.h" |
| 21 #include "ppapi/c/pp_module.h" | 21 #include "ppapi/c/pp_module.h" |
| 22 #include "ppapi/c/ppb.h" | 22 #include "ppapi/c/ppb.h" |
| 23 #include "ppapi/c/ppb_core.h" | 23 #include "ppapi/c/ppb_core.h" |
| 24 #include "ppapi/c/private/ppb_nacl_private.h" | 24 #include "ppapi/c/private/ppb_instance_private.h" |
| 25 #include "ppapi/shared_impl/ppapi_permissions.h" | 25 #include "ppapi/shared_impl/ppapi_permissions.h" |
| 26 #include "webkit/plugins/ppapi/plugin_delegate.h" | 26 #include "webkit/plugins/ppapi/plugin_delegate.h" |
| 27 #include "webkit/plugins/webkit_plugins_export.h" | 27 #include "webkit/plugins/webkit_plugins_export.h" |
| 28 | 28 |
| 29 typedef void* NPIdentifier; | 29 typedef void* NPIdentifier; |
| 30 | 30 |
| 31 namespace base { | 31 namespace base { |
| 32 class FilePath; | 32 class FilePath; |
| 33 } | 33 } |
| 34 | 34 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 bool InitAsInternalPlugin(const EntryPoints& entry_points); | 110 bool InitAsInternalPlugin(const EntryPoints& entry_points); |
| 111 | 111 |
| 112 // Initializes this module using the given library path as the plugin. | 112 // Initializes this module using the given library path as the plugin. |
| 113 // Returns true on success. False means that the plugin can not be used. | 113 // Returns true on success. False means that the plugin can not be used. |
| 114 bool InitAsLibrary(const base::FilePath& path); | 114 bool InitAsLibrary(const base::FilePath& path); |
| 115 | 115 |
| 116 // Initializes this module for the given out of process proxy. This takes | 116 // Initializes this module for the given out of process proxy. This takes |
| 117 // ownership of the given pointer, even in the failure case. | 117 // ownership of the given pointer, even in the failure case. |
| 118 void InitAsProxied(PluginDelegate::OutOfProcessProxy* out_of_process_proxy); | 118 void InitAsProxied(PluginDelegate::OutOfProcessProxy* out_of_process_proxy); |
| 119 | 119 |
| 120 // Creates a new module for a NaCl instance that will be using the IPC proxy. | 120 // Creates a new module for an external plugin instance that will be using the |
| 121 // We can't use the existing module, or new instances of the plugin can't | 121 // IPC proxy. We can't use the existing module, or new instances of the plugin |
| 122 // be created. | 122 // can't be created. |
| 123 scoped_refptr<PluginModule> CreateModuleForNaClInstance(); | 123 scoped_refptr<PluginModule> CreateModuleForExternalPluginInstance(); |
| 124 | 124 |
| 125 // Initializes the NaCl module for the out of process proxy. InitAsProxied | 125 // Initializes the external plugin module for the out of process proxy. |
| 126 // must be called before calling InitAsProxiedNaCl. Returns a NaCl result code | 126 // InitAsProxied must be called before calling InitAsProxiedExternalPlugin. |
| 127 // indicating whether the proxy started successfully or there was an error. | 127 // Returns a result code indicating whether the proxy started successfully or |
| 128 PP_NaClResult InitAsProxiedNaCl(PluginInstance* instance); | 128 // there was an error. |
| 129 PP_ExternalPluginResult InitAsProxiedExternalPlugin(PluginInstance* instance); |
| 129 | 130 |
| 130 bool IsProxied() const; | 131 bool IsProxied() const; |
| 131 | 132 |
| 132 // Returns the peer process ID if the plugin is running out of process; | 133 // Returns the peer process ID if the plugin is running out of process; |
| 133 // returns |base::kNullProcessId| otherwise. | 134 // returns |base::kNullProcessId| otherwise. |
| 134 base::ProcessId GetPeerProcessId(); | 135 base::ProcessId GetPeerProcessId(); |
| 135 | 136 |
| 136 // Returns the plugin child process ID if the plugin is running out of | 137 // Returns the plugin child process ID if the plugin is running out of |
| 137 // process. Returns 0 otherwise. This is the ID that the browser process uses | 138 // process. Returns 0 otherwise. This is the ID that the browser process uses |
| 138 // to idetify the child process for the plugin. This isn't directly useful | 139 // to idetify the child process for the plugin. This isn't directly useful |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 | 273 |
| 273 PP_Bool (*reserve_instance_id_)(PP_Module, PP_Instance); | 274 PP_Bool (*reserve_instance_id_)(PP_Module, PP_Instance); |
| 274 | 275 |
| 275 DISALLOW_COPY_AND_ASSIGN(PluginModule); | 276 DISALLOW_COPY_AND_ASSIGN(PluginModule); |
| 276 }; | 277 }; |
| 277 | 278 |
| 278 } // namespace ppapi | 279 } // namespace ppapi |
| 279 } // namespace webkit | 280 } // namespace webkit |
| 280 | 281 |
| 281 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_ | 282 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_MODULE_H_ |
| OLD | NEW |