// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "content/renderer/pepper/pepper_proxy_channel_delegate_impl.h" #include "build/build_config.h" #include "content/child/child_process.h" #include "ipc/ipc_platform_file.h" namespace content { PepperProxyChannelDelegateImpl::~PepperProxyChannelDelegateImpl() {} base::SingleThreadTaskRunner* PepperProxyChannelDelegateImpl::GetIPCTaskRunner() { // This is called only in the renderer so we know we have a child process. DCHECK(ChildProcess::current()) << "Must be in the renderer."; return ChildProcess::current()->io_task_runner(); } base::WaitableEvent* PepperProxyChannelDelegateImpl::GetShutdownEvent() { DCHECK(ChildProcess::current()) << "Must be in the renderer."; return ChildProcess::current()->GetShutDownEvent(); } IPC::PlatformFileForTransit PepperProxyChannelDelegateImpl::ShareHandleWithRemote( base::PlatformFile handle, base::ProcessId remote_pid, bool should_close_source) { return IPC::GetPlatformFileForTransit(handle, should_close_source); } base::SharedMemoryHandle PepperProxyChannelDelegateImpl::ShareSharedMemoryHandleWithRemote( const base::SharedMemoryHandle& handle, base::ProcessId remote_pid) { return base::SharedMemory::DuplicateHandle(handle); } } // namespace content