OLD | NEW |
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_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_ | 5 #ifndef CHROME_BROWSER_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_ |
6 #define CHROME_BROWSER_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_ | 6 #define CHROME_BROWSER_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 std::string id_; | 87 std::string id_; |
88 std::string name_; | 88 std::string name_; |
89 | 89 |
90 DISALLOW_COPY_AND_ASSIGN(DownloadedByExtension); | 90 DISALLOW_COPY_AND_ASSIGN(DownloadedByExtension); |
91 }; | 91 }; |
92 | 92 |
93 class DownloadsDownloadFunction : public ChromeAsyncExtensionFunction { | 93 class DownloadsDownloadFunction : public ChromeAsyncExtensionFunction { |
94 public: | 94 public: |
95 DECLARE_EXTENSION_FUNCTION("downloads.download", DOWNLOADS_DOWNLOAD) | 95 DECLARE_EXTENSION_FUNCTION("downloads.download", DOWNLOADS_DOWNLOAD) |
96 DownloadsDownloadFunction(); | 96 DownloadsDownloadFunction(); |
97 virtual bool RunAsync() OVERRIDE; | 97 virtual bool RunAsync() override; |
98 | 98 |
99 protected: | 99 protected: |
100 virtual ~DownloadsDownloadFunction(); | 100 virtual ~DownloadsDownloadFunction(); |
101 | 101 |
102 private: | 102 private: |
103 void OnStarted(const base::FilePath& creator_suggested_filename, | 103 void OnStarted(const base::FilePath& creator_suggested_filename, |
104 extensions::api::downloads::FilenameConflictAction | 104 extensions::api::downloads::FilenameConflictAction |
105 creator_conflict_action, | 105 creator_conflict_action, |
106 content::DownloadItem* item, | 106 content::DownloadItem* item, |
107 content::DownloadInterruptReason interrupt_reason); | 107 content::DownloadInterruptReason interrupt_reason); |
108 | 108 |
109 DISALLOW_COPY_AND_ASSIGN(DownloadsDownloadFunction); | 109 DISALLOW_COPY_AND_ASSIGN(DownloadsDownloadFunction); |
110 }; | 110 }; |
111 | 111 |
112 class DownloadsSearchFunction : public ChromeSyncExtensionFunction { | 112 class DownloadsSearchFunction : public ChromeSyncExtensionFunction { |
113 public: | 113 public: |
114 DECLARE_EXTENSION_FUNCTION("downloads.search", DOWNLOADS_SEARCH) | 114 DECLARE_EXTENSION_FUNCTION("downloads.search", DOWNLOADS_SEARCH) |
115 DownloadsSearchFunction(); | 115 DownloadsSearchFunction(); |
116 virtual bool RunSync() OVERRIDE; | 116 virtual bool RunSync() override; |
117 | 117 |
118 protected: | 118 protected: |
119 virtual ~DownloadsSearchFunction(); | 119 virtual ~DownloadsSearchFunction(); |
120 | 120 |
121 private: | 121 private: |
122 DISALLOW_COPY_AND_ASSIGN(DownloadsSearchFunction); | 122 DISALLOW_COPY_AND_ASSIGN(DownloadsSearchFunction); |
123 }; | 123 }; |
124 | 124 |
125 class DownloadsPauseFunction : public ChromeSyncExtensionFunction { | 125 class DownloadsPauseFunction : public ChromeSyncExtensionFunction { |
126 public: | 126 public: |
127 DECLARE_EXTENSION_FUNCTION("downloads.pause", DOWNLOADS_PAUSE) | 127 DECLARE_EXTENSION_FUNCTION("downloads.pause", DOWNLOADS_PAUSE) |
128 DownloadsPauseFunction(); | 128 DownloadsPauseFunction(); |
129 virtual bool RunSync() OVERRIDE; | 129 virtual bool RunSync() override; |
130 | 130 |
131 protected: | 131 protected: |
132 virtual ~DownloadsPauseFunction(); | 132 virtual ~DownloadsPauseFunction(); |
133 | 133 |
134 private: | 134 private: |
135 DISALLOW_COPY_AND_ASSIGN(DownloadsPauseFunction); | 135 DISALLOW_COPY_AND_ASSIGN(DownloadsPauseFunction); |
136 }; | 136 }; |
137 | 137 |
138 class DownloadsResumeFunction : public ChromeSyncExtensionFunction { | 138 class DownloadsResumeFunction : public ChromeSyncExtensionFunction { |
139 public: | 139 public: |
140 DECLARE_EXTENSION_FUNCTION("downloads.resume", DOWNLOADS_RESUME) | 140 DECLARE_EXTENSION_FUNCTION("downloads.resume", DOWNLOADS_RESUME) |
141 DownloadsResumeFunction(); | 141 DownloadsResumeFunction(); |
142 virtual bool RunSync() OVERRIDE; | 142 virtual bool RunSync() override; |
143 | 143 |
144 protected: | 144 protected: |
145 virtual ~DownloadsResumeFunction(); | 145 virtual ~DownloadsResumeFunction(); |
146 | 146 |
147 private: | 147 private: |
148 DISALLOW_COPY_AND_ASSIGN(DownloadsResumeFunction); | 148 DISALLOW_COPY_AND_ASSIGN(DownloadsResumeFunction); |
149 }; | 149 }; |
150 | 150 |
151 class DownloadsCancelFunction : public ChromeSyncExtensionFunction { | 151 class DownloadsCancelFunction : public ChromeSyncExtensionFunction { |
152 public: | 152 public: |
153 DECLARE_EXTENSION_FUNCTION("downloads.cancel", DOWNLOADS_CANCEL) | 153 DECLARE_EXTENSION_FUNCTION("downloads.cancel", DOWNLOADS_CANCEL) |
154 DownloadsCancelFunction(); | 154 DownloadsCancelFunction(); |
155 virtual bool RunSync() OVERRIDE; | 155 virtual bool RunSync() override; |
156 | 156 |
157 protected: | 157 protected: |
158 virtual ~DownloadsCancelFunction(); | 158 virtual ~DownloadsCancelFunction(); |
159 | 159 |
160 private: | 160 private: |
161 DISALLOW_COPY_AND_ASSIGN(DownloadsCancelFunction); | 161 DISALLOW_COPY_AND_ASSIGN(DownloadsCancelFunction); |
162 }; | 162 }; |
163 | 163 |
164 class DownloadsEraseFunction : public ChromeSyncExtensionFunction { | 164 class DownloadsEraseFunction : public ChromeSyncExtensionFunction { |
165 public: | 165 public: |
166 DECLARE_EXTENSION_FUNCTION("downloads.erase", DOWNLOADS_ERASE) | 166 DECLARE_EXTENSION_FUNCTION("downloads.erase", DOWNLOADS_ERASE) |
167 DownloadsEraseFunction(); | 167 DownloadsEraseFunction(); |
168 virtual bool RunSync() OVERRIDE; | 168 virtual bool RunSync() override; |
169 | 169 |
170 protected: | 170 protected: |
171 virtual ~DownloadsEraseFunction(); | 171 virtual ~DownloadsEraseFunction(); |
172 | 172 |
173 private: | 173 private: |
174 DISALLOW_COPY_AND_ASSIGN(DownloadsEraseFunction); | 174 DISALLOW_COPY_AND_ASSIGN(DownloadsEraseFunction); |
175 }; | 175 }; |
176 | 176 |
177 class DownloadsRemoveFileFunction : public ChromeAsyncExtensionFunction { | 177 class DownloadsRemoveFileFunction : public ChromeAsyncExtensionFunction { |
178 public: | 178 public: |
179 DECLARE_EXTENSION_FUNCTION("downloads.removeFile", DOWNLOADS_REMOVEFILE) | 179 DECLARE_EXTENSION_FUNCTION("downloads.removeFile", DOWNLOADS_REMOVEFILE) |
180 DownloadsRemoveFileFunction(); | 180 DownloadsRemoveFileFunction(); |
181 virtual bool RunAsync() OVERRIDE; | 181 virtual bool RunAsync() override; |
182 | 182 |
183 protected: | 183 protected: |
184 virtual ~DownloadsRemoveFileFunction(); | 184 virtual ~DownloadsRemoveFileFunction(); |
185 | 185 |
186 private: | 186 private: |
187 void Done(bool success); | 187 void Done(bool success); |
188 | 188 |
189 DISALLOW_COPY_AND_ASSIGN(DownloadsRemoveFileFunction); | 189 DISALLOW_COPY_AND_ASSIGN(DownloadsRemoveFileFunction); |
190 }; | 190 }; |
191 | 191 |
192 class DownloadsAcceptDangerFunction : public ChromeAsyncExtensionFunction { | 192 class DownloadsAcceptDangerFunction : public ChromeAsyncExtensionFunction { |
193 public: | 193 public: |
194 typedef base::Callback<void(DownloadDangerPrompt*)> OnPromptCreatedCallback; | 194 typedef base::Callback<void(DownloadDangerPrompt*)> OnPromptCreatedCallback; |
195 static void OnPromptCreatedForTesting( | 195 static void OnPromptCreatedForTesting( |
196 OnPromptCreatedCallback* callback) { | 196 OnPromptCreatedCallback* callback) { |
197 on_prompt_created_ = callback; | 197 on_prompt_created_ = callback; |
198 } | 198 } |
199 | 199 |
200 DECLARE_EXTENSION_FUNCTION("downloads.acceptDanger", DOWNLOADS_ACCEPTDANGER) | 200 DECLARE_EXTENSION_FUNCTION("downloads.acceptDanger", DOWNLOADS_ACCEPTDANGER) |
201 DownloadsAcceptDangerFunction(); | 201 DownloadsAcceptDangerFunction(); |
202 virtual bool RunAsync() OVERRIDE; | 202 virtual bool RunAsync() override; |
203 | 203 |
204 protected: | 204 protected: |
205 virtual ~DownloadsAcceptDangerFunction(); | 205 virtual ~DownloadsAcceptDangerFunction(); |
206 void DangerPromptCallback(int download_id, | 206 void DangerPromptCallback(int download_id, |
207 DownloadDangerPrompt::Action action); | 207 DownloadDangerPrompt::Action action); |
208 | 208 |
209 private: | 209 private: |
210 void PromptOrWait(int download_id, int retries); | 210 void PromptOrWait(int download_id, int retries); |
211 | 211 |
212 static OnPromptCreatedCallback* on_prompt_created_; | 212 static OnPromptCreatedCallback* on_prompt_created_; |
213 DISALLOW_COPY_AND_ASSIGN(DownloadsAcceptDangerFunction); | 213 DISALLOW_COPY_AND_ASSIGN(DownloadsAcceptDangerFunction); |
214 }; | 214 }; |
215 | 215 |
216 class DownloadsShowFunction : public ChromeAsyncExtensionFunction { | 216 class DownloadsShowFunction : public ChromeAsyncExtensionFunction { |
217 public: | 217 public: |
218 DECLARE_EXTENSION_FUNCTION("downloads.show", DOWNLOADS_SHOW) | 218 DECLARE_EXTENSION_FUNCTION("downloads.show", DOWNLOADS_SHOW) |
219 DownloadsShowFunction(); | 219 DownloadsShowFunction(); |
220 virtual bool RunAsync() OVERRIDE; | 220 virtual bool RunAsync() override; |
221 | 221 |
222 protected: | 222 protected: |
223 virtual ~DownloadsShowFunction(); | 223 virtual ~DownloadsShowFunction(); |
224 | 224 |
225 private: | 225 private: |
226 DISALLOW_COPY_AND_ASSIGN(DownloadsShowFunction); | 226 DISALLOW_COPY_AND_ASSIGN(DownloadsShowFunction); |
227 }; | 227 }; |
228 | 228 |
229 class DownloadsShowDefaultFolderFunction : public ChromeAsyncExtensionFunction { | 229 class DownloadsShowDefaultFolderFunction : public ChromeAsyncExtensionFunction { |
230 public: | 230 public: |
231 DECLARE_EXTENSION_FUNCTION( | 231 DECLARE_EXTENSION_FUNCTION( |
232 "downloads.showDefaultFolder", DOWNLOADS_SHOWDEFAULTFOLDER) | 232 "downloads.showDefaultFolder", DOWNLOADS_SHOWDEFAULTFOLDER) |
233 DownloadsShowDefaultFolderFunction(); | 233 DownloadsShowDefaultFolderFunction(); |
234 virtual bool RunAsync() OVERRIDE; | 234 virtual bool RunAsync() override; |
235 | 235 |
236 protected: | 236 protected: |
237 virtual ~DownloadsShowDefaultFolderFunction(); | 237 virtual ~DownloadsShowDefaultFolderFunction(); |
238 | 238 |
239 private: | 239 private: |
240 DISALLOW_COPY_AND_ASSIGN(DownloadsShowDefaultFolderFunction); | 240 DISALLOW_COPY_AND_ASSIGN(DownloadsShowDefaultFolderFunction); |
241 }; | 241 }; |
242 | 242 |
243 class DownloadsOpenFunction : public ChromeSyncExtensionFunction { | 243 class DownloadsOpenFunction : public ChromeSyncExtensionFunction { |
244 public: | 244 public: |
245 DECLARE_EXTENSION_FUNCTION("downloads.open", DOWNLOADS_OPEN) | 245 DECLARE_EXTENSION_FUNCTION("downloads.open", DOWNLOADS_OPEN) |
246 DownloadsOpenFunction(); | 246 DownloadsOpenFunction(); |
247 virtual bool RunSync() OVERRIDE; | 247 virtual bool RunSync() override; |
248 | 248 |
249 protected: | 249 protected: |
250 virtual ~DownloadsOpenFunction(); | 250 virtual ~DownloadsOpenFunction(); |
251 | 251 |
252 private: | 252 private: |
253 DISALLOW_COPY_AND_ASSIGN(DownloadsOpenFunction); | 253 DISALLOW_COPY_AND_ASSIGN(DownloadsOpenFunction); |
254 }; | 254 }; |
255 | 255 |
256 class DownloadsSetShelfEnabledFunction : public ChromeSyncExtensionFunction { | 256 class DownloadsSetShelfEnabledFunction : public ChromeSyncExtensionFunction { |
257 public: | 257 public: |
258 DECLARE_EXTENSION_FUNCTION("downloads.setShelfEnabled", | 258 DECLARE_EXTENSION_FUNCTION("downloads.setShelfEnabled", |
259 DOWNLOADS_SETSHELFENABLED) | 259 DOWNLOADS_SETSHELFENABLED) |
260 DownloadsSetShelfEnabledFunction(); | 260 DownloadsSetShelfEnabledFunction(); |
261 virtual bool RunSync() OVERRIDE; | 261 virtual bool RunSync() override; |
262 | 262 |
263 protected: | 263 protected: |
264 virtual ~DownloadsSetShelfEnabledFunction(); | 264 virtual ~DownloadsSetShelfEnabledFunction(); |
265 | 265 |
266 private: | 266 private: |
267 DISALLOW_COPY_AND_ASSIGN(DownloadsSetShelfEnabledFunction); | 267 DISALLOW_COPY_AND_ASSIGN(DownloadsSetShelfEnabledFunction); |
268 }; | 268 }; |
269 | 269 |
270 class DownloadsDragFunction : public ChromeAsyncExtensionFunction { | 270 class DownloadsDragFunction : public ChromeAsyncExtensionFunction { |
271 public: | 271 public: |
272 DECLARE_EXTENSION_FUNCTION("downloads.drag", DOWNLOADS_DRAG) | 272 DECLARE_EXTENSION_FUNCTION("downloads.drag", DOWNLOADS_DRAG) |
273 DownloadsDragFunction(); | 273 DownloadsDragFunction(); |
274 virtual bool RunAsync() OVERRIDE; | 274 virtual bool RunAsync() override; |
275 | 275 |
276 protected: | 276 protected: |
277 virtual ~DownloadsDragFunction(); | 277 virtual ~DownloadsDragFunction(); |
278 | 278 |
279 private: | 279 private: |
280 DISALLOW_COPY_AND_ASSIGN(DownloadsDragFunction); | 280 DISALLOW_COPY_AND_ASSIGN(DownloadsDragFunction); |
281 }; | 281 }; |
282 | 282 |
283 class DownloadsGetFileIconFunction : public ChromeAsyncExtensionFunction { | 283 class DownloadsGetFileIconFunction : public ChromeAsyncExtensionFunction { |
284 public: | 284 public: |
285 DECLARE_EXTENSION_FUNCTION("downloads.getFileIcon", DOWNLOADS_GETFILEICON) | 285 DECLARE_EXTENSION_FUNCTION("downloads.getFileIcon", DOWNLOADS_GETFILEICON) |
286 DownloadsGetFileIconFunction(); | 286 DownloadsGetFileIconFunction(); |
287 virtual bool RunAsync() OVERRIDE; | 287 virtual bool RunAsync() override; |
288 void SetIconExtractorForTesting(DownloadFileIconExtractor* extractor); | 288 void SetIconExtractorForTesting(DownloadFileIconExtractor* extractor); |
289 | 289 |
290 protected: | 290 protected: |
291 virtual ~DownloadsGetFileIconFunction(); | 291 virtual ~DownloadsGetFileIconFunction(); |
292 | 292 |
293 private: | 293 private: |
294 void OnIconURLExtracted(const std::string& url); | 294 void OnIconURLExtracted(const std::string& url); |
295 base::FilePath path_; | 295 base::FilePath path_; |
296 scoped_ptr<DownloadFileIconExtractor> icon_extractor_; | 296 scoped_ptr<DownloadFileIconExtractor> icon_extractor_; |
297 DISALLOW_COPY_AND_ASSIGN(DownloadsGetFileIconFunction); | 297 DISALLOW_COPY_AND_ASSIGN(DownloadsGetFileIconFunction); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
357 // should overwrite any old files of the same name. | 357 // should overwrite any old files of the same name. |
358 void OnDeterminingFilename( | 358 void OnDeterminingFilename( |
359 content::DownloadItem* item, | 359 content::DownloadItem* item, |
360 const base::FilePath& suggested_path, | 360 const base::FilePath& suggested_path, |
361 const base::Closure& no_change, | 361 const base::Closure& no_change, |
362 const FilenameChangedCallback& change); | 362 const FilenameChangedCallback& change); |
363 | 363 |
364 // AllDownloadItemNotifier::Observer. | 364 // AllDownloadItemNotifier::Observer. |
365 virtual void OnDownloadCreated( | 365 virtual void OnDownloadCreated( |
366 content::DownloadManager* manager, | 366 content::DownloadManager* manager, |
367 content::DownloadItem* download_item) OVERRIDE; | 367 content::DownloadItem* download_item) override; |
368 virtual void OnDownloadUpdated( | 368 virtual void OnDownloadUpdated( |
369 content::DownloadManager* manager, | 369 content::DownloadManager* manager, |
370 content::DownloadItem* download_item) OVERRIDE; | 370 content::DownloadItem* download_item) override; |
371 virtual void OnDownloadRemoved( | 371 virtual void OnDownloadRemoved( |
372 content::DownloadManager* manager, | 372 content::DownloadManager* manager, |
373 content::DownloadItem* download_item) OVERRIDE; | 373 content::DownloadItem* download_item) override; |
374 | 374 |
375 // extensions::EventRouter::Observer. | 375 // extensions::EventRouter::Observer. |
376 virtual void OnListenerRemoved( | 376 virtual void OnListenerRemoved( |
377 const extensions::EventListenerInfo& details) OVERRIDE; | 377 const extensions::EventListenerInfo& details) override; |
378 | 378 |
379 // Used for testing. | 379 // Used for testing. |
380 struct DownloadsNotificationSource { | 380 struct DownloadsNotificationSource { |
381 std::string event_name; | 381 std::string event_name; |
382 Profile* profile; | 382 Profile* profile; |
383 }; | 383 }; |
384 | 384 |
385 private: | 385 private: |
386 void DispatchEvent( | 386 void DispatchEvent( |
387 const std::string& event_name, | 387 const std::string& event_name, |
388 bool include_incognito, | 388 bool include_incognito, |
389 const extensions::Event::WillDispatchCallback& will_dispatch_callback, | 389 const extensions::Event::WillDispatchCallback& will_dispatch_callback, |
390 base::Value* json_arg); | 390 base::Value* json_arg); |
391 | 391 |
392 // extensions::ExtensionRegistryObserver. | 392 // extensions::ExtensionRegistryObserver. |
393 virtual void OnExtensionUnloaded( | 393 virtual void OnExtensionUnloaded( |
394 content::BrowserContext* browser_context, | 394 content::BrowserContext* browser_context, |
395 const extensions::Extension* extension, | 395 const extensions::Extension* extension, |
396 extensions::UnloadedExtensionInfo::Reason reason) OVERRIDE; | 396 extensions::UnloadedExtensionInfo::Reason reason) override; |
397 | 397 |
398 Profile* profile_; | 398 Profile* profile_; |
399 AllDownloadItemNotifier notifier_; | 399 AllDownloadItemNotifier notifier_; |
400 std::set<const extensions::Extension*> shelf_disabling_extensions_; | 400 std::set<const extensions::Extension*> shelf_disabling_extensions_; |
401 | 401 |
402 // Listen to extension unloaded notifications. | 402 // Listen to extension unloaded notifications. |
403 ScopedObserver<extensions::ExtensionRegistry, | 403 ScopedObserver<extensions::ExtensionRegistry, |
404 extensions::ExtensionRegistryObserver> | 404 extensions::ExtensionRegistryObserver> |
405 extension_registry_observer_; | 405 extension_registry_observer_; |
406 | 406 |
407 DISALLOW_COPY_AND_ASSIGN(ExtensionDownloadsEventRouter); | 407 DISALLOW_COPY_AND_ASSIGN(ExtensionDownloadsEventRouter); |
408 }; | 408 }; |
409 | 409 |
410 } // namespace extensions | 410 } // namespace extensions |
411 | 411 |
412 #endif // CHROME_BROWSER_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_ | 412 #endif // CHROME_BROWSER_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_ |
OLD | NEW |