| Index: chrome/browser/extensions/api/downloads/downloads_api.h
|
| diff --git a/chrome/browser/extensions/api/downloads/downloads_api.h b/chrome/browser/extensions/api/downloads/downloads_api.h
|
| index c8a148eb4b8c497e2588142aaa59a5b785aea4e6..66022a15e145bc338bcc7ce804bca34770f4e30f 100644
|
| --- a/chrome/browser/extensions/api/downloads/downloads_api.h
|
| +++ b/chrome/browser/extensions/api/downloads/downloads_api.h
|
| @@ -47,296 +47,162 @@ extern const char kNotImplementedError[];
|
|
|
| } // namespace download_extension_errors
|
|
|
| -class DownloadsFunctionInterface {
|
| - public:
|
| - enum DownloadsFunctionName {
|
| - DOWNLOADS_FUNCTION_DOWNLOAD = 0,
|
| - DOWNLOADS_FUNCTION_SEARCH = 1,
|
| - DOWNLOADS_FUNCTION_PAUSE = 2,
|
| - DOWNLOADS_FUNCTION_RESUME = 3,
|
| - DOWNLOADS_FUNCTION_CANCEL = 4,
|
| - DOWNLOADS_FUNCTION_ERASE = 5,
|
| - DOWNLOADS_FUNCTION_SET_DESTINATION = 6,
|
| - DOWNLOADS_FUNCTION_ACCEPT_DANGER = 7,
|
| - DOWNLOADS_FUNCTION_SHOW = 8,
|
| - DOWNLOADS_FUNCTION_DRAG = 9,
|
| - DOWNLOADS_FUNCTION_GET_FILE_ICON = 10,
|
| - // Insert new values here, not at the beginning.
|
| - DOWNLOADS_FUNCTION_LAST
|
| - };
|
| -
|
| - protected:
|
| - virtual ~DownloadsFunctionInterface() {}
|
| -
|
| - // Return true if args_ is well-formed, otherwise set error_ and return false.
|
| - virtual bool ParseArgs() = 0;
|
| -
|
| - // Implementation-specific logic. "Do the thing that you do." Should return
|
| - // true if the call succeeded and false otherwise.
|
| - virtual bool RunInternal() = 0;
|
| -
|
| - // Which subclass is this.
|
| - virtual DownloadsFunctionName function() const = 0;
|
| -
|
| - // Wrap ParseArgs(), RunInternal().
|
| - static bool RunImplImpl(DownloadsFunctionInterface* pimpl);
|
| -};
|
| -
|
| -class SyncDownloadsFunction : public SyncExtensionFunction,
|
| - public DownloadsFunctionInterface {
|
| - protected:
|
| - explicit SyncDownloadsFunction(DownloadsFunctionName function);
|
| - virtual ~SyncDownloadsFunction();
|
| -
|
| - // ExtensionFunction:
|
| - virtual bool RunImpl() OVERRIDE;
|
| -
|
| - // DownloadsFunctionInterface:
|
| - virtual DownloadsFunctionName function() const OVERRIDE;
|
| -
|
| - content::DownloadItem* GetActiveItem(int download_id);
|
| -
|
| - private:
|
| - DownloadsFunctionName function_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SyncDownloadsFunction);
|
| -};
|
|
|
| -class AsyncDownloadsFunction : public AsyncExtensionFunction,
|
| - public DownloadsFunctionInterface {
|
| - protected:
|
| - explicit AsyncDownloadsFunction(DownloadsFunctionName function);
|
| - virtual ~AsyncDownloadsFunction();
|
| -
|
| - // ExtensionFunction:
|
| - virtual bool RunImpl() OVERRIDE;
|
| -
|
| - // DownloadsFunctionInterface:
|
| - virtual DownloadsFunctionName function() const OVERRIDE;
|
| -
|
| - content::DownloadItem* GetActiveItem(int download_id);
|
| -
|
| - private:
|
| - DownloadsFunctionName function_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(AsyncDownloadsFunction);
|
| -};
|
| -
|
| -class DownloadsDownloadFunction : public AsyncDownloadsFunction {
|
| +class DownloadsDownloadFunction : public AsyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.download");
|
| -
|
| DownloadsDownloadFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsDownloadFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| - struct IOData {
|
| - public:
|
| - IOData();
|
| - ~IOData();
|
| -
|
| - GURL url;
|
| - string16 filename;
|
| - bool save_as;
|
| - base::ListValue* extra_headers;
|
| - std::string method;
|
| - std::string post_body;
|
| - content::ResourceDispatcherHost* rdh;
|
| - content::ResourceContext* resource_context;
|
| - int render_process_host_id;
|
| - int render_view_host_routing_id;
|
| - };
|
| -
|
| - void BeginDownloadOnIOThread();
|
| void OnStarted(content::DownloadId dl_id, net::Error error);
|
|
|
| - scoped_ptr<IOData> iodata_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsDownloadFunction);
|
| };
|
|
|
| -class DownloadsSearchFunction : public SyncDownloadsFunction {
|
| +class DownloadsSearchFunction : public SyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.search");
|
| -
|
| DownloadsSearchFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsSearchFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| - bool ParseOrderBy(const base::Value& order_by_value);
|
| -
|
| - scoped_ptr<DownloadQuery> query_;
|
| - int get_id_;
|
| - bool has_get_id_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsSearchFunction);
|
| };
|
|
|
| -class DownloadsPauseFunction : public SyncDownloadsFunction {
|
| +class DownloadsPauseFunction : public SyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.pause");
|
| -
|
| DownloadsPauseFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsPauseFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| - int download_id_;
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsPauseFunction);
|
| };
|
|
|
| -class DownloadsResumeFunction : public SyncDownloadsFunction {
|
| +class DownloadsResumeFunction : public SyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.resume");
|
| -
|
| DownloadsResumeFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsResumeFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| - int download_id_;
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsResumeFunction);
|
| };
|
|
|
| -class DownloadsCancelFunction : public SyncDownloadsFunction {
|
| +class DownloadsCancelFunction : public SyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.cancel");
|
| -
|
| DownloadsCancelFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsCancelFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| - int download_id_;
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsCancelFunction);
|
| };
|
|
|
| -class DownloadsEraseFunction : public AsyncDownloadsFunction {
|
| +class DownloadsEraseFunction : public AsyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.erase");
|
| -
|
| DownloadsEraseFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsEraseFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsEraseFunction);
|
| };
|
|
|
| -class DownloadsSetDestinationFunction : public AsyncDownloadsFunction {
|
| +class DownloadsSetDestinationFunction : public AsyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.setDestination");
|
| -
|
| DownloadsSetDestinationFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsSetDestinationFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsSetDestinationFunction);
|
| };
|
|
|
| -class DownloadsAcceptDangerFunction : public AsyncDownloadsFunction {
|
| +class DownloadsAcceptDangerFunction : public AsyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.acceptDanger");
|
| -
|
| DownloadsAcceptDangerFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsAcceptDangerFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsAcceptDangerFunction);
|
| };
|
|
|
| -class DownloadsShowFunction : public AsyncDownloadsFunction {
|
| +class DownloadsShowFunction : public AsyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.show");
|
| -
|
| DownloadsShowFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsShowFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsShowFunction);
|
| };
|
|
|
| -class DownloadsDragFunction : public AsyncDownloadsFunction {
|
| +class DownloadsOpenFunction : public AsyncExtensionFunction {
|
| public:
|
| - DECLARE_EXTENSION_FUNCTION_NAME("downloads.drag");
|
| + DECLARE_EXTENSION_FUNCTION_NAME("downloads.open");
|
| + DownloadsOpenFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
| +
|
| + protected:
|
| + virtual ~DownloadsOpenFunction();
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(DownloadsOpenFunction);
|
| +};
|
|
|
| +class DownloadsDragFunction : public AsyncExtensionFunction {
|
| + public:
|
| + DECLARE_EXTENSION_FUNCTION_NAME("downloads.drag");
|
| DownloadsDragFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
|
|
| protected:
|
| virtual ~DownloadsDragFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| DISALLOW_COPY_AND_ASSIGN(DownloadsDragFunction);
|
| };
|
|
|
| -class DownloadsGetFileIconFunction : public AsyncDownloadsFunction {
|
| +class DownloadsGetFileIconFunction : public AsyncExtensionFunction {
|
| public:
|
| DECLARE_EXTENSION_FUNCTION_NAME("downloads.getFileIcon");
|
| -
|
| DownloadsGetFileIconFunction();
|
| + virtual bool RunImpl() OVERRIDE;
|
| void SetIconExtractorForTesting(DownloadFileIconExtractor* extractor);
|
|
|
| protected:
|
| virtual ~DownloadsGetFileIconFunction();
|
|
|
| - // DownloadsFunctionInterface:
|
| - virtual bool ParseArgs() OVERRIDE;
|
| - virtual bool RunInternal() OVERRIDE;
|
| -
|
| private:
|
| void OnIconURLExtracted(const std::string& url);
|
| FilePath path_;
|
|
|