Base structure.
Called before a download begins in response to a user-initiated action (e.g. alt + link click or link click that returns a `Content-Disposition: attachment` response from the server). |url| is the target download URL and |request_function| is the target function (GET, POST, etc) nothrow. Return true (1) to proceed with the download or false (0) to cancel the download.
Called before a download begins. |suggested_name| is the suggested name for the download file. Return true (1) and execute |callback| either asynchronously or in this function to continue or cancel the download. Return false (0) to proceed with default handling (cancel with Alloy style, download shelf with Chrome style). Do not keep a reference to |download_item| outside of this function.
Called when a download's status or progress information has been updated. This may be called multiple times before and after on_before_download(). Execute |callback| either asynchronously or in this function to cancel the download if desired. Do not keep a reference to |download_item| outside of this function.
Structure used to handle file downloads. The functions of this structure will called on the browser process UI thread.