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

Side by Side Diff: chrome/browser/extensions/api/downloads/downloads_api.h

Issue 16924017: A few minor changes to the chrome.downloads extension API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: @r211135 Created 7 years, 5 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_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 <string> 8 #include <string>
9 9
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
11 #include "base/memory/singleton.h" 11 #include "base/memory/singleton.h"
12 #include "base/strings/string16.h" 12 #include "base/strings/string16.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "chrome/browser/download/all_download_item_notifier.h" 14 #include "chrome/browser/download/all_download_item_notifier.h"
15 #include "chrome/browser/download/download_danger_prompt.h"
15 #include "chrome/browser/download/download_path_reservation_tracker.h" 16 #include "chrome/browser/download/download_path_reservation_tracker.h"
16 #include "chrome/browser/extensions/event_router.h" 17 #include "chrome/browser/extensions/event_router.h"
17 #include "chrome/browser/extensions/extension_function.h" 18 #include "chrome/browser/extensions/extension_function.h"
18 #include "chrome/common/extensions/api/downloads.h" 19 #include "chrome/common/extensions/api/downloads.h"
19 #include "content/public/browser/download_id.h" 20 #include "content/public/browser/download_id.h"
20 #include "content/public/browser/download_item.h" 21 #include "content/public/browser/download_item.h"
21 #include "content/public/browser/download_manager.h" 22 #include "content/public/browser/download_manager.h"
22 23
23 class DownloadFileIconExtractor; 24 class DownloadFileIconExtractor;
24 class DownloadQuery; 25 class DownloadQuery;
25 26
26 namespace content { 27 namespace content {
27 class ResourceContext; 28 class ResourceContext;
28 class ResourceDispatcherHost; 29 class ResourceDispatcherHost;
29 } 30 }
30 31
31 // Functions in the chrome.downloads namespace facilitate 32 // Functions in the chrome.downloads namespace facilitate
32 // controlling downloads from extensions. See the full API doc at 33 // controlling downloads from extensions. See the full API doc at
33 // http://goo.gl/6hO1n 34 // http://goo.gl/6hO1n
34 35
35 namespace download_extension_errors { 36 namespace download_extension_errors {
36 37
37 // Errors that can be returned through chrome.runtime.lastError.message. 38 // Errors that can be returned through chrome.runtime.lastError.message.
38 extern const char kGenericError[];
39 extern const char kIconNotFoundError[]; 39 extern const char kIconNotFoundError[];
40 extern const char kInvalidDangerTypeError[]; 40 extern const char kInvalidDangerTypeError[];
41 extern const char kInvalidFilenameError[]; 41 extern const char kInvalidFilenameError[];
42 extern const char kInvalidFilterError[]; 42 extern const char kInvalidFilterError[];
43 extern const char kInvalidHeaderError[];
43 extern const char kInvalidOperationError[]; 44 extern const char kInvalidOperationError[];
44 extern const char kInvalidOrderByError[]; 45 extern const char kInvalidOrderByError[];
45 extern const char kInvalidQueryLimit[]; 46 extern const char kInvalidQueryLimit[];
46 extern const char kInvalidStateError[]; 47 extern const char kInvalidStateError[];
47 extern const char kInvalidURLError[]; 48 extern const char kInvalidURLError[];
49 extern const char kNotPermittedURLError[];
48 extern const char kNotImplementedError[]; 50 extern const char kNotImplementedError[];
49 extern const char kTooManyListenersError[]; 51 extern const char kTooManyListenersError[];
50 52
51 } // namespace download_extension_errors 53 } // namespace download_extension_errors
52 54
53 55
54 class DownloadsDownloadFunction : public AsyncExtensionFunction { 56 class DownloadsDownloadFunction : public AsyncExtensionFunction {
55 public: 57 public:
56 DECLARE_EXTENSION_FUNCTION("downloads.download", DOWNLOADS_DOWNLOAD) 58 DECLARE_EXTENSION_FUNCTION("downloads.download", DOWNLOADS_DOWNLOAD)
57 DownloadsDownloadFunction(); 59 DownloadsDownloadFunction();
58 virtual bool RunImpl() OVERRIDE; 60 virtual bool RunImpl() OVERRIDE;
59 61
60 protected: 62 protected:
61 virtual ~DownloadsDownloadFunction(); 63 virtual ~DownloadsDownloadFunction();
62 64
63 private: 65 private:
64 void OnStarted(content::DownloadItem* item, net::Error error); 66 void OnStarted(
67 const base::FilePath& creator_suggested_filename,
68 extensions::api::downloads::FilenameConflictAction
69 creator_conflict_action,
70 content::DownloadItem* item,
71 net::Error error);
65 72
66 DISALLOW_COPY_AND_ASSIGN(DownloadsDownloadFunction); 73 DISALLOW_COPY_AND_ASSIGN(DownloadsDownloadFunction);
67 }; 74 };
68 75
69 class DownloadsSearchFunction : public SyncExtensionFunction { 76 class DownloadsSearchFunction : public SyncExtensionFunction {
70 public: 77 public:
71 DECLARE_EXTENSION_FUNCTION("downloads.search", DOWNLOADS_SEARCH) 78 DECLARE_EXTENSION_FUNCTION("downloads.search", DOWNLOADS_SEARCH)
72 DownloadsSearchFunction(); 79 DownloadsSearchFunction();
73 virtual bool RunImpl() OVERRIDE; 80 virtual bool RunImpl() OVERRIDE;
74 81
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 DownloadsEraseFunction(); 131 DownloadsEraseFunction();
125 virtual bool RunImpl() OVERRIDE; 132 virtual bool RunImpl() OVERRIDE;
126 133
127 protected: 134 protected:
128 virtual ~DownloadsEraseFunction(); 135 virtual ~DownloadsEraseFunction();
129 136
130 private: 137 private:
131 DISALLOW_COPY_AND_ASSIGN(DownloadsEraseFunction); 138 DISALLOW_COPY_AND_ASSIGN(DownloadsEraseFunction);
132 }; 139 };
133 140
141 class DownloadsDeleteFileFunction : public AsyncExtensionFunction {
142 public:
143 DECLARE_EXTENSION_FUNCTION("downloads.deleteFile", DOWNLOADS_DELETEFILE)
144 DownloadsDeleteFileFunction();
145 virtual bool RunImpl() OVERRIDE;
146
147 protected:
148 virtual ~DownloadsDeleteFileFunction();
149
150 private:
151 void DeleteOnFileThread(const base::FilePath& path);
152 void RespondOnUIThread();
153 DISALLOW_COPY_AND_ASSIGN(DownloadsDeleteFileFunction);
154 };
155
134 class DownloadsAcceptDangerFunction : public AsyncExtensionFunction { 156 class DownloadsAcceptDangerFunction : public AsyncExtensionFunction {
135 public: 157 public:
136 DECLARE_EXTENSION_FUNCTION("downloads.acceptDanger", DOWNLOADS_ACCEPTDANGER) 158 DECLARE_EXTENSION_FUNCTION("downloads.acceptDanger", DOWNLOADS_ACCEPTDANGER)
137 DownloadsAcceptDangerFunction(); 159 DownloadsAcceptDangerFunction();
138 virtual bool RunImpl() OVERRIDE; 160 virtual bool RunImpl() OVERRIDE;
139 161
140 protected: 162 protected:
141 virtual ~DownloadsAcceptDangerFunction(); 163 virtual ~DownloadsAcceptDangerFunction();
142 void DangerPromptCallback(bool accept, int download_id); 164 void DangerPromptCallback(int download_id,
165 DownloadDangerPrompt::Action action);
143 166
144 private: 167 private:
145 DISALLOW_COPY_AND_ASSIGN(DownloadsAcceptDangerFunction); 168 DISALLOW_COPY_AND_ASSIGN(DownloadsAcceptDangerFunction);
146 }; 169 };
147 170
148 class DownloadsShowFunction : public AsyncExtensionFunction { 171 class DownloadsShowFunction : public AsyncExtensionFunction {
149 public: 172 public:
150 DECLARE_EXTENSION_FUNCTION("downloads.show", DOWNLOADS_SHOW) 173 DECLARE_EXTENSION_FUNCTION("downloads.show", DOWNLOADS_SHOW)
151 DownloadsShowFunction(); 174 DownloadsShowFunction();
152 virtual bool RunImpl() OVERRIDE; 175 virtual bool RunImpl() OVERRIDE;
(...skipping 24 matching lines...) Expand all
177 DownloadsDragFunction(); 200 DownloadsDragFunction();
178 virtual bool RunImpl() OVERRIDE; 201 virtual bool RunImpl() OVERRIDE;
179 202
180 protected: 203 protected:
181 virtual ~DownloadsDragFunction(); 204 virtual ~DownloadsDragFunction();
182 205
183 private: 206 private:
184 DISALLOW_COPY_AND_ASSIGN(DownloadsDragFunction); 207 DISALLOW_COPY_AND_ASSIGN(DownloadsDragFunction);
185 }; 208 };
186 209
210 class DownloadsSetShelfVisibleFunction : public SyncExtensionFunction {
211 public:
212 DECLARE_EXTENSION_FUNCTION("downloads.setShelfVisible",
213 DOWNLOADS_SETSHELFVISIBLE)
214 DownloadsSetShelfVisibleFunction();
215 virtual bool RunImpl() OVERRIDE;
216
217 protected:
218 virtual ~DownloadsSetShelfVisibleFunction();
219
220 private:
221 DISALLOW_COPY_AND_ASSIGN(DownloadsSetShelfVisibleFunction);
222 };
223
187 class DownloadsGetFileIconFunction : public AsyncExtensionFunction { 224 class DownloadsGetFileIconFunction : public AsyncExtensionFunction {
188 public: 225 public:
189 DECLARE_EXTENSION_FUNCTION("downloads.getFileIcon", DOWNLOADS_GETFILEICON) 226 DECLARE_EXTENSION_FUNCTION("downloads.getFileIcon", DOWNLOADS_GETFILEICON)
190 DownloadsGetFileIconFunction(); 227 DownloadsGetFileIconFunction();
191 virtual bool RunImpl() OVERRIDE; 228 virtual bool RunImpl() OVERRIDE;
192 void SetIconExtractorForTesting(DownloadFileIconExtractor* extractor); 229 void SetIconExtractorForTesting(DownloadFileIconExtractor* extractor);
193 230
194 protected: 231 protected:
195 virtual ~DownloadsGetFileIconFunction(); 232 virtual ~DownloadsGetFileIconFunction();
196 233
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 const extensions::Event::WillDispatchCallback& will_dispatch_callback, 308 const extensions::Event::WillDispatchCallback& will_dispatch_callback,
272 base::Value* json_arg); 309 base::Value* json_arg);
273 310
274 Profile* profile_; 311 Profile* profile_;
275 AllDownloadItemNotifier notifier_; 312 AllDownloadItemNotifier notifier_;
276 313
277 DISALLOW_COPY_AND_ASSIGN(ExtensionDownloadsEventRouter); 314 DISALLOW_COPY_AND_ASSIGN(ExtensionDownloadsEventRouter);
278 }; 315 };
279 316
280 #endif // CHROME_BROWSER_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_ 317 #endif // CHROME_BROWSER_EXTENSIONS_API_DOWNLOADS_DOWNLOADS_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698