| Index: ppapi/proxy/dispatcher.h
|
| diff --git a/ppapi/proxy/dispatcher.h b/ppapi/proxy/dispatcher.h
|
| index 82c0f319c642f154435758906872e7fdfc0ce069..161aa54bd6ba00dbdc0d2af5921985e72a792c03 100644
|
| --- a/ppapi/proxy/dispatcher.h
|
| +++ b/ppapi/proxy/dispatcher.h
|
| @@ -15,6 +15,7 @@
|
| #include "ipc/ipc_channel.h"
|
| #include "ipc/ipc_channel_handle.h"
|
| #include "ipc/ipc_message.h"
|
| +#include "ipc/ipc_platform_file.h"
|
| #include "ppapi/c/pp_module.h"
|
| #include "ppapi/proxy/callback_tracker.h"
|
| #include "ppapi/proxy/interface_id.h"
|
| @@ -83,13 +84,15 @@ class Dispatcher : public IPC::Channel::Listener,
|
| // Wrapper for calling the local GetInterface function.
|
| const void* GetLocalInterface(const char* interface);
|
|
|
| - // Returns the remote process' handle. For the host dispatcher, this will be
|
| - // the plugin process, and for the plugin dispatcher, this will be the
|
| - // renderer process. This is used for sharing memory and such and is
|
| - // guaranteed valid (unless the remote process has suddenly died).
|
| - base::ProcessHandle remote_process_handle() const {
|
| - return remote_process_handle_;
|
| - }
|
| + // Shares a file handle (HANDLE / file descriptor) with the remote side. It
|
| + // returns a handle that should be sent in exactly one IPC message. Upon
|
| + // receipt, the remote side then owns that handle. Note: if sending the
|
| + // message fails, the returned handle is properly closed by the IPC system. If
|
| + // should_close_source is set to true, the original handle is closed by this
|
| + // operation and should not be used again.
|
| + IPC::PlatformFileForTransit ShareHandleWithRemote(
|
| + base::PlatformFile handle,
|
| + bool should_close_source);
|
|
|
| // Called if the remote side is declaring to us which interfaces it supports
|
| // so we don't have to query for each one. We'll pre-create proxies for
|
|
|