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 "webkit/plugins/ppapi/plugin_module.h" | 5 #include "webkit/plugins/ppapi/plugin_module.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 #include "ppapi/c/ppb_instance.h" | 45 #include "ppapi/c/ppb_instance.h" |
46 #include "ppapi/c/ppb_url_loader.h" | 46 #include "ppapi/c/ppb_url_loader.h" |
47 #include "ppapi/c/ppb_url_request_info.h" | 47 #include "ppapi/c/ppb_url_request_info.h" |
48 #include "ppapi/c/ppb_url_response_info.h" | 48 #include "ppapi/c/ppb_url_response_info.h" |
49 #include "ppapi/c/ppb_var.h" | 49 #include "ppapi/c/ppb_var.h" |
50 #include "ppapi/c/ppp.h" | 50 #include "ppapi/c/ppp.h" |
51 #include "ppapi/c/ppp_instance.h" | 51 #include "ppapi/c/ppp_instance.h" |
52 #include "ppapi/c/private/ppb_flash.h" | 52 #include "ppapi/c/private/ppb_flash.h" |
53 #include "ppapi/c/private/ppb_flash_menu.h" | 53 #include "ppapi/c/private/ppb_flash_menu.h" |
54 #include "ppapi/c/private/ppb_pdf.h" | 54 #include "ppapi/c/private/ppb_pdf.h" |
| 55 #include "ppapi/c/private/ppb_proxy_private.h" |
55 #include "ppapi/c/private/ppb_nacl_private.h" | 56 #include "ppapi/c/private/ppb_nacl_private.h" |
56 #include "ppapi/c/trusted/ppb_image_data_trusted.h" | 57 #include "ppapi/c/trusted/ppb_image_data_trusted.h" |
57 #include "ppapi/c/trusted/ppb_url_loader_trusted.h" | 58 #include "ppapi/c/trusted/ppb_url_loader_trusted.h" |
58 #include "webkit/plugins/ppapi/callbacks.h" | 59 #include "webkit/plugins/ppapi/callbacks.h" |
59 #include "webkit/plugins/ppapi/common.h" | 60 #include "webkit/plugins/ppapi/common.h" |
60 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" | 61 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" |
61 #include "webkit/plugins/ppapi/ppb_audio_impl.h" | 62 #include "webkit/plugins/ppapi/ppb_audio_impl.h" |
62 #include "webkit/plugins/ppapi/ppb_buffer_impl.h" | 63 #include "webkit/plugins/ppapi/ppb_buffer_impl.h" |
63 #include "webkit/plugins/ppapi/ppb_char_set_impl.h" | 64 #include "webkit/plugins/ppapi/ppb_char_set_impl.h" |
64 #include "webkit/plugins/ppapi/ppb_cursor_control_impl.h" | 65 #include "webkit/plugins/ppapi/ppb_cursor_control_impl.h" |
65 #include "webkit/plugins/ppapi/ppb_directory_reader_impl.h" | 66 #include "webkit/plugins/ppapi/ppb_directory_reader_impl.h" |
66 #include "webkit/plugins/ppapi/ppb_file_chooser_impl.h" | 67 #include "webkit/plugins/ppapi/ppb_file_chooser_impl.h" |
67 #include "webkit/plugins/ppapi/ppb_file_io_impl.h" | 68 #include "webkit/plugins/ppapi/ppb_file_io_impl.h" |
68 #include "webkit/plugins/ppapi/ppb_file_ref_impl.h" | 69 #include "webkit/plugins/ppapi/ppb_file_ref_impl.h" |
69 #include "webkit/plugins/ppapi/ppb_file_system_impl.h" | 70 #include "webkit/plugins/ppapi/ppb_file_system_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_menu_impl.h" | 72 #include "webkit/plugins/ppapi/ppb_flash_menu_impl.h" |
72 #include "webkit/plugins/ppapi/ppb_font_impl.h" | 73 #include "webkit/plugins/ppapi/ppb_font_impl.h" |
73 #include "webkit/plugins/ppapi/ppb_graphics_2d_impl.h" | 74 #include "webkit/plugins/ppapi/ppb_graphics_2d_impl.h" |
74 #include "webkit/plugins/ppapi/ppb_image_data_impl.h" | 75 #include "webkit/plugins/ppapi/ppb_image_data_impl.h" |
75 #include "webkit/plugins/ppapi/ppb_nacl_private_impl.h" | 76 #include "webkit/plugins/ppapi/ppb_nacl_private_impl.h" |
76 #include "webkit/plugins/ppapi/ppb_pdf_impl.h" | 77 #include "webkit/plugins/ppapi/ppb_pdf_impl.h" |
| 78 #include "webkit/plugins/ppapi/ppb_proxy_impl.h" |
77 #include "webkit/plugins/ppapi/ppb_scrollbar_impl.h" | 79 #include "webkit/plugins/ppapi/ppb_scrollbar_impl.h" |
78 #include "webkit/plugins/ppapi/ppb_transport_impl.h" | 80 #include "webkit/plugins/ppapi/ppb_transport_impl.h" |
79 #include "webkit/plugins/ppapi/ppb_url_loader_impl.h" | 81 #include "webkit/plugins/ppapi/ppb_url_loader_impl.h" |
80 #include "webkit/plugins/ppapi/ppb_url_request_info_impl.h" | 82 #include "webkit/plugins/ppapi/ppb_url_request_info_impl.h" |
81 #include "webkit/plugins/ppapi/ppb_url_response_info_impl.h" | 83 #include "webkit/plugins/ppapi/ppb_url_response_info_impl.h" |
82 #include "webkit/plugins/ppapi/ppb_url_util_impl.h" | 84 #include "webkit/plugins/ppapi/ppb_url_util_impl.h" |
83 #include "webkit/plugins/ppapi/ppb_video_decoder_impl.h" | 85 #include "webkit/plugins/ppapi/ppb_video_decoder_impl.h" |
84 #include "webkit/plugins/ppapi/ppb_widget_impl.h" | 86 #include "webkit/plugins/ppapi/ppb_widget_impl.h" |
85 #include "webkit/plugins/ppapi/resource_tracker.h" | 87 #include "webkit/plugins/ppapi/resource_tracker.h" |
86 #include "webkit/plugins/ppapi/var.h" | 88 #include "webkit/plugins/ppapi/var.h" |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 if (strcmp(name, PPB_GRAPHICS_2D_INTERFACE) == 0) | 255 if (strcmp(name, PPB_GRAPHICS_2D_INTERFACE) == 0) |
254 return PPB_Graphics2D_Impl::GetInterface(); | 256 return PPB_Graphics2D_Impl::GetInterface(); |
255 if (strcmp(name, PPB_IMAGEDATA_INTERFACE) == 0) | 257 if (strcmp(name, PPB_IMAGEDATA_INTERFACE) == 0) |
256 return PPB_ImageData_Impl::GetInterface(); | 258 return PPB_ImageData_Impl::GetInterface(); |
257 if (strcmp(name, PPB_IMAGEDATA_TRUSTED_INTERFACE) == 0) | 259 if (strcmp(name, PPB_IMAGEDATA_TRUSTED_INTERFACE) == 0) |
258 return PPB_ImageData_Impl::GetTrustedInterface(); | 260 return PPB_ImageData_Impl::GetTrustedInterface(); |
259 if (strcmp(name, PPB_INSTANCE_INTERFACE) == 0) | 261 if (strcmp(name, PPB_INSTANCE_INTERFACE) == 0) |
260 return PluginInstance::GetInterface(); | 262 return PluginInstance::GetInterface(); |
261 if (strcmp(name, PPB_PDF_INTERFACE) == 0) | 263 if (strcmp(name, PPB_PDF_INTERFACE) == 0) |
262 return PPB_PDF_Impl::GetInterface(); | 264 return PPB_PDF_Impl::GetInterface(); |
| 265 if (strcmp(name, PPB_PROXY_PRIVATE_INTERFACE) == 0) |
| 266 return PPB_Proxy_Impl::GetInterface(); |
263 if (strcmp(name, PPB_SCROLLBAR_DEV_INTERFACE) == 0) | 267 if (strcmp(name, PPB_SCROLLBAR_DEV_INTERFACE) == 0) |
264 return PPB_Scrollbar_Impl::GetInterface(); | 268 return PPB_Scrollbar_Impl::GetInterface(); |
265 if (strcmp(name, PPB_TRANSPORT_DEV_INTERFACE) == 0) | 269 if (strcmp(name, PPB_TRANSPORT_DEV_INTERFACE) == 0) |
266 return PPB_Transport_Impl::GetInterface(); | 270 return PPB_Transport_Impl::GetInterface(); |
267 if (strcmp(name, PPB_URLLOADER_INTERFACE) == 0) | 271 if (strcmp(name, PPB_URLLOADER_INTERFACE) == 0) |
268 return PPB_URLLoader_Impl::GetInterface(); | 272 return PPB_URLLoader_Impl::GetInterface(); |
269 if (strcmp(name, PPB_URLLOADERTRUSTED_INTERFACE) == 0) | 273 if (strcmp(name, PPB_URLLOADERTRUSTED_INTERFACE) == 0) |
270 return PPB_URLLoader_Impl::GetTrustedInterface(); | 274 return PPB_URLLoader_Impl::GetTrustedInterface(); |
271 if (strcmp(name, PPB_URLREQUESTINFO_INTERFACE) == 0) | 275 if (strcmp(name, PPB_URLREQUESTINFO_INTERFACE) == 0) |
272 return PPB_URLRequestInfo_Impl::GetInterface(); | 276 return PPB_URLRequestInfo_Impl::GetInterface(); |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
465 void PluginModule::InstanceDeleted(PluginInstance* instance) { | 469 void PluginModule::InstanceDeleted(PluginInstance* instance) { |
466 if (out_of_process_proxy_.get()) | 470 if (out_of_process_proxy_.get()) |
467 out_of_process_proxy_->RemoveInstance(instance->pp_instance()); | 471 out_of_process_proxy_->RemoveInstance(instance->pp_instance()); |
468 instances_.erase(instance); | 472 instances_.erase(instance); |
469 } | 473 } |
470 | 474 |
471 scoped_refptr<CallbackTracker> PluginModule::GetCallbackTracker() { | 475 scoped_refptr<CallbackTracker> PluginModule::GetCallbackTracker() { |
472 return callback_tracker_; | 476 return callback_tracker_; |
473 } | 477 } |
474 | 478 |
| 479 void PluginModule::PluginCrashed() { |
| 480 // Notify all instances that they crashed. |
| 481 for (PluginInstanceSet::iterator i = instances_.begin(); |
| 482 i != instances_.end(); ++i) |
| 483 (*i)->InstanceCrashed(); |
| 484 } |
| 485 |
475 bool PluginModule::InitializeModule() { | 486 bool PluginModule::InitializeModule() { |
476 DCHECK(!out_of_process_proxy_.get()) << "Don't call for proxied modules."; | 487 DCHECK(!out_of_process_proxy_.get()) << "Don't call for proxied modules."; |
477 int retval = entry_points_.initialize_module(pp_module(), &GetInterface); | 488 int retval = entry_points_.initialize_module(pp_module(), &GetInterface); |
478 if (retval != 0) { | 489 if (retval != 0) { |
479 LOG(WARNING) << "PPP_InitializeModule returned failure " << retval; | 490 LOG(WARNING) << "PPP_InitializeModule returned failure " << retval; |
480 return false; | 491 return false; |
481 } | 492 } |
482 return true; | 493 return true; |
483 } | 494 } |
484 | 495 |
485 } // namespace ppapi | 496 } // namespace ppapi |
486 } // namespace webkit | 497 } // namespace webkit |
487 | 498 |
OLD | NEW |