diff options
author | hamaji@chromium.org <hamaji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-01 16:51:13 +0000 |
---|---|---|
committer | hamaji@chromium.org <hamaji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-01 16:51:13 +0000 |
commit | 8f96cef7e737970b9e16c97de788daaa5fb3181a (patch) | |
tree | 31887c9690fdc4ae20edb89f94745bc2310b665a /ppapi/api | |
parent | 0b4468ed16cf93bac23d5abf3ef39e400665d694 (diff) | |
download | chromium_src-8f96cef7e737970b9e16c97de788daaa5fb3181a.zip chromium_src-8f96cef7e737970b9e16c97de788daaa5fb3181a.tar.gz chromium_src-8f96cef7e737970b9e16c97de788daaa5fb3181a.tar.bz2 |
Unlike GetOSFileDescriptor, this API is asynchronous.
Both GetOSFileDescriptor and RequestOSFileHandle use GetOSFileDescriptor
chrome IPC for now. I'm planning to remove call sites of
GetOSFileDescriptor PPAPI and rename GetOSFileDescriptor chrome IPC to
RequestOSFileHandle.
- Add --allow-get-os-file-handle-api. With this flag,
1. browser_tests can test this API and 2. we can use this API even
before this issue is resolved: http://crbug.com/224123
- Add TestRequestOSFileHandle in FileIO. This checks if read, write,
lseek, and mmap work for FD fetched by this API.
- PepperFileIOHost::OnHostMsgGetOSFileDescriptor use
ShareHandleWithRemote to pass a file handle
- Fix ShareHandleWithRemote for in-process API
BUG=183015
TEST=trybots, browser_tests
Review URL: https://chromiumcodereview.appspot.com/13032002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191616 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/api')
-rw-r--r-- | ppapi/api/private/ppb_file_io_private.idl | 26 | ||||
-rw-r--r-- | ppapi/api/trusted/ppb_file_io_trusted.idl | 2 |
2 files changed, 28 insertions, 0 deletions
diff --git a/ppapi/api/private/ppb_file_io_private.idl b/ppapi/api/private/ppb_file_io_private.idl new file mode 100644 index 0000000..38b2339 --- /dev/null +++ b/ppapi/api/private/ppb_file_io_private.idl @@ -0,0 +1,26 @@ +/* Copyright (c) 2013 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. + */ + +#inline c +#include "ppapi/c/private/pp_file_handle.h" +#endinl + +/* This file contains the <code>PPB_FileIO_Private</code> interface. */ +label Chrome { + M28 = 0.1 +}; + +/* PPB_FileIO_Private interface */ +interface PPB_FileIO_Private { + /** + * Returns a file handle corresponding to the given FileIO + * object. The FileIO object must have been opened with a + * successful call to FileIO::Open. The caller gets the ownership + * of the returned file handle and must close it. + */ + int32_t RequestOSFileHandle([in] PP_Resource file_io, + [out] PP_FileHandle handle, + [in] PP_CompletionCallback callback); +}; diff --git a/ppapi/api/trusted/ppb_file_io_trusted.idl b/ppapi/api/trusted/ppb_file_io_trusted.idl index 1ee03ab..7ba20de 100644 --- a/ppapi/api/trusted/ppb_file_io_trusted.idl +++ b/ppapi/api/trusted/ppb_file_io_trusted.idl @@ -19,6 +19,8 @@ interface PPB_FileIOTrusted { * descriptor. The FileIO object must have been opened with a successful * call to FileIO::Open. The file descriptor will be closed automatically * when the FileIO object is closed or destroyed. + * + * TODO(hamaji): Remove this and use RequestOSFileHandle instead. */ int32_t GetOSFileDescriptor([in] PP_Resource file_io); |