| 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 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" | 5 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <cstddef> | 8 #include <cstddef> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <queue> | 10 #include <queue> |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 #include "content/public/common/media_stream_request.h" | 35 #include "content/public/common/media_stream_request.h" |
| 36 #include "content/public/common/referrer.h" | 36 #include "content/public/common/referrer.h" |
| 37 #include "content/public/renderer/content_renderer_client.h" | 37 #include "content/public/renderer/content_renderer_client.h" |
| 38 #include "content/public/renderer/renderer_restrict_dispatch_group.h" | 38 #include "content/public/renderer/renderer_restrict_dispatch_group.h" |
| 39 #include "content/renderer/gamepad_shared_memory_reader.h" | 39 #include "content/renderer/gamepad_shared_memory_reader.h" |
| 40 #include "content/renderer/media/media_stream_dispatcher.h" | 40 #include "content/renderer/media/media_stream_dispatcher.h" |
| 41 #include "content/renderer/media/pepper_platform_video_decoder_impl.h" | 41 #include "content/renderer/media/pepper_platform_video_decoder_impl.h" |
| 42 #include "content/renderer/p2p/socket_dispatcher.h" | 42 #include "content/renderer/p2p/socket_dispatcher.h" |
| 43 #include "content/renderer/pepper/content_renderer_pepper_host_factory.h" | 43 #include "content/renderer/pepper/content_renderer_pepper_host_factory.h" |
| 44 #include "content/renderer/pepper/pepper_broker_impl.h" | 44 #include "content/renderer/pepper/pepper_broker_impl.h" |
| 45 #include "content/renderer/pepper/pepper_browser_connection.h" |
| 45 #include "content/renderer/pepper/pepper_device_enumeration_event_handler.h" | 46 #include "content/renderer/pepper/pepper_device_enumeration_event_handler.h" |
| 46 #include "content/renderer/pepper/pepper_file_system_host.h" | 47 #include "content/renderer/pepper/pepper_file_system_host.h" |
| 47 #include "content/renderer/pepper/pepper_hung_plugin_filter.h" | 48 #include "content/renderer/pepper/pepper_hung_plugin_filter.h" |
| 48 #include "content/renderer/pepper/pepper_in_process_resource_creation.h" | 49 #include "content/renderer/pepper/pepper_in_process_resource_creation.h" |
| 49 #include "content/renderer/pepper/pepper_in_process_router.h" | 50 #include "content/renderer/pepper/pepper_in_process_router.h" |
| 50 #include "content/renderer/pepper/pepper_platform_audio_input_impl.h" | 51 #include "content/renderer/pepper/pepper_platform_audio_input_impl.h" |
| 51 #include "content/renderer/pepper/pepper_platform_audio_output_impl.h" | 52 #include "content/renderer/pepper/pepper_platform_audio_output_impl.h" |
| 52 #include "content/renderer/pepper/pepper_platform_context_3d_impl.h" | 53 #include "content/renderer/pepper/pepper_platform_context_3d_impl.h" |
| 53 #include "content/renderer/pepper/pepper_platform_image_2d_impl.h" | 54 #include "content/renderer/pepper/pepper_platform_image_2d_impl.h" |
| 54 #include "content/renderer/pepper/pepper_platform_video_capture_impl.h" | 55 #include "content/renderer/pepper/pepper_platform_video_capture_impl.h" |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 196 render_view->Send(new ViewHostMsg_DidDeleteOutOfProcessPepperInstance( | 197 render_view->Send(new ViewHostMsg_DidDeleteOutOfProcessPepperInstance( |
| 197 plugin_child_id_, | 198 plugin_child_id_, |
| 198 instance, | 199 instance, |
| 199 is_external_)); | 200 is_external_)); |
| 200 } | 201 } |
| 201 } | 202 } |
| 202 virtual base::ProcessId GetPeerProcessId() OVERRIDE { | 203 virtual base::ProcessId GetPeerProcessId() OVERRIDE { |
| 203 return peer_pid_; | 204 return peer_pid_; |
| 204 } | 205 } |
| 205 | 206 |
| 207 virtual int GetPluginChildId() OVERRIDE { |
| 208 return plugin_child_id_; |
| 209 } |
| 210 |
| 206 ppapi::proxy::HostDispatcher* dispatcher() { return dispatcher_.get(); } | 211 ppapi::proxy::HostDispatcher* dispatcher() { return dispatcher_.get(); } |
| 207 | 212 |
| 208 private: | 213 private: |
| 209 webkit::ppapi::PluginModule* module_; | 214 webkit::ppapi::PluginModule* module_; |
| 210 | 215 |
| 211 base::ProcessId peer_pid_; | 216 base::ProcessId peer_pid_; |
| 212 | 217 |
| 213 // ID that the browser process uses to idetify the child process for the | 218 // ID that the browser process uses to idetify the child process for the |
| 214 // plugin. This isn't directly useful from our process (the renderer) except | 219 // plugin. This isn't directly useful from our process (the renderer) except |
| 215 // in messages to the browser to disambiguate plugins. | 220 // in messages to the browser to disambiguate plugins. |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 321 if (!resource || !ppapi_host) | 326 if (!resource || !ppapi_host) |
| 322 return NULL; | 327 return NULL; |
| 323 return static_cast<HostType*>(ppapi_host->GetResourceHost(resource)); | 328 return static_cast<HostType*>(ppapi_host->GetResourceHost(resource)); |
| 324 } | 329 } |
| 325 | 330 |
| 326 } // namespace | 331 } // namespace |
| 327 | 332 |
| 328 PepperPluginDelegateImpl::PepperPluginDelegateImpl(RenderViewImpl* render_view) | 333 PepperPluginDelegateImpl::PepperPluginDelegateImpl(RenderViewImpl* render_view) |
| 329 : RenderViewObserver(render_view), | 334 : RenderViewObserver(render_view), |
| 330 render_view_(render_view), | 335 render_view_(render_view), |
| 336 pepper_browser_connection_(this), |
| 331 focused_plugin_(NULL), | 337 focused_plugin_(NULL), |
| 332 last_mouse_event_target_(NULL), | 338 last_mouse_event_target_(NULL), |
| 333 device_enumeration_event_handler_( | 339 device_enumeration_event_handler_( |
| 334 new PepperDeviceEnumerationEventHandler()) { | 340 new PepperDeviceEnumerationEventHandler()) { |
| 335 } | 341 } |
| 336 | 342 |
| 337 PepperPluginDelegateImpl::~PepperPluginDelegateImpl() { | 343 PepperPluginDelegateImpl::~PepperPluginDelegateImpl() { |
| 338 DCHECK(mouse_lock_instances_.empty()); | 344 DCHECK(mouse_lock_instances_.empty()); |
| 339 } | 345 } |
| 340 | 346 |
| (...skipping 1121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1462 base::MessageLoop::current()->PostTask( | 1468 base::MessageLoop::current()->PostTask( |
| 1463 FROM_HERE, | 1469 FROM_HERE, |
| 1464 base::Bind(&MediaStreamDispatcher::StopEnumerateDevices, | 1470 base::Bind(&MediaStreamDispatcher::StopEnumerateDevices, |
| 1465 render_view_->media_stream_dispatcher()->AsWeakPtr(), | 1471 render_view_->media_stream_dispatcher()->AsWeakPtr(), |
| 1466 request_id, | 1472 request_id, |
| 1467 device_enumeration_event_handler_.get()->AsWeakPtr())); | 1473 device_enumeration_event_handler_.get()->AsWeakPtr())); |
| 1468 #endif | 1474 #endif |
| 1469 } | 1475 } |
| 1470 | 1476 |
| 1471 bool PepperPluginDelegateImpl::OnMessageReceived(const IPC::Message& message) { | 1477 bool PepperPluginDelegateImpl::OnMessageReceived(const IPC::Message& message) { |
| 1478 if (pepper_browser_connection_.OnMessageReceived(message)) |
| 1479 return true; |
| 1480 |
| 1472 bool handled = true; | 1481 bool handled = true; |
| 1473 IPC_BEGIN_MESSAGE_MAP(PepperPluginDelegateImpl, message) | 1482 IPC_BEGIN_MESSAGE_MAP(PepperPluginDelegateImpl, message) |
| 1474 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ConnectACK, | 1483 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ConnectACK, |
| 1475 OnTCPSocketConnectACK) | 1484 OnTCPSocketConnectACK) |
| 1476 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SSLHandshakeACK, | 1485 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SSLHandshakeACK, |
| 1477 OnTCPSocketSSLHandshakeACK) | 1486 OnTCPSocketSSLHandshakeACK) |
| 1478 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ReadACK, OnTCPSocketReadACK) | 1487 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ReadACK, OnTCPSocketReadACK) |
| 1479 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_WriteACK, OnTCPSocketWriteACK) | 1488 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_WriteACK, OnTCPSocketWriteACK) |
| 1480 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SetBoolOptionACK, | 1489 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SetBoolOptionACK, |
| 1481 OnTCPSocketSetBoolOptionACK) | 1490 OnTCPSocketSetBoolOptionACK) |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1686 should_close_source); | 1695 should_close_source); |
| 1687 } | 1696 } |
| 1688 | 1697 |
| 1689 bool PepperPluginDelegateImpl::IsRunningInProcess(PP_Instance instance) const { | 1698 bool PepperPluginDelegateImpl::IsRunningInProcess(PP_Instance instance) const { |
| 1690 RendererPpapiHostImpl* host = | 1699 RendererPpapiHostImpl* host = |
| 1691 RendererPpapiHostImpl::GetForPPInstance(instance); | 1700 RendererPpapiHostImpl::GetForPPInstance(instance); |
| 1692 return host && host->IsRunningInProcess(); | 1701 return host && host->IsRunningInProcess(); |
| 1693 } | 1702 } |
| 1694 | 1703 |
| 1695 } // namespace content | 1704 } // namespace content |
| OLD | NEW |