| 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 |