Я создал новый класс CefDownloadHandlerImpl
, унаследовав CefDownloadHandler
class CefDownloadHandlerImpl : public CefDownloadHandler {
public:
virtual void OnBeforeDownload(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDownloadItem> download_item,
const CefString& suggested_name,
CefRefPtr<CefBeforeDownloadCallback> callback) OVERRIDE;
В OnBeforeDownload
, когда я пытаюсь загрузить zip-файл размером около 20 МБ, я получаю PercentComplete = 0
и TotalBytes
правильно. Но когда я пытаюсь загрузить файл pdf размером 2 МБ, я получаю PercentComplete = -1
и TotalBytes = 0
, что неуместно.
void CefDownloadHandlerImpl::OnBeforeDownload(
CefRefPtr<CefBrowser> browser,
CefRefPtr<CefDownloadItem> download_item,
const CefString& suggested_name,
CefRefPtr<CefBeforeDownloadCallback> callback) {
auto TotalBytes = download_item->GetTotalBytes();
auto PercentComplete = download_item->GetPercentComplete();
Что может быть не так и, что более важно, как это исправить?