Fix infinite recursion on hiding panel when created during fullscreen mode.
[chromium-blink-merge.git] / ppapi / c / private / ppb_isolated_file_system_private.h
blob410108b8cb9b519840453a4db24d44b4c80b77a2
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 /* From private/ppb_isolated_file_system_private.idl,
7 * modified Fri Nov 8 02:21:15 2013.
8 */
10 #ifndef PPAPI_C_PRIVATE_PPB_ISOLATED_FILE_SYSTEM_PRIVATE_H_
11 #define PPAPI_C_PRIVATE_PPB_ISOLATED_FILE_SYSTEM_PRIVATE_H_
13 #include "ppapi/c/pp_completion_callback.h"
14 #include "ppapi/c/pp_instance.h"
15 #include "ppapi/c/pp_macros.h"
16 #include "ppapi/c/pp_resource.h"
17 #include "ppapi/c/pp_stdint.h"
19 #define PPB_ISOLATEDFILESYSTEM_PRIVATE_INTERFACE_0_2 \
20 "PPB_IsolatedFileSystem_Private;0.2"
21 #define PPB_ISOLATEDFILESYSTEM_PRIVATE_INTERFACE \
22 PPB_ISOLATEDFILESYSTEM_PRIVATE_INTERFACE_0_2
24 /**
25 * @file
29 /**
30 * @addtogroup Enums
31 * @{
33 /**
34 * The <code>PP_IsolatedFileSystemType_Private</code> values indicate the type
35 * of isolated file systems.
37 typedef enum {
38 /** Type for invalid file systems */
39 PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_INVALID = 0,
40 /** Type for CRX file systems */
41 PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX = 1,
42 /** Type for PluginPrivate file systems */
43 PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_PLUGINPRIVATE = 2
44 } PP_IsolatedFileSystemType_Private;
45 PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_IsolatedFileSystemType_Private, 4);
46 /**
47 * @}
50 /**
51 * @addtogroup Interfaces
52 * @{
54 /* <code>PPB_IsolatedFileSystem_Private</code> interface */
55 struct PPB_IsolatedFileSystem_Private_0_2 {
56 /**
57 * Open() opens a file system corresponding the given file system type.
59 * When opening the CRX file system, this should be called from an extension
60 * context, otherwise it will fail.
62 * @param[in] instance A <code>PP_Instance</code> identifying the instance
63 * with the file system.
64 * @param[in] type A file system type as defined by
65 * <code>PP_IsolatedFileSystemType_Private</code> enum.
66 * @param[out] file_system An output <code>PP_Resource</code> corresponding
67 * to a PPB_FileSystem.
68 * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
69 * completion of Open.
71 * @return An int32_t containing an error code from <code>pp_errors.h</code>.
73 int32_t (*Open)(PP_Instance instance,
74 PP_IsolatedFileSystemType_Private type,
75 PP_Resource* file_system,
76 struct PP_CompletionCallback callback);
79 typedef struct PPB_IsolatedFileSystem_Private_0_2
80 PPB_IsolatedFileSystem_Private;
81 /**
82 * @}
85 #endif /* PPAPI_C_PRIVATE_PPB_ISOLATED_FILE_SYSTEM_PRIVATE_H_ */