2
* Copyright (C) 2012 Intel Corporation. All rights reserved.
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
7
* 1. Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* 2. Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
13
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23
* THE POSSIBILITY OF SUCH DAMAGE.
27
#include "ewk_error.h"
29
#include "ErrorsEfl.h"
32
#include "ewk_error_private.h"
33
#include <WKAPICast.h>
34
#include <wtf/text/CString.h>
36
using namespace WebCore;
37
using namespace WebKit;
39
EwkError::EwkError(WKErrorRef errorRef)
41
, m_url(AdoptWK, WKErrorCopyFailingURL(errorRef))
42
, m_description(AdoptWK, WKErrorCopyLocalizedDescription(errorRef))
45
const char* EwkError::url() const
50
const char* EwkError::description() const
55
String EwkError::domain() const
57
WKRetainPtr<WKStringRef> wkDomain(AdoptWK, WKErrorCopyDomain(m_wkError.get()));
58
return toWTFString(wkDomain.get());
61
int EwkError::errorCode() const
63
return WKErrorGetErrorCode(m_wkError.get());
66
bool EwkError::isCancellation() const
68
return toImpl(m_wkError.get())->platformError().isCancellation();
71
Ewk_Error_Type ewk_error_type_get(const Ewk_Error* error)
73
EINA_SAFETY_ON_NULL_RETURN_VAL(error, EWK_ERROR_TYPE_NONE);
75
String errorDomain = error->domain();
77
if (errorDomain == errorDomainNetwork)
78
return EWK_ERROR_TYPE_NETWORK;
79
if (errorDomain == errorDomainPolicy)
80
return EWK_ERROR_TYPE_POLICY;
81
if (errorDomain == errorDomainPlugin)
82
return EWK_ERROR_TYPE_PLUGIN;
83
if (errorDomain == errorDomainDownload)
84
return EWK_ERROR_TYPE_DOWNLOAD;
85
if (errorDomain == errorDomainPrint)
86
return EWK_ERROR_TYPE_PRINT;
87
return EWK_ERROR_TYPE_INTERNAL;
90
const char* ewk_error_url_get(const Ewk_Error* error)
92
EINA_SAFETY_ON_NULL_RETURN_VAL(error, 0);
97
int ewk_error_code_get(const Ewk_Error* error)
99
EINA_SAFETY_ON_NULL_RETURN_VAL(error, 0);
101
return error->errorCode();
104
const char* ewk_error_description_get(const Ewk_Error* error)
106
EINA_SAFETY_ON_NULL_RETURN_VAL(error, 0);
108
return error->description();
111
Eina_Bool ewk_error_cancellation_get(const Ewk_Error* error)
113
EINA_SAFETY_ON_NULL_RETURN_VAL(error, false);
115
return error->isCancellation();