| OLD | NEW |
| 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 #include "content/renderer/pepper_plugin_delegate_impl.h" | 5 #include "content/renderer/pepper_plugin_delegate_impl.h" |
| 6 | 6 |
| 7 #include <cmath> | 7 #include <cmath> |
| 8 #include <queue> | 8 #include <queue> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| 11 #include "base/callback.h" | 11 #include "base/callback.h" |
| 12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
| 13 #include "base/file_path.h" | 13 #include "base/file_path.h" |
| 14 #include "base/file_util_proxy.h" | 14 #include "base/file_util_proxy.h" |
| 15 #include "base/logging.h" | 15 #include "base/logging.h" |
| 16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
| 17 #include "base/string_split.h" | 17 #include "base/string_split.h" |
| 18 #include "base/sync_socket.h" | 18 #include "base/sync_socket.h" |
| 19 #include "base/task.h" | 19 #include "base/task.h" |
| 20 #include "base/time.h" | 20 #include "base/time.h" |
| 21 #include "content/common/child_process.h" | 21 #include "content/common/child_process.h" |
| 22 #include "content/common/child_thread.h" | 22 #include "content/common/child_thread.h" |
| 23 #include "content/common/content_switches.h" | 23 #include "content/common/content_switches.h" |
| 24 #include "content/common/file_system/file_system_dispatcher.h" | 24 #include "content/common/file_system/file_system_dispatcher.h" |
| 25 #include "content/common/file_system_messages.h" | 25 #include "content/common/file_system_messages.h" |
| 26 #include "content/common/media/audio_messages.h" | 26 #include "content/common/media/audio_messages.h" |
| 27 #include "content/common/pepper_file_messages.h" | 27 #include "content/common/pepper_file_messages.h" |
| 28 #include "content/common/pepper_messages.h" |
| 28 #include "content/common/pepper_plugin_registry.h" | 29 #include "content/common/pepper_plugin_registry.h" |
| 29 #include "content/common/pepper_messages.h" | |
| 30 #include "content/common/quota_dispatcher.h" | 30 #include "content/common/quota_dispatcher.h" |
| 31 #include "content/common/view_messages.h" | 31 #include "content/common/view_messages.h" |
| 32 #include "content/renderer/content_renderer_client.h" | 32 #include "content/renderer/content_renderer_client.h" |
| 33 #include "content/renderer/gpu/command_buffer_proxy.h" | 33 #include "content/renderer/gpu/command_buffer_proxy.h" |
| 34 #include "content/renderer/gpu/gpu_channel_host.h" | 34 #include "content/renderer/gpu/gpu_channel_host.h" |
| 35 #include "content/renderer/gpu/renderer_gl_context.h" | 35 #include "content/renderer/gpu/renderer_gl_context.h" |
| 36 #include "content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h" | 36 #include "content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h" |
| 37 #include "content/renderer/media/audio_message_filter.h" | 37 #include "content/renderer/media/audio_message_filter.h" |
| 38 #include "content/renderer/media/video_capture_impl_manager.h" | 38 #include "content/renderer/media/video_capture_impl_manager.h" |
| 39 #include "content/renderer/p2p/p2p_transport_impl.h" | 39 #include "content/renderer/p2p/p2p_transport_impl.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 58 #include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h" | 58 #include "third_party/WebKit/Source/WebKit/chromium/public/WebScreenInfo.h" |
| 59 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" | 59 #include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" |
| 60 #include "ui/gfx/size.h" | 60 #include "ui/gfx/size.h" |
| 61 #include "ui/gfx/surface/transport_dib.h" | 61 #include "ui/gfx/surface/transport_dib.h" |
| 62 #include "webkit/fileapi/file_system_callback_dispatcher.h" | 62 #include "webkit/fileapi/file_system_callback_dispatcher.h" |
| 63 #include "webkit/glue/context_menu.h" | 63 #include "webkit/glue/context_menu.h" |
| 64 #include "webkit/plugins/npapi/webplugin.h" | 64 #include "webkit/plugins/npapi/webplugin.h" |
| 65 #include "webkit/plugins/ppapi/file_path.h" | 65 #include "webkit/plugins/ppapi/file_path.h" |
| 66 #include "webkit/plugins/ppapi/ppb_file_io_impl.h" | 66 #include "webkit/plugins/ppapi/ppb_file_io_impl.h" |
| 67 #include "webkit/plugins/ppapi/plugin_module.h" | 67 #include "webkit/plugins/ppapi/plugin_module.h" |
| 68 #include "webkit/plugins/ppapi/ppapi_plugin_info.h" |
| 68 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" | 69 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" |
| 69 #include "webkit/plugins/ppapi/ppb_broker_impl.h" | 70 #include "webkit/plugins/ppapi/ppb_broker_impl.h" |
| 70 #include "webkit/plugins/ppapi/ppb_flash_impl.h" | 71 #include "webkit/plugins/ppapi/ppb_flash_impl.h" |
| 71 #include "webkit/plugins/ppapi/ppb_flash_net_connector_impl.h" | 72 #include "webkit/plugins/ppapi/ppb_flash_net_connector_impl.h" |
| 72 #include "webkit/plugins/ppapi/resource_helper.h" | 73 #include "webkit/plugins/ppapi/resource_helper.h" |
| 73 #include "webkit/plugins/webplugininfo.h" | 74 #include "webkit/plugins/webplugininfo.h" |
| 74 | 75 |
| 75 using WebKit::WebView; | 76 using WebKit::WebView; |
| 76 | 77 |
| 77 namespace { | 78 namespace { |
| (...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 678 // See if a module has already been loaded for this plugin. | 679 // See if a module has already been loaded for this plugin. |
| 679 FilePath path(webplugin_info.path); | 680 FilePath path(webplugin_info.path); |
| 680 scoped_refptr<webkit::ppapi::PluginModule> module = | 681 scoped_refptr<webkit::ppapi::PluginModule> module = |
| 681 PepperPluginRegistry::GetInstance()->GetLiveModule(path); | 682 PepperPluginRegistry::GetInstance()->GetLiveModule(path); |
| 682 if (module) | 683 if (module) |
| 683 return module; | 684 return module; |
| 684 | 685 |
| 685 // In-process plugins will have always been created up-front to avoid the | 686 // In-process plugins will have always been created up-front to avoid the |
| 686 // sandbox restrictions. So getting here implies it doesn't exist or should | 687 // sandbox restrictions. So getting here implies it doesn't exist or should |
| 687 // be out of process. | 688 // be out of process. |
| 688 const PepperPluginInfo* info = | 689 const webkit::ppapi::PluginInfo* info = |
| 689 PepperPluginRegistry::GetInstance()->GetInfoForPlugin(webplugin_info); | 690 PepperPluginRegistry::GetInstance()->GetInfoForPlugin( |
| 691 webplugin_info.path); |
| 690 if (!info) { | 692 if (!info) { |
| 691 *pepper_plugin_was_registered = false; | 693 *pepper_plugin_was_registered = false; |
| 692 return scoped_refptr<webkit::ppapi::PluginModule>(); | 694 return scoped_refptr<webkit::ppapi::PluginModule>(); |
| 693 } else if (!info->is_out_of_process) { | 695 } else if (!info->is_out_of_process) { |
| 694 // In-process plugin not preloaded, it probably couldn't be initialized. | 696 // In-process plugin not preloaded, it probably couldn't be initialized. |
| 695 return scoped_refptr<webkit::ppapi::PluginModule>(); | 697 return scoped_refptr<webkit::ppapi::PluginModule>(); |
| 696 } | 698 } |
| 697 | 699 |
| 698 // Out of process: have the browser start the plugin process for us. | 700 // Out of process: have the browser start the plugin process for us. |
| 699 base::ProcessHandle plugin_process_handle = base::kNullProcessHandle; | 701 base::ProcessHandle plugin_process_handle = base::kNullProcessHandle; |
| (...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1492 | 1494 |
| 1493 int PepperPluginDelegateImpl::GetRoutingId() const { | 1495 int PepperPluginDelegateImpl::GetRoutingId() const { |
| 1494 return render_view_->routing_id(); | 1496 return render_view_->routing_id(); |
| 1495 } | 1497 } |
| 1496 | 1498 |
| 1497 void PepperPluginDelegateImpl::PublishInitialPolicy( | 1499 void PepperPluginDelegateImpl::PublishInitialPolicy( |
| 1498 scoped_refptr<webkit::ppapi::PluginInstance> instance, | 1500 scoped_refptr<webkit::ppapi::PluginInstance> instance, |
| 1499 const std::string& policy) { | 1501 const std::string& policy) { |
| 1500 instance->HandlePolicyUpdate(policy); | 1502 instance->HandlePolicyUpdate(policy); |
| 1501 } | 1503 } |
| OLD | NEW |