Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ppapi / api / private / ppb_isolated_file_system_private.idl
blobc42d5201236083e60d88b94994c4e8012e011466
1 /* Copyright 2013 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
6 [generate_thunk,thunk_include="ppapi/thunk/ppb_isolated_file_system_private_api.h"]
8 /**
9 * This file contains the <code>PPB_IsolatedFileSystem_Private</code> interface.
11 label Chrome {
12 M33 = 0.2
16 /**
17 * The <code>PP_IsolatedFileSystemType_Private</code> values indicate the type
18 * of isolated file systems.
20 [assert_size(4)]
21 enum PP_IsolatedFileSystemType_Private {
22 /** Type for invalid file systems */
23 PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_INVALID = 0,
24 /** Type for CRX file systems */
25 PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX = 1,
26 /** Type for PluginPrivate file systems */
27 PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_PLUGINPRIVATE = 2
30 /* <code>PPB_IsolatedFileSystem_Private</code> interface */
31 interface PPB_IsolatedFileSystem_Private {
32 /**
33 * Open() opens a file system corresponding the given file system type.
35 * When opening the CRX file system, this should be called from an extension
36 * context, otherwise it will fail.
38 * @param[in] instance A <code>PP_Instance</code> identifying the instance
39 * with the file system.
40 * @param[in] type A file system type as defined by
41 * <code>PP_IsolatedFileSystemType_Private</code> enum.
42 * @param[out] file_system An output <code>PP_Resource</code> corresponding
43 * to a PPB_FileSystem.
44 * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
45 * completion of Open.
47 * @return An int32_t containing an error code from <code>pp_errors.h</code>.
49 [singleton,api=PPB_IsolatedFileSystem_Private_API]
50 int32_t Open([in] PP_Instance instance,
51 [in] PP_IsolatedFileSystemType_Private type,
52 [out] PP_Resource file_system,
53 [in] PP_CompletionCallback callback);