ShareReadability
DownloadHandler.cs
Go to the documentation of this file.
1 using System;
2 using CefSharp;
3 
4 namespace ShareReadability.Util
5 {
6  /// @file DownloadHandler.cs
7  /// <inheritdoc />
8  /// <summary>
9  /// DownloadHandler from CefSharp examples to handle the downloads.
10  /// https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Example/DownloadHandler.cs
11  /// </summary>
12  public class DownloadHandler : IDownloadHandler
13  {
14  public event EventHandler<DownloadItem> OnBeforeDownloadFired;
15  public event EventHandler<DownloadItem> OnDownloadUpdatedFired;
16 
17  /// <summary>
18  /// Handles the downloading of a file. Opens a save file dialog.
19  /// </summary>
20  /// <param name="browser">The browser that wants to download</param>
21  /// <param name="downloadItem">The item to download.</param>
22  /// <param name="callback">The callback to continue downloading.</param>
23  public void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
24  {
25  var handler = OnBeforeDownloadFired;
26  if (handler != null)
27  {
28  handler(this, downloadItem);
29  }
30 
31  if (!callback.IsDisposed)
32  {
33  using (callback)
34  {
35  callback.Continue(downloadItem.SuggestedFileName, showDialog: true);
36  }
37  }
38  }
39 
40  /// <summary>
41  /// Handles the downloading of a file.
42  /// </summary>
43  /// <param name="browser">The browser that wants to download</param>
44  /// <param name="downloadItem">The item to download.</param>
45  /// <param name="callback">The callback used to cancel a download.</param>
46  public void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
47  {
48  var handler = OnDownloadUpdatedFired;
49  if (handler != null)
50  {
51  handler(this, downloadItem);
52  }
53  }
54  }
55 }
void OnDownloadUpdated(IBrowser browser, DownloadItem downloadItem, IDownloadItemCallback callback)
Handles the downloading of a file.
void OnBeforeDownload(IBrowser browser, DownloadItem downloadItem, IBeforeDownloadCallback callback)
Handles the downloading of a file. Opens a save file dialog.