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

Side by Side Diff: chrome/browser/media_galleries/fileapi/native_media_file_util.h

Issue 16158004: iTunes file util and data provider for media galleries (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Undo incorrect fix Created 7 years, 6 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 CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_NATIVE_MEDIA_FILE_UTIL_H_ 5 #ifndef CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_NATIVE_MEDIA_FILE_UTIL_H_
6 #define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_NATIVE_MEDIA_FILE_UTIL_H_ 6 #define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_NATIVE_MEDIA_FILE_UTIL_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/weak_ptr.h" 9 #include "base/memory/weak_ptr.h"
10 #include "webkit/browser/fileapi/async_file_util.h" 10 #include "webkit/browser/fileapi/async_file_util.h"
11 11
12 namespace chrome { 12 namespace chrome {
13 13
14 // This class handles native file system operations with media type filtering. 14 // This class handles native file system operations with media type filtering.
15 // To support virtual file systems it implements the AsyncFileUtil interface 15 // To support virtual file systems it implements the AsyncFileUtil interface
16 // from scratch and provides synchronous override points. 16 // from scratch and provides synchronous override points.
17 class NativeMediaFileUtil : public fileapi::AsyncFileUtil { 17 class NativeMediaFileUtil : public fileapi::AsyncFileUtil {
18 public: 18 public:
19 NativeMediaFileUtil(); 19 NativeMediaFileUtil();
20 virtual ~NativeMediaFileUtil(); 20 virtual ~NativeMediaFileUtil();
21 21
22 // Uses the MIME sniffer code, which actually looks into the file,
23 // to determine if it is really a media file (to avoid exposing
24 // non-media files with a media file extension.)
25 static base::PlatformFileError IsMediaFile(const base::FilePath& path);
26
22 // AsyncFileUtil overrides. 27 // AsyncFileUtil overrides.
23 virtual bool CreateOrOpen( 28 virtual bool CreateOrOpen(
24 fileapi::FileSystemOperationContext* context, 29 fileapi::FileSystemOperationContext* context,
25 const fileapi::FileSystemURL& url, 30 const fileapi::FileSystemURL& url,
26 int file_flags, 31 int file_flags,
27 const CreateOrOpenCallback& callback) OVERRIDE; 32 const CreateOrOpenCallback& callback) OVERRIDE;
28 virtual bool EnsureFileExists( 33 virtual bool EnsureFileExists(
29 fileapi::FileSystemOperationContext* context, 34 fileapi::FileSystemOperationContext* context,
30 const fileapi::FileSystemURL& url, 35 const fileapi::FileSystemURL& url,
31 const EnsureFileExistsCallback& callback) OVERRIDE; 36 const EnsureFileExistsCallback& callback) OVERRIDE;
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 const StatusCallback& callback) OVERRIDE; 80 const StatusCallback& callback) OVERRIDE;
76 virtual bool DeleteDirectory( 81 virtual bool DeleteDirectory(
77 fileapi::FileSystemOperationContext* context, 82 fileapi::FileSystemOperationContext* context,
78 const fileapi::FileSystemURL& url, 83 const fileapi::FileSystemURL& url,
79 const StatusCallback& callback) OVERRIDE; 84 const StatusCallback& callback) OVERRIDE;
80 virtual bool CreateSnapshotFile( 85 virtual bool CreateSnapshotFile(
81 fileapi::FileSystemOperationContext* context, 86 fileapi::FileSystemOperationContext* context,
82 const fileapi::FileSystemURL& url, 87 const fileapi::FileSystemURL& url,
83 const CreateSnapshotFileCallback& callback) OVERRIDE; 88 const CreateSnapshotFileCallback& callback) OVERRIDE;
84 89
85 // Uses the MIME sniffer code, which actually looks into the file, 90 protected:
86 // to determine if it is really a media file (to avoid exposing 91 virtual void CreateDirectoryOnTaskRunnerThread(
87 // non-media files with a media file extension.) 92 fileapi::FileSystemOperationContext* context,
88 static base::PlatformFileError IsMediaFile(const base::FilePath& path); 93 const fileapi::FileSystemURL& url,
94 bool exclusive,
95 bool recursive,
96 const StatusCallback& callback);
97 virtual void GetFileInfoOnTaskRunnerThread(
98 fileapi::FileSystemOperationContext* context,
99 const fileapi::FileSystemURL& url,
100 const GetFileInfoCallback& callback);
101 virtual void ReadDirectoryOnTaskRunnerThread(
102 fileapi::FileSystemOperationContext* context,
103 const fileapi::FileSystemURL& url,
104 const ReadDirectoryCallback& callback);
105 virtual void CopyOrMoveFileLocalOnTaskRunnerThread(
106 fileapi::FileSystemOperationContext* context,
107 const fileapi::FileSystemURL& src_url,
108 const fileapi::FileSystemURL& dest_url,
109 bool copy,
110 const StatusCallback& callback);
111 virtual void CopyInForeignFileOnTaskRunnerThread(
112 fileapi::FileSystemOperationContext* context,
113 const base::FilePath& src_file_path,
114 const fileapi::FileSystemURL& dest_url,
115 const StatusCallback& callback);
116 virtual void DeleteDirectoryOnTaskRunnerThread(
117 fileapi::FileSystemOperationContext* context,
118 const fileapi::FileSystemURL& url,
119 const StatusCallback& callback);
120 virtual void CreateSnapshotFileOnTaskRunnerThread(
121 fileapi::FileSystemOperationContext* context,
122 const fileapi::FileSystemURL& url,
123 const CreateSnapshotFileCallback& callback);
89 124
90 protected:
91 // The following methods should only be called on the task runner thread. 125 // The following methods should only be called on the task runner thread.
92 126
93 // Necessary for copy/move to succeed. 127 // Necessary for copy/move to succeed.
94 virtual base::PlatformFileError CreateDirectorySync( 128 virtual base::PlatformFileError CreateDirectorySync(
95 fileapi::FileSystemOperationContext* context, 129 fileapi::FileSystemOperationContext* context,
96 const fileapi::FileSystemURL& url, 130 const fileapi::FileSystemURL& url,
97 bool exclusive, 131 bool exclusive,
98 bool recursive); 132 bool recursive);
99 virtual base::PlatformFileError CopyOrMoveFileSync( 133 virtual base::PlatformFileError CopyOrMoveFileSync(
100 fileapi::FileSystemOperationContext* context, 134 fileapi::FileSystemOperationContext* context,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 // If |local_file_path| is a file, then take media_path_filter() into 179 // If |local_file_path| is a file, then take media_path_filter() into
146 // consideration. 180 // consideration.
147 // If the media_path_filter() check fails, return |failure_error|. 181 // If the media_path_filter() check fails, return |failure_error|.
148 // If |local_file_path| is a directory, return PLATFORM_FILE_OK. 182 // If |local_file_path| is a directory, return PLATFORM_FILE_OK.
149 base::PlatformFileError GetFilteredLocalFilePathForExistingFileOrDirectory( 183 base::PlatformFileError GetFilteredLocalFilePathForExistingFileOrDirectory(
150 fileapi::FileSystemOperationContext* context, 184 fileapi::FileSystemOperationContext* context,
151 const fileapi::FileSystemURL& file_system_url, 185 const fileapi::FileSystemURL& file_system_url,
152 base::PlatformFileError failure_error, 186 base::PlatformFileError failure_error,
153 base::FilePath* local_file_path); 187 base::FilePath* local_file_path);
154 188
155 virtual void CreateDirectoryOnTaskRunnerThread(
156 fileapi::FileSystemOperationContext* context,
157 const fileapi::FileSystemURL& url,
158 bool exclusive,
159 bool recursive,
160 const StatusCallback& callback);
161 virtual void GetFileInfoOnTaskRunnerThread(
162 fileapi::FileSystemOperationContext* context,
163 const fileapi::FileSystemURL& url,
164 const GetFileInfoCallback& callback);
165 virtual void ReadDirectoryOnTaskRunnerThread(
166 fileapi::FileSystemOperationContext* context,
167 const fileapi::FileSystemURL& url,
168 const ReadDirectoryCallback& callback);
169 virtual void CopyOrMoveFileLocalOnTaskRunnerThread(
170 fileapi::FileSystemOperationContext* context,
171 const fileapi::FileSystemURL& src_url,
172 const fileapi::FileSystemURL& dest_url,
173 bool copy,
174 const StatusCallback& callback);
175 virtual void CopyInForeignFileOnTaskRunnerThread(
176 fileapi::FileSystemOperationContext* context,
177 const base::FilePath& src_file_path,
178 const fileapi::FileSystemURL& dest_url,
179 const StatusCallback& callback);
180 virtual void DeleteDirectoryOnTaskRunnerThread(
181 fileapi::FileSystemOperationContext* context,
182 const fileapi::FileSystemURL& url,
183 const StatusCallback& callback);
184 virtual void CreateSnapshotFileOnTaskRunnerThread(
185 fileapi::FileSystemOperationContext* context,
186 const fileapi::FileSystemURL& url,
187 const CreateSnapshotFileCallback& callback);
188 189
189 base::WeakPtrFactory<NativeMediaFileUtil> weak_factory_; 190 base::WeakPtrFactory<NativeMediaFileUtil> weak_factory_;
190 191
191 DISALLOW_COPY_AND_ASSIGN(NativeMediaFileUtil); 192 DISALLOW_COPY_AND_ASSIGN(NativeMediaFileUtil);
192 }; 193 };
193 194
194 } // namespace chrome 195 } // namespace chrome
195 196
196 #endif // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_NATIVE_MEDIA_FILE_UTIL_H_ 197 #endif // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_NATIVE_MEDIA_FILE_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698