| 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_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ |
| 6 #define CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ | 6 #define CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| 11 #include <vector> | 11 #include <vector> |
| 12 | 12 |
| 13 #include "base/basictypes.h" | 13 #include "base/basictypes.h" |
| 14 #include "base/id_map.h" | 14 #include "base/id_map.h" |
| 15 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
| 16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
| 17 #include "base/memory/weak_ptr.h" | 17 #include "base/memory/weak_ptr.h" |
| 18 #include "base/observer_list.h" | 18 #include "base/observer_list.h" |
| 19 #include "content/public/renderer/render_view_observer.h" | 19 #include "content/public/renderer/render_view_observer.h" |
| 20 #include "content/renderer/pepper/pepper_browser_connection.h" | 20 #include "content/renderer/pepper/pepper_browser_connection.h" |
| 21 #include "content/renderer/pepper/plugin_delegate.h" | 21 #include "content/renderer/pepper/plugin_delegate.h" |
| 22 #include "content/renderer/render_view_pepper_helper.h" | 22 #include "content/renderer/render_view_pepper_helper.h" |
| 23 #include "ppapi/c/pp_file_info.h" | 23 #include "ppapi/c/pp_file_info.h" |
| 24 #include "ppapi/c/ppb_tcp_socket.h" | 24 #include "ppapi/c/ppb_tcp_socket.h" |
| 25 #include "ppapi/c/private/ppb_tcp_socket_private.h" | 25 #include "ppapi/c/private/ppb_tcp_socket_private.h" |
| 26 #include "ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h" | |
| 27 #include "ppapi/shared_impl/private/tcp_socket_private_impl.h" | 26 #include "ppapi/shared_impl/private/tcp_socket_private_impl.h" |
| 28 #include "ui/base/ime/text_input_type.h" | 27 #include "ui/base/ime/text_input_type.h" |
| 29 | 28 |
| 30 namespace base { | 29 namespace base { |
| 31 class FilePath; | 30 class FilePath; |
| 32 } | 31 } |
| 33 | 32 |
| 34 namespace ppapi { | 33 namespace ppapi { |
| 35 class PepperFilePath; | 34 class PepperFilePath; |
| 36 class PPB_X509Certificate_Fields; | 35 class PPB_X509Certificate_Fields; |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 void OnTCPSocketReadACK(uint32 plugin_dispatcher_id, | 167 void OnTCPSocketReadACK(uint32 plugin_dispatcher_id, |
| 169 uint32 socket_id, | 168 uint32 socket_id, |
| 170 int32_t result, | 169 int32_t result, |
| 171 const std::string& data); | 170 const std::string& data); |
| 172 void OnTCPSocketWriteACK(uint32 plugin_dispatcher_id, | 171 void OnTCPSocketWriteACK(uint32 plugin_dispatcher_id, |
| 173 uint32 socket_id, | 172 uint32 socket_id, |
| 174 int32_t result); | 173 int32_t result); |
| 175 void OnTCPSocketSetOptionACK(uint32 plugin_dispatcher_id, | 174 void OnTCPSocketSetOptionACK(uint32 plugin_dispatcher_id, |
| 176 uint32 socket_id, | 175 uint32 socket_id, |
| 177 int32_t result); | 176 int32_t result); |
| 178 void OnTCPServerSocketListenACK(uint32 plugin_dispatcher_id, | |
| 179 PP_Resource socket_resource, | |
| 180 uint32 socket_id, | |
| 181 const PP_NetAddress_Private& local_addr, | |
| 182 int32_t status); | |
| 183 void OnTCPServerSocketAcceptACK(uint32 plugin_dispatcher_id, | |
| 184 uint32 socket_id, | |
| 185 uint32 accepted_socket_id, | |
| 186 const PP_NetAddress_Private& local_addr, | |
| 187 const PP_NetAddress_Private& remote_addr); | |
| 188 void OnPpapiBrokerChannelCreated(int request_id, | 177 void OnPpapiBrokerChannelCreated(int request_id, |
| 189 base::ProcessId broker_pid, | 178 base::ProcessId broker_pid, |
| 190 const IPC::ChannelHandle& handle); | 179 const IPC::ChannelHandle& handle); |
| 191 void OnAsyncFileOpened(base::PlatformFileError error_code, | 180 void OnAsyncFileOpened(base::PlatformFileError error_code, |
| 192 IPC::PlatformFileForTransit file_for_transit, | 181 IPC::PlatformFileForTransit file_for_transit, |
| 193 int message_id); | 182 int message_id); |
| 194 void OnPpapiBrokerPermissionResult(int request_id, bool result); | 183 void OnPpapiBrokerPermissionResult(int request_id, bool result); |
| 195 | 184 |
| 196 // Attempts to create a PPAPI plugin for the given filepath. On success, it | 185 // Attempts to create a PPAPI plugin for the given filepath. On success, it |
| 197 // will return the newly-created module. | 186 // will return the newly-created module. |
| (...skipping 28 matching lines...) Expand all Loading... |
| 226 // Connection for sending and receiving pepper host-related messages to/from | 215 // Connection for sending and receiving pepper host-related messages to/from |
| 227 // the browser. | 216 // the browser. |
| 228 PepperBrowserConnection pepper_browser_connection_; | 217 PepperBrowserConnection pepper_browser_connection_; |
| 229 | 218 |
| 230 std::set<PepperPluginInstanceImpl*> active_instances_; | 219 std::set<PepperPluginInstanceImpl*> active_instances_; |
| 231 | 220 |
| 232 IDMap<AsyncOpenFileCallback> pending_async_open_files_; | 221 IDMap<AsyncOpenFileCallback> pending_async_open_files_; |
| 233 | 222 |
| 234 IDMap<PPB_TCPSocket_Private_Impl> tcp_sockets_; | 223 IDMap<PPB_TCPSocket_Private_Impl> tcp_sockets_; |
| 235 | 224 |
| 236 IDMap<ppapi::PPB_TCPServerSocket_Shared> tcp_server_sockets_; | |
| 237 | |
| 238 typedef IDMap<scoped_refptr<PepperBroker>, IDMapOwnPointer> BrokerMap; | 225 typedef IDMap<scoped_refptr<PepperBroker>, IDMapOwnPointer> BrokerMap; |
| 239 BrokerMap pending_connect_broker_; | 226 BrokerMap pending_connect_broker_; |
| 240 | 227 |
| 241 typedef IDMap<base::WeakPtr<PPB_Broker_Impl> > PermissionRequestMap; | 228 typedef IDMap<base::WeakPtr<PPB_Broker_Impl> > PermissionRequestMap; |
| 242 PermissionRequestMap pending_permission_requests_; | 229 PermissionRequestMap pending_permission_requests_; |
| 243 | 230 |
| 244 // Whether or not the focus is on a PPAPI plugin | 231 // Whether or not the focus is on a PPAPI plugin |
| 245 PepperPluginInstanceImpl* focused_plugin_; | 232 PepperPluginInstanceImpl* focused_plugin_; |
| 246 | 233 |
| 247 // Current text input composition text. Empty if no composition is in | 234 // Current text input composition text. Empty if no composition is in |
| 248 // progress. | 235 // progress. |
| 249 string16 composition_text_; | 236 string16 composition_text_; |
| 250 | 237 |
| 251 // The plugin instance that received the last mouse event. It is set to NULL | 238 // The plugin instance that received the last mouse event. It is set to NULL |
| 252 // if the last mouse event went to elements other than Pepper plugins. | 239 // if the last mouse event went to elements other than Pepper plugins. |
| 253 // |last_mouse_event_target_| is not owned by this class. We can know about | 240 // |last_mouse_event_target_| is not owned by this class. We can know about |
| 254 // when it is destroyed via InstanceDeleted(). | 241 // when it is destroyed via InstanceDeleted(). |
| 255 PepperPluginInstanceImpl* last_mouse_event_target_; | 242 PepperPluginInstanceImpl* last_mouse_event_target_; |
| 256 | 243 |
| 257 scoped_ptr<GamepadSharedMemoryReader> gamepad_shared_memory_reader_; | 244 scoped_ptr<GamepadSharedMemoryReader> gamepad_shared_memory_reader_; |
| 258 | 245 |
| 259 scoped_refptr<ContextProviderCommandBuffer> offscreen_context3d_; | 246 scoped_refptr<ContextProviderCommandBuffer> offscreen_context3d_; |
| 260 | 247 |
| 261 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl); | 248 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl); |
| 262 }; | 249 }; |
| 263 | 250 |
| 264 } // namespace content | 251 } // namespace content |
| 265 | 252 |
| 266 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ | 253 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ |
| OLD | NEW |