| Index: chrome/plugin/plugin_channel.h
|
| diff --git a/chrome/plugin/plugin_channel.h b/chrome/plugin/plugin_channel.h
|
| index 21373fb3e0361774518064fab64de5d3f967cf61..02b619e37a08c8b31a9ce302d85f090ea6372a25 100644
|
| --- a/chrome/plugin/plugin_channel.h
|
| +++ b/chrome/plugin/plugin_channel.h
|
| @@ -19,8 +19,7 @@ class PluginChannel : public PluginChannelBase {
|
| // POSIX only: If |channel_fd| > 0, use that file descriptor for the
|
| // channel socket.
|
| static PluginChannel* GetPluginChannel(int process_id,
|
| - MessageLoop* ipc_message_loop,
|
| - int channel_fd);
|
| + MessageLoop* ipc_message_loop);
|
|
|
| ~PluginChannel();
|
|
|
| @@ -30,6 +29,18 @@ class PluginChannel : public PluginChannelBase {
|
| base::ProcessHandle renderer_handle() const { return renderer_handle_; }
|
| int GenerateRouteID();
|
|
|
| +#if defined(OS_POSIX)
|
| + // When first created, the PluginChannel gets assigned the file descriptor
|
| + // for the renderer.
|
| + // After the first time we pass it through the IPC, we don't need it anymore,
|
| + // and we close it. At that time, we reset renderer_fd_ to -1.
|
| + int DisownRendererFd() {
|
| + int value = renderer_fd_;
|
| + renderer_fd_ = -1;
|
| + return value;
|
| + }
|
| +#endif
|
| +
|
| bool in_send() { return in_send_ != 0; }
|
|
|
| bool off_the_record() { return off_the_record_; }
|
| @@ -42,6 +53,9 @@ class PluginChannel : public PluginChannelBase {
|
|
|
| virtual void CleanUp();
|
|
|
| + // Overrides PluginChannelBase::Init.
|
| + virtual bool Init(MessageLoop* ipc_message_loop, bool create_pipe_now);
|
| +
|
| private:
|
| // Called on the plugin thread
|
| PluginChannel();
|
| @@ -59,6 +73,12 @@ class PluginChannel : public PluginChannelBase {
|
| // Handle to the renderer process who is on the other side of the channel.
|
| base::ProcessHandle renderer_handle_;
|
|
|
| +#if defined(OS_POSIX)
|
| + // FD for the renderer end of the pipe. It is stored until we send it over
|
| + // IPC after which it is cleared. It will be closed by the IPC mechanism.
|
| + int renderer_fd_;
|
| +#endif
|
| +
|
| int in_send_; // Tracks if we're in a Send call.
|
| bool log_messages_; // True if we should log sent and received messages.
|
| bool off_the_record_; // True if the renderer is in off the record mode.
|
|
|