summaryrefslogtreecommitdiffstats
path: root/ppapi/api
diff options
context:
space:
mode:
authorhamaji@chromium.org <hamaji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-01 16:51:13 +0000
committerhamaji@chromium.org <hamaji@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-01 16:51:13 +0000
commit8f96cef7e737970b9e16c97de788daaa5fb3181a (patch)
tree31887c9690fdc4ae20edb89f94745bc2310b665a /ppapi/api
parent0b4468ed16cf93bac23d5abf3ef39e400665d694 (diff)
downloadchromium_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.idl26
-rw-r--r--ppapi/api/trusted/ppb_file_io_trusted.idl2
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);