#include "config.h"
#include "QtWebError.h"
#include <QtCore/QUrl>
#include <WKSharedAPICast.h>
#include <WKString.h>
#include <WKStringQt.h>
#include <WKType.h>
#include <WKURL.h>
#include <WKURLQt.h>
namespace WebKit {
QtWebError::QtWebError(WKErrorRef errorRef)
: error(errorRef)
{
}
QtWebError::Type QtWebError::type() const
{
WKRetainPtr<WKStringRef> errorDomainPtr = adoptWK(WKErrorCopyDomain(error.get()));
WTF::String errorDomain = toWTFString(errorDomainPtr.get());
if (errorDomain == "QtNetwork")
return QtWebError::NetworkError;
if (errorDomain == "HTTP")
return QtWebError::HttpError;
if (errorDomain == "Download")
return QtWebError::DownloadError;
return QtWebError::InternalError;
}
int QtWebError::errorCode() const
{
return WKErrorGetErrorCode(error.get());
}
QUrl QtWebError::url() const
{
WKRetainPtr<WKURLRef> failingURL = adoptWK(WKErrorCopyFailingURL(error.get()));
return WKURLCopyQUrl(failingURL.get());
}
QString QtWebError::description() const
{
return WKStringCopyQString(WKErrorCopyLocalizedDescription(error.get()));
}
}