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

Side by Side Diff: chrome/browser/extensions/api/media_galleries/media_galleries_api.h

Issue 257333002: Drive extension functions from ExtensionFunction::Run. The (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix comment Created 6 years, 7 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 // Defines the Chrome Extensions Media Galleries API functions for accessing 5 // Defines the Chrome Extensions Media Galleries API functions for accessing
6 // user's media files, as specified in the extension API IDL. 6 // user's media files, as specified in the extension API IDL.
7 7
8 #ifndef CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_MEDIA_GALLERIES_API_H_ 8 #ifndef CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_MEDIA_GALLERIES_API_H_
9 #define CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_MEDIA_GALLERIES_API_H_ 9 #define CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_MEDIA_GALLERIES_API_H_
10 10
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 }; 88 };
89 89
90 class MediaGalleriesGetMediaFileSystemsFunction 90 class MediaGalleriesGetMediaFileSystemsFunction
91 : public ChromeAsyncExtensionFunction { 91 : public ChromeAsyncExtensionFunction {
92 public: 92 public:
93 DECLARE_EXTENSION_FUNCTION("mediaGalleries.getMediaFileSystems", 93 DECLARE_EXTENSION_FUNCTION("mediaGalleries.getMediaFileSystems",
94 MEDIAGALLERIES_GETMEDIAFILESYSTEMS) 94 MEDIAGALLERIES_GETMEDIAFILESYSTEMS)
95 95
96 protected: 96 protected:
97 virtual ~MediaGalleriesGetMediaFileSystemsFunction(); 97 virtual ~MediaGalleriesGetMediaFileSystemsFunction();
98 virtual bool RunImpl() OVERRIDE; 98 virtual bool RunAsync() OVERRIDE;
99 99
100 private: 100 private:
101 // Bottom half for RunImpl, invoked after the preferences is initialized. 101 // Bottom half for RunAsync, invoked after the preferences is initialized.
102 void OnPreferencesInit( 102 void OnPreferencesInit(
103 MediaGalleries::GetMediaFileSystemsInteractivity interactive); 103 MediaGalleries::GetMediaFileSystemsInteractivity interactive);
104 104
105 // Always show the dialog. 105 // Always show the dialog.
106 void AlwaysShowDialog(const std::vector<MediaFileSystemInfo>& filesystems); 106 void AlwaysShowDialog(const std::vector<MediaFileSystemInfo>& filesystems);
107 107
108 // If no galleries are found, show the dialog, otherwise return them. 108 // If no galleries are found, show the dialog, otherwise return them.
109 void ShowDialogIfNoGalleries( 109 void ShowDialogIfNoGalleries(
110 const std::vector<MediaFileSystemInfo>& filesystems); 110 const std::vector<MediaFileSystemInfo>& filesystems);
111 111
(...skipping 13 matching lines...) Expand all
125 }; 125 };
126 126
127 class MediaGalleriesGetAllMediaFileSystemMetadataFunction 127 class MediaGalleriesGetAllMediaFileSystemMetadataFunction
128 : public ChromeAsyncExtensionFunction { 128 : public ChromeAsyncExtensionFunction {
129 public: 129 public:
130 DECLARE_EXTENSION_FUNCTION("mediaGalleries.getAllMediaFileSystemMetadata", 130 DECLARE_EXTENSION_FUNCTION("mediaGalleries.getAllMediaFileSystemMetadata",
131 MEDIAGALLERIES_GETALLMEDIAFILESYSTEMMETADATA) 131 MEDIAGALLERIES_GETALLMEDIAFILESYSTEMMETADATA)
132 132
133 protected: 133 protected:
134 virtual ~MediaGalleriesGetAllMediaFileSystemMetadataFunction(); 134 virtual ~MediaGalleriesGetAllMediaFileSystemMetadataFunction();
135 virtual bool RunImpl() OVERRIDE; 135 virtual bool RunAsync() OVERRIDE;
136 136
137 private: 137 private:
138 // Bottom half for RunImpl, invoked after the preferences is initialized. 138 // Bottom half for RunAsync, invoked after the preferences is initialized.
139 // Gets the list of permitted galleries and checks if they are available. 139 // Gets the list of permitted galleries and checks if they are available.
140 void OnPreferencesInit(); 140 void OnPreferencesInit();
141 141
142 // Callback to run upon getting the list of available devices. 142 // Callback to run upon getting the list of available devices.
143 // Sends the list of media filesystem metadata back to the extension. 143 // Sends the list of media filesystem metadata back to the extension.
144 void OnGetGalleries( 144 void OnGetGalleries(
145 const MediaGalleryPrefIdSet& permitted_gallery_ids, 145 const MediaGalleryPrefIdSet& permitted_gallery_ids,
146 const storage_monitor::MediaStorageUtil::DeviceIdSet* available_devices); 146 const storage_monitor::MediaStorageUtil::DeviceIdSet* available_devices);
147 }; 147 };
148 148
149 class MediaGalleriesAddUserSelectedFolderFunction 149 class MediaGalleriesAddUserSelectedFolderFunction
150 : public ChromeAsyncExtensionFunction { 150 : public ChromeAsyncExtensionFunction {
151 public: 151 public:
152 DECLARE_EXTENSION_FUNCTION("mediaGalleries.addUserSelectedFolder", 152 DECLARE_EXTENSION_FUNCTION("mediaGalleries.addUserSelectedFolder",
153 MEDIAGALLERIES_ADDUSERSELECTEDFOLDER) 153 MEDIAGALLERIES_ADDUSERSELECTEDFOLDER)
154 154
155 protected: 155 protected:
156 virtual ~MediaGalleriesAddUserSelectedFolderFunction(); 156 virtual ~MediaGalleriesAddUserSelectedFolderFunction();
157 virtual bool RunImpl() OVERRIDE; 157 virtual bool RunAsync() OVERRIDE;
158 158
159 private: 159 private:
160 // Bottom half for RunImpl, invoked after the preferences is initialized. 160 // Bottom half for RunAsync, invoked after the preferences is initialized.
161 void OnPreferencesInit(); 161 void OnPreferencesInit();
162 162
163 // Callback for the directory prompt request, with the input from the user. 163 // Callback for the directory prompt request, with the input from the user.
164 // If |selected_directory| is empty, then the user canceled. 164 // If |selected_directory| is empty, then the user canceled.
165 // Either handle the user canceled case or add the selected gallery. 165 // Either handle the user canceled case or add the selected gallery.
166 void OnDirectorySelected(const base::FilePath& selected_directory); 166 void OnDirectorySelected(const base::FilePath& selected_directory);
167 167
168 // Callback for the directory prompt request. |pref_id| is for the gallery 168 // Callback for the directory prompt request. |pref_id| is for the gallery
169 // the user just added. |filesystems| is the entire list of file systems. 169 // the user just added. |filesystems| is the entire list of file systems.
170 // The fsid for the file system that corresponds to |pref_id| will be 170 // The fsid for the file system that corresponds to |pref_id| will be
171 // appended to the list of file systems returned to the caller. The 171 // appended to the list of file systems returned to the caller. The
172 // Javascript binding for this API will interpret the list appropriately. 172 // Javascript binding for this API will interpret the list appropriately.
173 void ReturnGalleriesAndId( 173 void ReturnGalleriesAndId(
174 MediaGalleryPrefId pref_id, 174 MediaGalleryPrefId pref_id,
175 const std::vector<MediaFileSystemInfo>& filesystems); 175 const std::vector<MediaFileSystemInfo>& filesystems);
176 176
177 // A helper method that calls 177 // A helper method that calls
178 // MediaFileSystemRegistry::GetMediaFileSystemsForExtension(). 178 // MediaFileSystemRegistry::GetMediaFileSystemsForExtension().
179 void GetMediaFileSystemsForExtension(const MediaFileSystemsCallback& cb); 179 void GetMediaFileSystemsForExtension(const MediaFileSystemsCallback& cb);
180 }; 180 };
181 181
182 class MediaGalleriesDropPermissionForMediaFileSystemFunction 182 class MediaGalleriesDropPermissionForMediaFileSystemFunction
183 : public ChromeAsyncExtensionFunction { 183 : public ChromeAsyncExtensionFunction {
184 public: 184 public:
185 DECLARE_EXTENSION_FUNCTION("mediaGalleries.dropPermissionForMediaFileSystem", 185 DECLARE_EXTENSION_FUNCTION("mediaGalleries.dropPermissionForMediaFileSystem",
186 MEDIAGALLERIES_DROPPERMISSIONFORMEDIAFILESYSTEM) 186 MEDIAGALLERIES_DROPPERMISSIONFORMEDIAFILESYSTEM)
187 187
188 protected: 188 protected:
189 virtual ~MediaGalleriesDropPermissionForMediaFileSystemFunction(); 189 virtual ~MediaGalleriesDropPermissionForMediaFileSystemFunction();
190 virtual bool RunImpl() OVERRIDE; 190 virtual bool RunAsync() OVERRIDE;
191 191
192 private: 192 private:
193 // Bottom half for RunImpl, invoked after the preferences is initialized. 193 // Bottom half for RunAsync, invoked after the preferences is initialized.
194 void OnPreferencesInit(MediaGalleryPrefId pref_id); 194 void OnPreferencesInit(MediaGalleryPrefId pref_id);
195 }; 195 };
196 196
197 class MediaGalleriesStartMediaScanFunction 197 class MediaGalleriesStartMediaScanFunction
198 : public ChromeAsyncExtensionFunction { 198 : public ChromeAsyncExtensionFunction {
199 public: 199 public:
200 DECLARE_EXTENSION_FUNCTION("mediaGalleries.startMediaScan", 200 DECLARE_EXTENSION_FUNCTION("mediaGalleries.startMediaScan",
201 MEDIAGALLERIES_STARTMEDIASCAN) 201 MEDIAGALLERIES_STARTMEDIASCAN)
202 202
203 protected: 203 protected:
204 virtual ~MediaGalleriesStartMediaScanFunction(); 204 virtual ~MediaGalleriesStartMediaScanFunction();
205 virtual bool RunImpl() OVERRIDE; 205 virtual bool RunAsync() OVERRIDE;
206 206
207 private: 207 private:
208 // Bottom half for RunImpl, invoked after the preferences is initialized. 208 // Bottom half for RunAsync, invoked after the preferences is initialized.
209 void OnPreferencesInit(); 209 void OnPreferencesInit();
210 }; 210 };
211 211
212 class MediaGalleriesCancelMediaScanFunction 212 class MediaGalleriesCancelMediaScanFunction
213 : public ChromeAsyncExtensionFunction { 213 : public ChromeAsyncExtensionFunction {
214 public: 214 public:
215 DECLARE_EXTENSION_FUNCTION("mediaGalleries.cancelMediaScan", 215 DECLARE_EXTENSION_FUNCTION("mediaGalleries.cancelMediaScan",
216 MEDIAGALLERIES_CANCELMEDIASCAN) 216 MEDIAGALLERIES_CANCELMEDIASCAN)
217 217
218 protected: 218 protected:
219 virtual ~MediaGalleriesCancelMediaScanFunction(); 219 virtual ~MediaGalleriesCancelMediaScanFunction();
220 virtual bool RunImpl() OVERRIDE; 220 virtual bool RunAsync() OVERRIDE;
221 221
222 private: 222 private:
223 // Bottom half for RunImpl, invoked after the preferences is initialized. 223 // Bottom half for RunAsync, invoked after the preferences is initialized.
224 void OnPreferencesInit(); 224 void OnPreferencesInit();
225 }; 225 };
226 226
227 class MediaGalleriesAddScanResultsFunction 227 class MediaGalleriesAddScanResultsFunction
228 : public ChromeAsyncExtensionFunction { 228 : public ChromeAsyncExtensionFunction {
229 public: 229 public:
230 DECLARE_EXTENSION_FUNCTION("mediaGalleries.addScanResults", 230 DECLARE_EXTENSION_FUNCTION("mediaGalleries.addScanResults",
231 MEDIAGALLERIES_ADDSCANRESULTS) 231 MEDIAGALLERIES_ADDSCANRESULTS)
232 232
233 protected: 233 protected:
234 virtual ~MediaGalleriesAddScanResultsFunction(); 234 virtual ~MediaGalleriesAddScanResultsFunction();
235 virtual bool RunImpl() OVERRIDE; 235 virtual bool RunAsync() OVERRIDE;
236 236
237 // Pulled out for testing. 237 // Pulled out for testing.
238 virtual MediaGalleriesScanResultDialogController* MakeDialog( 238 virtual MediaGalleriesScanResultDialogController* MakeDialog(
239 content::WebContents* web_contents, 239 content::WebContents* web_contents,
240 const extensions::Extension& extension, 240 const extensions::Extension& extension,
241 const base::Closure& on_finish); 241 const base::Closure& on_finish);
242 242
243 private: 243 private:
244 // Bottom half for RunImpl, invoked after the preferences is initialized. 244 // Bottom half for RunAsync, invoked after the preferences is initialized.
245 void OnPreferencesInit(); 245 void OnPreferencesInit();
246 246
247 // Grabs galleries from the media file system registry and passes them to 247 // Grabs galleries from the media file system registry and passes them to
248 // ReturnGalleries(). 248 // ReturnGalleries().
249 void GetAndReturnGalleries(); 249 void GetAndReturnGalleries();
250 250
251 // Returns galleries to the caller. 251 // Returns galleries to the caller.
252 void ReturnGalleries(const std::vector<MediaFileSystemInfo>& filesystems); 252 void ReturnGalleries(const std::vector<MediaFileSystemInfo>& filesystems);
253 }; 253 };
254 254
255 class MediaGalleriesGetMetadataFunction : public ChromeAsyncExtensionFunction { 255 class MediaGalleriesGetMetadataFunction : public ChromeAsyncExtensionFunction {
256 public: 256 public:
257 DECLARE_EXTENSION_FUNCTION("mediaGalleries.getMetadata", 257 DECLARE_EXTENSION_FUNCTION("mediaGalleries.getMetadata",
258 MEDIAGALLERIES_GETMETADATA) 258 MEDIAGALLERIES_GETMETADATA)
259 259
260 protected: 260 protected:
261 virtual ~MediaGalleriesGetMetadataFunction(); 261 virtual ~MediaGalleriesGetMetadataFunction();
262 virtual bool RunImpl() OVERRIDE; 262 virtual bool RunAsync() OVERRIDE;
263 263
264 private: 264 private:
265 // Bottom half for RunImpl, invoked after the preferences is initialized. 265 // Bottom half for RunAsync, invoked after the preferences is initialized.
266 void OnPreferencesInit(bool mime_type_only, const std::string& blob_uuid); 266 void OnPreferencesInit(bool mime_type_only, const std::string& blob_uuid);
267 267
268 void SniffMimeType(bool mime_type_only, 268 void SniffMimeType(bool mime_type_only,
269 const std::string& blob_uuid, 269 const std::string& blob_uuid,
270 scoped_ptr<std::string> blob_header, 270 scoped_ptr<std::string> blob_header,
271 int64 total_blob_length); 271 int64 total_blob_length);
272 272
273 void OnSafeMediaMetadataParserDone( 273 void OnSafeMediaMetadataParserDone(
274 bool parse_success, base::DictionaryValue* metadata_dictionary); 274 bool parse_success, base::DictionaryValue* metadata_dictionary);
275 }; 275 };
276 276
277 } // namespace extensions 277 } // namespace extensions
278 278
279 #endif // CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_MEDIA_GALLERIES_API_H_ 279 #endif // CHROME_BROWSER_EXTENSIONS_API_MEDIA_GALLERIES_MEDIA_GALLERIES_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698