| 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 CONTENT_PPAPI_PLUGIN_PPAPI_THREAD_H_ | 5 #ifndef CONTENT_PPAPI_PLUGIN_PPAPI_THREAD_H_ |
| 6 #define CONTENT_PPAPI_PLUGIN_PPAPI_THREAD_H_ | 6 #define CONTENT_PPAPI_PLUGIN_PPAPI_THREAD_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 class PpapiWebKitPlatformSupportImpl; | 42 class PpapiWebKitPlatformSupportImpl; |
| 43 | 43 |
| 44 class PpapiThread : public ChildThread, | 44 class PpapiThread : public ChildThread, |
| 45 public ppapi::proxy::PluginDispatcher::PluginDelegate, | 45 public ppapi::proxy::PluginDispatcher::PluginDelegate, |
| 46 public ppapi::proxy::PluginProxyDelegate { | 46 public ppapi::proxy::PluginProxyDelegate { |
| 47 public: | 47 public: |
| 48 PpapiThread(const CommandLine& command_line, bool is_broker); | 48 PpapiThread(const CommandLine& command_line, bool is_broker); |
| 49 virtual ~PpapiThread(); | 49 virtual ~PpapiThread(); |
| 50 | 50 |
| 51 private: | 51 private: |
| 52 // Make sure the enum list in tools/histogram/histograms.xml is updated with |
| 53 // any change in this list. |
| 54 enum LoadResult { |
| 55 LOAD_SUCCESS, |
| 56 LOAD_FAILED, |
| 57 ENTRY_POINT_MISSING, |
| 58 INIT_FAILED, |
| 59 // NOTE: Add new values only immediately above this line. |
| 60 LOAD_RESULT_MAX // Boundary value for UMA_HISTOGRAM_ENUMERATION. |
| 61 }; |
| 62 |
| 52 // This class finds the target PluginDispatcher for each message it receives | 63 // This class finds the target PluginDispatcher for each message it receives |
| 53 // and forwards the message. | 64 // and forwards the message. |
| 54 class DispatcherMessageListener : public IPC::Listener { | 65 class DispatcherMessageListener : public IPC::Listener { |
| 55 public: | 66 public: |
| 56 explicit DispatcherMessageListener(PpapiThread* owner); | 67 explicit DispatcherMessageListener(PpapiThread* owner); |
| 57 virtual ~DispatcherMessageListener(); | 68 virtual ~DispatcherMessageListener(); |
| 58 | 69 |
| 59 // IPC::Listener implementation. | 70 // IPC::Listener implementation. |
| 60 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; | 71 virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; |
| 61 | 72 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 // Sets up the channel to the given renderer. On success, returns true and | 117 // Sets up the channel to the given renderer. On success, returns true and |
| 107 // fills the given ChannelHandle with the information from the new channel. | 118 // fills the given ChannelHandle with the information from the new channel. |
| 108 bool SetupRendererChannel(base::ProcessId renderer_pid, | 119 bool SetupRendererChannel(base::ProcessId renderer_pid, |
| 109 int renderer_child_id, | 120 int renderer_child_id, |
| 110 bool incognito, | 121 bool incognito, |
| 111 IPC::ChannelHandle* handle); | 122 IPC::ChannelHandle* handle); |
| 112 | 123 |
| 113 // Sets up the name of the plugin for logging using the given path. | 124 // Sets up the name of the plugin for logging using the given path. |
| 114 void SavePluginName(const base::FilePath& path); | 125 void SavePluginName(const base::FilePath& path); |
| 115 | 126 |
| 127 void ReportLoadResult(const base::FilePath& path, LoadResult result); |
| 128 |
| 116 // True if running in a broker process rather than a normal plugin process. | 129 // True if running in a broker process rather than a normal plugin process. |
| 117 bool is_broker_; | 130 bool is_broker_; |
| 118 | 131 |
| 119 base::ScopedNativeLibrary library_; | 132 base::ScopedNativeLibrary library_; |
| 120 | 133 |
| 121 ppapi::PpapiPermissions permissions_; | 134 ppapi::PpapiPermissions permissions_; |
| 122 | 135 |
| 123 // Global state tracking for the proxy. | 136 // Global state tracking for the proxy. |
| 124 ppapi::proxy::PluginGlobals plugin_globals_; | 137 ppapi::proxy::PluginGlobals plugin_globals_; |
| 125 | 138 |
| (...skipping 28 matching lines...) Expand all Loading... |
| 154 #endif | 167 #endif |
| 155 | 168 |
| 156 DispatcherMessageListener dispatcher_message_listener_; | 169 DispatcherMessageListener dispatcher_message_listener_; |
| 157 | 170 |
| 158 DISALLOW_IMPLICIT_CONSTRUCTORS(PpapiThread); | 171 DISALLOW_IMPLICIT_CONSTRUCTORS(PpapiThread); |
| 159 }; | 172 }; |
| 160 | 173 |
| 161 } // namespace content | 174 } // namespace content |
| 162 | 175 |
| 163 #endif // CONTENT_PPAPI_PLUGIN_PPAPI_THREAD_H_ | 176 #endif // CONTENT_PPAPI_PLUGIN_PPAPI_THREAD_H_ |
| OLD | NEW |