mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights
 | |
| // reserved. Use of this source code is governed by a BSD-style license that
 | |
| // can be found in the LICENSE file.
 | |
| 
 | |
| #include "libcef/browser/download_item_impl.h"
 | |
| 
 | |
| #include "libcef/common/time_util.h"
 | |
| 
 | |
| #include "components/download/public/common/download_item.h"
 | |
| #include "url/gurl.h"
 | |
| 
 | |
| CefDownloadItemImpl::CefDownloadItemImpl(download::DownloadItem* value)
 | |
|     : CefValueBase<CefDownloadItem, download::DownloadItem>(
 | |
|           value,
 | |
|           nullptr,
 | |
|           kOwnerNoDelete,
 | |
|           true,
 | |
|           new CefValueControllerNonThreadSafe()) {
 | |
|   // Indicate that this object owns the controller.
 | |
|   SetOwnsController();
 | |
| }
 | |
| 
 | |
| bool CefDownloadItemImpl::IsValid() {
 | |
|   return !detached();
 | |
| }
 | |
| 
 | |
| bool CefDownloadItemImpl::IsInProgress() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, false);
 | |
|   return const_value().GetState() == download::DownloadItem::IN_PROGRESS;
 | |
| }
 | |
| 
 | |
| bool CefDownloadItemImpl::IsComplete() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, false);
 | |
|   return const_value().GetState() == download::DownloadItem::COMPLETE;
 | |
| }
 | |
| 
 | |
| bool CefDownloadItemImpl::IsCanceled() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, false);
 | |
|   return const_value().GetState() == download::DownloadItem::CANCELLED;
 | |
| }
 | |
| 
 | |
| int64 CefDownloadItemImpl::GetCurrentSpeed() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, 0);
 | |
|   return const_value().CurrentSpeed();
 | |
| }
 | |
| 
 | |
| int CefDownloadItemImpl::GetPercentComplete() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, -1);
 | |
|   return const_value().PercentComplete();
 | |
| }
 | |
| 
 | |
| int64 CefDownloadItemImpl::GetTotalBytes() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, 0);
 | |
|   return const_value().GetTotalBytes();
 | |
| }
 | |
| 
 | |
| int64 CefDownloadItemImpl::GetReceivedBytes() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, 0);
 | |
|   return const_value().GetReceivedBytes();
 | |
| }
 | |
| 
 | |
| CefTime CefDownloadItemImpl::GetStartTime() {
 | |
|   CefTime time;
 | |
|   CEF_VALUE_VERIFY_RETURN(false, time);
 | |
|   cef_time_from_basetime(const_value().GetStartTime(), time);
 | |
|   return time;
 | |
| }
 | |
| 
 | |
| CefTime CefDownloadItemImpl::GetEndTime() {
 | |
|   CefTime time;
 | |
|   CEF_VALUE_VERIFY_RETURN(false, time);
 | |
|   cef_time_from_basetime(const_value().GetEndTime(), time);
 | |
|   return time;
 | |
| }
 | |
| 
 | |
| CefString CefDownloadItemImpl::GetFullPath() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, CefString());
 | |
|   return const_value().GetFullPath().value();
 | |
| }
 | |
| 
 | |
| uint32 CefDownloadItemImpl::GetId() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, 0);
 | |
|   return const_value().GetId();
 | |
| }
 | |
| 
 | |
| CefString CefDownloadItemImpl::GetURL() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, CefString());
 | |
|   return const_value().GetURL().spec();
 | |
| }
 | |
| 
 | |
| CefString CefDownloadItemImpl::GetOriginalUrl() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, CefString());
 | |
|   return const_value().GetOriginalUrl().spec();
 | |
| }
 | |
| 
 | |
| CefString CefDownloadItemImpl::GetSuggestedFileName() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, CefString());
 | |
|   return const_value().GetSuggestedFilename();
 | |
| }
 | |
| 
 | |
| CefString CefDownloadItemImpl::GetContentDisposition() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, CefString());
 | |
|   return const_value().GetContentDisposition();
 | |
| }
 | |
| 
 | |
| CefString CefDownloadItemImpl::GetMimeType() {
 | |
|   CEF_VALUE_VERIFY_RETURN(false, CefString());
 | |
|   return const_value().GetMimeType();
 | |
| }
 |