| Index: chrome/renderer/pepper_plugin_delegate_impl.cc
|
| ===================================================================
|
| --- chrome/renderer/pepper_plugin_delegate_impl.cc (revision 65099)
|
| +++ chrome/renderer/pepper_plugin_delegate_impl.cc (working copy)
|
| @@ -25,6 +25,7 @@
|
| #include "chrome/renderer/render_view.h"
|
| #include "chrome/renderer/webplugin_delegate_proxy.h"
|
| #include "grit/locale_settings.h"
|
| +#include "ipc/ipc_channel_handle.h"
|
| #include "ppapi/c/dev/pp_video_dev.h"
|
| #include "third_party/WebKit/WebKit/chromium/public/WebFileChooserCompletion.h"
|
| #include "third_party/WebKit/WebKit/chromium/public/WebFileChooserParams.h"
|
| @@ -33,6 +34,7 @@
|
| #include "webkit/fileapi/file_system_callback_dispatcher.h"
|
| #include "webkit/glue/plugins/pepper_file_io.h"
|
| #include "webkit/glue/plugins/pepper_plugin_instance.h"
|
| +#include "webkit/glue/plugins/pepper_plugin_module.h"
|
| #include "webkit/glue/plugins/webplugin.h"
|
|
|
| #if defined(OS_MACOSX)
|
| @@ -61,7 +63,7 @@
|
| }
|
|
|
| virtual intptr_t GetSharedMemoryHandle() const {
|
| - return reinterpret_cast<intptr_t>(dib_.get());
|
| + return static_cast<intptr_t>(dib_->handle());
|
| }
|
|
|
| virtual TransportDIB* GetTransportDIB() const {
|
| @@ -495,8 +497,23 @@
|
| id_generator_(0) {
|
| }
|
|
|
| -PepperPluginDelegateImpl::~PepperPluginDelegateImpl() {}
|
| +PepperPluginDelegateImpl::~PepperPluginDelegateImpl() {
|
| +}
|
|
|
| +scoped_refptr<pepper::PluginModule>
|
| +PepperPluginDelegateImpl::CreateOutOfProcessPepperPlugin(
|
| + const FilePath& path) {
|
| + IPC::ChannelHandle channel_handle;
|
| + render_view_->Send(new ViewHostMsg_OpenChannelToPepperPlugin(
|
| + path, &channel_handle));
|
| + if (channel_handle.name.empty())
|
| + return scoped_refptr<pepper::PluginModule>(); // Couldn't be initialized.
|
| + return pepper::PluginModule::CreateOutOfProcessModule(
|
| + ChildProcess::current()->io_message_loop(),
|
| + channel_handle,
|
| + ChildProcess::current()->GetShutDownEvent());
|
| +}
|
| +
|
| void PepperPluginDelegateImpl::ViewInitiatedPaint() {
|
| // Notify all of our instances that we started painting. This is used for
|
| // internal bookkeeping only, so we know that the set can not change under
|
|
|