Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6062)

Unified Diff: chrome/renderer/pepper_plugin_delegate_impl.cc

Issue 3915002: Out of process Pepper (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/renderer/pepper_plugin_delegate_impl.h ('k') | chrome/renderer/render_view.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « chrome/renderer/pepper_plugin_delegate_impl.h ('k') | chrome/renderer/render_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698