public CefWebDownloadUpdatedEventArgs(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { Cancel = false; Browser = browser; DownloadItem = downloadItem; Callback = callback; }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { //downloadItem.CurrentSpeed 下载速度 //downloadItem.TotalBytes 总字节数 //downloadItem.ReceivedBytes 已完成字节数 //downloadItem.PercentComplete 完成百分比 //downloadItem.StartTime 下载开始时间 //downloadItem.EndTime 下载完成时间 if (downloadItem.IsComplete) { MessageBox.Show("文件下载成功!"); if (browser.IsPopup && !browser.HasDocument) { browser.GetHost().ParentWindowWillClose(); browser.GetHost().CloseBrowser(); } } }
internal DownloadUpdatedEventArgs(CefDownloadItem downloadItem, CefDownloadItemCallback callback) { _downloadItem = downloadItem; _callback = callback; DownloadFileId = (int)_downloadItem.Id; CurrentSpeed = _downloadItem.CurrentSpeed; StartTime = _downloadItem.StartTime; EndTime = _downloadItem.EndTime; FullPath = _downloadItem.FullPath; IsCanceled = _downloadItem.IsCanceled; IsComplete = _downloadItem.IsComplete; IsInProgress = _downloadItem.IsInProgress; PercentComplete = _downloadItem.PercentComplete; ReceivedBytes = _downloadItem.ReceivedBytes; ContentDisposition = _downloadItem.ContentDisposition; IsValid = _downloadItem.IsValid; MimeType = _downloadItem.MimeType; OriginalUrl = _downloadItem.OriginalUrl; TotalBytes = _downloadItem.TotalBytes; Url = _downloadItem.Url; }
static internal void ShowOrUpdate(CefDownloadItem item, CefDownloadItemCallback callback, bool create) { var id = item.Id; var ditem = List.Where(v => v.Id == id).FirstOrDefault(); if (ditem == null) { if (!create) { return; } ditem = new DownloadItem(); lock (List) List.Add(ditem); } else { } ditem.SetFrom(item); ditem._callback = callback; PostVersionUpdateEvent(); }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { owner.PerformDownloadUpdated(downloadItem, callback); //Log.Info( "OnDownloadUpdated: " + downloadItem.TotalBytes.ToString() + " " + downloadItem.ReceivedBytes.ToString() + " " + downloadItem.PercentComplete.ToString() + " " + downloadItem.IsComplete.ToString() + " " + downloadItem.FullPath ); base.OnDownloadUpdated(browser, downloadItem, callback); }
public DownloadUpdatedEventArgs(CefDownloadItem item, CefDownloadItemCallback cb) { DownloadedItem = item; Callback = cb; }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { base.OnDownloadUpdated(browser, downloadItem, callback); webBrowser.OnDownloading(downloadItem.TotalBytes, downloadItem.ReceivedBytes, downloadItem.CurrentSpeed, downloadItem.PercentComplete, downloadItem.Url, downloadItem.SuggestedFileName, downloadItem.MimeType, downloadItem.IsComplete, downloadItem.IsInProgress); }
internal void PerformDownloadUpdated(CefDownloadItem downloadItem, CefDownloadItemCallback callback) { DownloadUpdated?.Invoke(this, downloadItem, callback); }
static internal void Show(CefDownloadItem item, CefDownloadItemCallback callback) { ShowOrUpdate(item, callback, true); }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { if (downloadItem.IsComplete || downloadItem.IsCanceled) { } //base.OnDownloadUpdated(browser, downloadItem, callback); }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { base.OnDownloadUpdated(browser, downloadItem, callback); }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { ////base.OnDownloadUpdated(browser, downloadItem, callback); //PublicClass.DownloadProgress(browser, callback, downloadItem);// downloadItem.Url.Substring(downloadItem.Url.LastIndexOf("/") + 1, downloadItem.Url.Length - downloadItem.Url.LastIndexOf("/"))); ////if (downloadItem.IsComplete) ////{ //// // MessageBox.Show("下载成功!"); //// //if (browser.IsPopup && !browser.HasDocument) //// //{ //// if (downloadItem.IsComplete) //// browser.GetHost().CloseBrowser(); //// //} ////} CefDownloadItem cefDownloadItem = downloadItem; //long reciv = downloadItem.ReceivedBytes; try { uint ID = downloadItem.Id; int dPercentComplete = downloadItem.PercentComplete; if (cefDownloadItem.IsInProgress) { CefConstHelper.IsDownloading = true; if (MainForm.Instance.DownloadPanel3.Controls.Count > 2) { MainForm.Instance.Invoke(new Action(() => { for (int i = 0; i < MainForm.Instance.faTabStrip1.Items.Count; i++) { if (MainForm.Instance.faTabStrip1.Items[i].Title == CefConstHelper.CefDownloadTitle) { for (int k = 1; i < MainForm.Instance.faTabStrip1.Items[i].splic.Panel1.Controls.Count; k++) { if (k == MainForm.Instance.faTabStrip1.Items[i].splic.Panel1.Controls.Count) { break; } Jdownload mjdownload = ((Jdownload)MainForm.Instance.faTabStrip1.Items[i].splic.Panel1.Controls[k]); if (mjdownload.IsDownloading && ID.ToString() == mjdownload.DownloadID) { mjdownload.pictureBox1.Image = null; mjdownload.label1.Text = dPercentComplete.ToString() + "%"; // sender.FinishedRate.ToString() + "%"; // break; } } break; } } for (int y = 0; y < MainForm.Instance.DownloadPanel3.Controls.Count - 2; y++) { Jdownloading yDown = ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])); if (yDown.DownloadIndex == ID.ToString()) { ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])).label2.Text = dPercentComplete.ToString() + "%"; // sender.FinishedRate.ToString() + "%"; if (dPercentComplete < 0) { ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])).label2.Text = (cefDownloadItem.ReceivedBytes / 1024000f).ToString("0.00") + "MB"; // sender.FinishedRate.ToString() + "%"; } if (cefDownloadItem.PercentComplete <= 0 && cefDownloadItem.ReceivedBytes == 0 && cefDownloadItem.TotalBytes > 0) { ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])).label2.Text = "100%"; } if (((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])).CancelDowning) { callback.Cancel();//取消下载 ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])).label2.ForeColor = Color.Red; ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])).label2.Text = "停止"; ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[y + 2])).CancelDown.Enabled = false; } } } })); } } //当下载完成时 if (cefDownloadItem.IsComplete) { MainForm.Instance.Invoke(new Action(() => { bool downloadTabOpened = false; for (int i = 0; i < MainForm.Instance.faTabStrip1.Items.Count; i++) { if (MainForm.Instance.faTabStrip1.Items[i].Title == CefConstHelper.CefDownloadTitle) { for (int k = 1; i < MainForm.Instance.faTabStrip1.Items[i].splic.Panel1.Controls.Count - 1; k++) { if (k == MainForm.Instance.faTabStrip1.Items[i].splic.Panel1.Controls.Count) { break; } Jdownload jdownloadR = (Jdownload)(MainForm.Instance.faTabStrip1.Items[i].splic.Panel1.Controls[k]); if (jdownloadR.DownloadID == ID.ToString() && jdownloadR.IsDownloading) { jdownloadR.label1.Text = ""; jdownloadR.label1.Hide(); jdownloadR.ImageBase64str = PublicClass.IamgeToBase64(System.Drawing.Icon.ExtractAssociatedIcon(jdownloadR.FullFilePaths).ToBitmap()); jdownloadR.FileAlreadyDele = false; jdownloadR.IsDownloading = false; jdownloadR.pictureBox1.Image = System.Drawing.Icon.ExtractAssociatedIcon(jdownloadR.FullFilePaths).ToBitmap(); jdownloadR.Invalidate(); mDownloadRecode.Update(jdownloadR); downloadTabOpened = true; } } break; } } if (MainForm.Instance.DownloadPanel3.Visible) { for (int h = 0; h < MainForm.Instance.DownloadPanel3.Controls.Count - 2; h++) { if (((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).DownloadIndex == ID.ToString()) { ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).buttonXP1.ImageDefault = Resources.up1; ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).label2.Visible = false; ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).pictureBox1.Image = Icon.ExtractAssociatedIcon(((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).FilePaths).ToBitmap();; ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).IsDownloaded = true; ((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).Opendownfile.Enabled = true; MainForm.Instance.DownloadPanel3.Invalidate(); if (!downloadTabOpened) //当没有打开下载页面的时候也要更新一部分内容 { string jsonStr = File.ReadAllText(PublicClass.currDirectiory + @"\UserData\mDownloadRecodes"); Jdownload downitem = new Jdownload();// = new FavirteButton(); List <Jdownload> downitemBTs; try { var jobInfoList = JsonConvert.DeserializeObject <List <Jdownload> >(jsonStr); if (jobInfoList.Count > 0) { downitemBTs = jobInfoList; foreach (Jdownload jobInfo in downitemBTs) { if (jobInfo.DownloadID == ID.ToString() && jobInfo.IsDownloading) { jobInfo.ImageBase64str = PublicClass.IamgeToBase64(((Jdownloading)(MainForm.Instance.DownloadPanel3.Controls[h + 2])).pictureBox1.Image); downitem = jobInfo; break; } } mDownloadRecode.Update(downitem); } } catch (Exception e) { MessageBox.Show(e.Message); } } break; } } } })); if (downloadItem.IsComplete) { CefConstHelper.IsDownloading = false; } } } catch (Exception e) { } }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { if (this.Client.HandleDownloadProgress != null) { var cancelled = downloadItem.IsCanceled; this.Client.HandleDownloadProgress(downloadItem.FullPath, downloadItem.ReceivedBytes, downloadItem.TotalBytes, ref cancelled); if (cancelled && downloadItem.IsCanceled == false) { callback.Cancel(); } } Log.Trace("DownloadHandler.OnDownloadUpdated( browser: {0}, downloadItem: {1} )", browser.Identifier, downloadItem.Id); //base.OnDownloadUpdated( browser, downloadItem, callback ); }
protected internal unsafe override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { _implementation.OnDownloadUpdated(browser, downloadItem, callback); }
public override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { _implementation.OnDownloadUpdated(browser, downloadItem, callback); }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { if (downloadItem.IsComplete) { if (OwnerWebView.DownloadCompleted != null) { OwnerWebView.AsyncExecuteInUI(() => OwnerWebView.DownloadCompleted?.Invoke(downloadItem.FullPath)); } } else if (downloadItem.IsCanceled) { if (OwnerWebView.DownloadCancelled != null) { OwnerWebView.AsyncExecuteInUI(() => OwnerWebView.DownloadCancelled?.Invoke(downloadItem.FullPath)); } } else { if (OwnerWebView.DownloadProgressChanged != null) { OwnerWebView.AsyncExecuteInUI(() => OwnerWebView.DownloadProgressChanged?.Invoke(downloadItem.FullPath, downloadItem.ReceivedBytes, downloadItem.TotalBytes)); } } }
public DownloadUpdatedEventArgs(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { this.DownloadItem = downloadItem; this._browser = browser; this.Callback = callback; }
/// <summary> /// Called when a download's status or progress information has been updated. /// This may be called multiple times before and after OnBeforeDownload(). /// Execute |callback| either asynchronously or in this method to cancel the /// download if desired. Do not keep a reference to |download_item| outside of /// this method. /// </summary> protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { _owner.OnDownloadUpdated(new DownloadUpdatedEventArgs(downloadItem, callback)); }
static internal void Update(CefDownloadItem item, CefDownloadItemCallback callback) { ShowOrUpdate(item, callback, false); }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { var e = new DownloadUpdatedEventArgs(downloadItem, callback); _owner.InvokeIfRequired(() => _owner.OnDownloadUpdated(e)); }
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { if (downloadItem.IsComplete) { // MessageBox.Show("下载成功"); if (browser.IsPopup && !browser.HasDocument) { //browser.GetHost().ParentWindowWillClose(); browser.GetHost().CloseBrowser(); } } }
internal protected virtual void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback) { }