Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(190)

Side by Side Diff: trunk/src/ppapi/thunk/ppb_file_ref_api.h

Issue 22901012: Revert 218305 "Pepper: Move FileRef to the "new" resource proxy." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PPAPI_THUNK_PPB_FILE_REF_API_H_ 5 #ifndef PPAPI_THUNK_PPB_FILE_REF_API_H_
6 #define PPAPI_THUNK_PPB_FILE_REF_API_H_ 6 #define PPAPI_THUNK_PPB_FILE_REF_API_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/memory/linked_ptr.h" 10 #include "base/memory/linked_ptr.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "ppapi/c/ppb_file_ref.h" 12 #include "ppapi/c/ppb_file_ref.h"
13 #include "ppapi/shared_impl/file_ref_create_info.h"
14 #include "ppapi/thunk/ppapi_thunk_export.h" 13 #include "ppapi/thunk/ppapi_thunk_export.h"
15 14
16 namespace ppapi { 15 namespace ppapi {
17 16
18 struct FileRefCreateInfo; 17 struct PPB_FileRef_CreateInfo;
19 class TrackedCallback; 18 class TrackedCallback;
20 19
21 namespace thunk { 20 namespace thunk {
22 21
23 class PPAPI_THUNK_EXPORT PPB_FileRef_API { 22 class PPAPI_THUNK_EXPORT PPB_FileRef_API {
24 public: 23 public:
25 virtual ~PPB_FileRef_API() {} 24 virtual ~PPB_FileRef_API() {}
26 25
27 virtual PP_FileSystemType GetFileSystemType() const = 0; 26 virtual PP_FileSystemType GetFileSystemType() const = 0;
28 virtual PP_Var GetName() const = 0; 27 virtual PP_Var GetName() const = 0;
29 virtual PP_Var GetPath() const = 0; 28 virtual PP_Var GetPath() const = 0;
30 virtual PP_Resource GetParent() = 0; 29 virtual PP_Resource GetParent() = 0;
31 virtual int32_t MakeDirectory(PP_Bool make_ancestors, 30 virtual int32_t MakeDirectory(PP_Bool make_ancestors,
32 scoped_refptr<TrackedCallback> callback) = 0; 31 scoped_refptr<TrackedCallback> callback) = 0;
33 virtual int32_t Touch(PP_Time last_access_time, 32 virtual int32_t Touch(PP_Time last_access_time,
34 PP_Time last_modified_time, 33 PP_Time last_modified_time,
35 scoped_refptr<TrackedCallback> callback) = 0; 34 scoped_refptr<TrackedCallback> callback) = 0;
36 virtual int32_t Delete(scoped_refptr<TrackedCallback> callback) = 0; 35 virtual int32_t Delete(scoped_refptr<TrackedCallback> callback) = 0;
37 virtual int32_t Rename(PP_Resource new_file_ref, 36 virtual int32_t Rename(PP_Resource new_file_ref,
38 scoped_refptr<TrackedCallback> callback) = 0; 37 scoped_refptr<TrackedCallback> callback) = 0;
39 virtual int32_t Query(PP_FileInfo* info, 38 virtual int32_t Query(PP_FileInfo* info,
40 scoped_refptr<TrackedCallback> callback) = 0; 39 scoped_refptr<TrackedCallback> callback) = 0;
41 virtual int32_t ReadDirectoryEntries( 40 virtual int32_t ReadDirectoryEntries(
42 const PP_ArrayOutput& output, 41 const PP_ArrayOutput& output,
43 scoped_refptr<TrackedCallback> callback) = 0; 42 scoped_refptr<TrackedCallback> callback) = 0;
43 // We define variants of Query and ReadDirectoryEntries because
44 // 1. we need to take linked_ptr instead of raw pointers to avoid
45 // use-after-free, and 2. we don't use PP_ArrayOutput for the
46 // communication between renderers and the browser in
47 // ReadDirectoryEntries. The *InHost functions must not be called in
48 // plugins, and Query and ReadDirectoryEntries must not be called in
49 // renderers.
50 // TODO(hamaji): These functions must be removed when we move
51 // FileRef to the new resource design. http://crbug.com/225441
52 virtual int32_t QueryInHost(linked_ptr<PP_FileInfo> info,
53 scoped_refptr<TrackedCallback> callback) = 0;
54 virtual int32_t ReadDirectoryEntriesInHost(
55 linked_ptr<std::vector<ppapi::PPB_FileRef_CreateInfo> > files,
56 linked_ptr<std::vector<PP_FileType> > file_types,
57 scoped_refptr<TrackedCallback> callback) = 0;
44 58
45 // Internal function for use in proxying. Returns the internal CreateInfo 59 // Internal function for use in proxying. Returns the internal CreateInfo
46 // (the contained resource does not carry a ref on behalf of the caller). 60 // (the contained resource does not carry a ref on behalf of the caller).
47 virtual const FileRefCreateInfo& GetCreateInfo() const = 0; 61 virtual const PPB_FileRef_CreateInfo& GetCreateInfo() const = 0;
48 62
49 // Private API 63 // Private API
50 virtual PP_Var GetAbsolutePath() = 0; 64 virtual PP_Var GetAbsolutePath() = 0;
51 }; 65 };
52 66
53 } // namespace thunk 67 } // namespace thunk
54 } // namespace ppapi 68 } // namespace ppapi
55 69
56 #endif // PPAPI_THUNK_PPB_FILE_REF_API_H_ 70 #endif // PPAPI_THUNK_PPB_FILE_REF_API_H_
OLDNEW
« no previous file with comments | « trunk/src/ppapi/thunk/interfaces_ppb_public_stable.h ('k') | trunk/src/ppapi/thunk/ppb_file_ref_thunk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698