summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2020-08-11 14:47:26 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-08-28 13:40:50 +0200
commite88c84addde58d54293cfb14ee2f2fba2b2fed06 (patch)
treed6c22edb022a365f98c29ad10606c77d28dab18b
parentc894e792b1664f0875e983fc3f3090e8ba9d36b4 (diff)
Remove duplicated enums for certificate errors
Add missing CertificateSymantecLegacy. Change-Id: I395f0c4a8c69fe3e0c303a13a3cbc077c123d26d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
-rw-r--r--src/core/api/qwebenginecertificateerror.cpp35
-rw-r--r--src/core/api/qwebenginecertificateerror.h3
-rw-r--r--src/core/certificate_error_controller.cpp86
-rw-r--r--src/core/certificate_error_controller.h28
-rw-r--r--tests/auto/quick/publicapi/tst_publicapi.cpp1
5 files changed, 56 insertions, 97 deletions
diff --git a/src/core/api/qwebenginecertificateerror.cpp b/src/core/api/qwebenginecertificateerror.cpp
index 098986132..33f63f2da 100644
--- a/src/core/api/qwebenginecertificateerror.cpp
+++ b/src/core/api/qwebenginecertificateerror.cpp
@@ -43,39 +43,6 @@
QT_BEGIN_NAMESPACE
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::SslPinnedKeyNotInCertificateChain,
- QWebEngineCertificateError::SslPinnedKeyNotInCertificateChain);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateCommonNameInvalid,
- QWebEngineCertificateError::CertificateCommonNameInvalid);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateCommonNameInvalid,
- QWebEngineCertificateError::CertificateCommonNameInvalid);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateDateInvalid,
- QWebEngineCertificateError::CertificateDateInvalid);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateAuthorityInvalid,
- QWebEngineCertificateError::CertificateAuthorityInvalid);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateContainsErrors,
- QWebEngineCertificateError::CertificateContainsErrors);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateUnableToCheckRevocation,
- QWebEngineCertificateError::CertificateUnableToCheckRevocation);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateRevoked,
- QWebEngineCertificateError::CertificateRevoked);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateInvalid,
- QWebEngineCertificateError::CertificateInvalid);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateWeakSignatureAlgorithm,
- QWebEngineCertificateError::CertificateWeakSignatureAlgorithm);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateNonUniqueName,
- QWebEngineCertificateError::CertificateNonUniqueName);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateWeakKey,
- QWebEngineCertificateError::CertificateWeakKey);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateNameConstraintViolation,
- QWebEngineCertificateError::CertificateNameConstraintViolation);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateValidityTooLong,
- QWebEngineCertificateError::CertificateValidityTooLong);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateTransparencyRequired,
- QWebEngineCertificateError::CertificateTransparencyRequired);
-ASSERT_ENUMS_MATCH(QtWebEngineCore::CertificateErrorController::CertificateKnownInterceptionBlocked,
- QWebEngineCertificateError::CertificateKnownInterceptionBlocked);
-
/*!
\class QWebEngineCertificateError
\brief The QWebEngineCertificateError class provides information about a certificate error.
@@ -160,7 +127,7 @@ QUrl QWebEngineCertificateError::url() const
*/
QWebEngineCertificateError::Type QWebEngineCertificateError::type() const
{
- return Type(d->error());
+ return d->error();
}
/*!
diff --git a/src/core/api/qwebenginecertificateerror.h b/src/core/api/qwebenginecertificateerror.h
index 1fdea42be..3cf2d9990 100644
--- a/src/core/api/qwebenginecertificateerror.h
+++ b/src/core/api/qwebenginecertificateerror.h
@@ -65,7 +65,7 @@ public:
QWebEngineCertificateError& operator=(const QWebEngineCertificateError &other);
~QWebEngineCertificateError();
- // Keep this identical to CertificateErrorController::CertificateError, or add mapping layer.
+ // Keep this identical to NET_ERROR in net_error_list.h, or add mapping layer.
enum Type {
SslPinnedKeyNotInCertificateChain = -150,
CertificateCommonNameInvalid = -200,
@@ -82,6 +82,7 @@ public:
CertificateNameConstraintViolation = -212,
CertificateValidityTooLong = -213,
CertificateTransparencyRequired = -214,
+ CertificateSymantecLegacy = -215,
CertificateKnownInterceptionBlocked = -217,
};
Q_ENUM(Type)
diff --git a/src/core/certificate_error_controller.cpp b/src/core/certificate_error_controller.cpp
index f13ece1bc..a5a665e70 100644
--- a/src/core/certificate_error_controller.cpp
+++ b/src/core/certificate_error_controller.cpp
@@ -49,24 +49,36 @@
namespace QtWebEngineCore {
-ASSERT_ENUMS_MATCH(CertificateErrorController::SslPinnedKeyNotInCertificateChain, net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateCommonNameInvalid, net::ERR_CERT_BEGIN)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateCommonNameInvalid, net::ERR_CERT_COMMON_NAME_INVALID)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateDateInvalid, net::ERR_CERT_DATE_INVALID)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateAuthorityInvalid, net::ERR_CERT_AUTHORITY_INVALID)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateContainsErrors, net::ERR_CERT_CONTAINS_ERRORS)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateUnableToCheckRevocation, net::ERR_CERT_UNABLE_TO_CHECK_REVOCATION)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateRevoked, net::ERR_CERT_REVOKED)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateInvalid, net::ERR_CERT_INVALID)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateWeakSignatureAlgorithm, net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateNonUniqueName, net::ERR_CERT_NON_UNIQUE_NAME)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateWeakKey, net::ERR_CERT_WEAK_KEY)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateNameConstraintViolation, net::ERR_CERT_NAME_CONSTRAINT_VIOLATION)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateValidityTooLong, net::ERR_CERT_VALIDITY_TOO_LONG)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateTransparencyRequired, net::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateSymantecLegacy, net::ERR_CERT_SYMANTEC_LEGACY)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateKnownInterceptionBlocked, net::ERR_CERT_KNOWN_INTERCEPTION_BLOCKED)
-ASSERT_ENUMS_MATCH(CertificateErrorController::CertificateErrorEnd, net::ERR_CERT_END)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::SslPinnedKeyNotInCertificateChain,
+ net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateCommonNameInvalid, net::ERR_CERT_BEGIN)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateCommonNameInvalid,
+ net::ERR_CERT_COMMON_NAME_INVALID)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateDateInvalid, net::ERR_CERT_DATE_INVALID)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateAuthorityInvalid,
+ net::ERR_CERT_AUTHORITY_INVALID)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateContainsErrors,
+ net::ERR_CERT_CONTAINS_ERRORS)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateUnableToCheckRevocation,
+ net::ERR_CERT_UNABLE_TO_CHECK_REVOCATION)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateRevoked, net::ERR_CERT_REVOKED)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateInvalid, net::ERR_CERT_INVALID)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateWeakSignatureAlgorithm,
+ net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateNonUniqueName,
+ net::ERR_CERT_NON_UNIQUE_NAME)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateWeakKey, net::ERR_CERT_WEAK_KEY)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateNameConstraintViolation,
+ net::ERR_CERT_NAME_CONSTRAINT_VIOLATION)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateValidityTooLong,
+ net::ERR_CERT_VALIDITY_TOO_LONG)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateTransparencyRequired,
+ net::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateSymantecLegacy,
+ net::ERR_CERT_SYMANTEC_LEGACY)
+ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateKnownInterceptionBlocked,
+ net::ERR_CERT_KNOWN_INTERCEPTION_BLOCKED)
+// ASSERT_ENUMS_MATCH(QWebEngineCertificateError::CertificateErrorEnd, net::ERR_CERT_END)
// Copied from chrome/browser/ssl/ssl_error_handler.cc:
static int IsCertErrorFatal(int cert_error)
@@ -97,7 +109,7 @@ static int IsCertErrorFatal(int cert_error)
CertificateErrorController::CertificateErrorController(
int cert_error, const net::SSLInfo &ssl_info, const GURL &request_url,
bool strict_enforcement, base::OnceCallback<void(content::CertificateRequestResultType)> cb)
- : m_certError(CertificateErrorController::CertificateError(cert_error))
+ : m_certError(QWebEngineCertificateError::Type(cert_error))
, m_requestUrl(toQt(request_url))
, m_overridable(!IsCertErrorFatal(cert_error) && !strict_enforcement)
{
@@ -115,7 +127,7 @@ CertificateErrorController::~CertificateErrorController()
rejectCertificate();
}
-CertificateErrorController::CertificateError CertificateErrorController::error() const
+QWebEngineCertificateError::Type CertificateErrorController::error() const
{
return m_certError;
}
@@ -173,40 +185,40 @@ QString CertificateErrorController::errorString() const
// consistently described and we need to use versions that does not contain HTML
// formatted text.
switch (m_certError) {
- case SslPinnedKeyNotInCertificateChain:
+ case QWebEngineCertificateError::SslPinnedKeyNotInCertificateChain:
return getQStringForMessageId(IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DETAILS);
- case CertificateCommonNameInvalid:
+ case QWebEngineCertificateError::CertificateCommonNameInvalid:
return getQStringForMessageId(IDS_CERT_ERROR_COMMON_NAME_INVALID_DESCRIPTION);
- case CertificateDateInvalid:
+ case QWebEngineCertificateError::CertificateDateInvalid:
if (QDateTime::currentDateTime() > m_validExpiry)
return getQStringForMessageId(IDS_CERT_ERROR_EXPIRED_DESCRIPTION);
else
return getQStringForMessageId(IDS_CERT_ERROR_NOT_YET_VALID_DESCRIPTION);
- case CertificateAuthorityInvalid:
- case CertificateKnownInterceptionBlocked:
- case CertificateSymantecLegacy:
+ case QWebEngineCertificateError::CertificateAuthorityInvalid:
+ case QWebEngineCertificateError::CertificateKnownInterceptionBlocked:
+ case QWebEngineCertificateError::CertificateSymantecLegacy:
return getQStringForMessageId(IDS_CERT_ERROR_AUTHORITY_INVALID_DESCRIPTION);
- case CertificateContainsErrors:
+ case QWebEngineCertificateError::CertificateContainsErrors:
return getQStringForMessageId(IDS_CERT_ERROR_CONTAINS_ERRORS_DESCRIPTION);
- case CertificateNoRevocationMechanism:
+ case QWebEngineCertificateError::CertificateNoRevocationMechanism:
return getQStringForMessageId(IDS_CERT_ERROR_NO_REVOCATION_MECHANISM_DETAILS);
- case CertificateRevoked:
+ case QWebEngineCertificateError::CertificateRevoked:
return getQStringForMessageId(IDS_CERT_ERROR_REVOKED_CERT_DESCRIPTION);
- case CertificateInvalid:
+ case QWebEngineCertificateError::CertificateInvalid:
return getQStringForMessageId(IDS_CERT_ERROR_INVALID_CERT_DESCRIPTION);
- case CertificateWeakSignatureAlgorithm:
+ case QWebEngineCertificateError::CertificateWeakSignatureAlgorithm:
return getQStringForMessageId(IDS_CERT_ERROR_WEAK_SIGNATURE_ALGORITHM_DESCRIPTION);
- case CertificateNonUniqueName:
+ case QWebEngineCertificateError::CertificateNonUniqueName:
return getQStringForMessageId(IDS_PAGE_INFO_SECURITY_TAB_NON_UNIQUE_NAME);
- case CertificateWeakKey:
+ case QWebEngineCertificateError::CertificateWeakKey:
return getQStringForMessageId(IDS_CERT_ERROR_WEAK_KEY_DESCRIPTION);
- case CertificateNameConstraintViolation:
+ case QWebEngineCertificateError::CertificateNameConstraintViolation:
return getQStringForMessageId(IDS_CERT_ERROR_NAME_CONSTRAINT_VIOLATION_DESCRIPTION);
- case CertificateValidityTooLong:
+ case QWebEngineCertificateError::CertificateValidityTooLong:
return getQStringForMessageId(IDS_CERT_ERROR_VALIDITY_TOO_LONG_DESCRIPTION);
- case CertificateTransparencyRequired:
+ case QWebEngineCertificateError::CertificateTransparencyRequired:
return getQStringForMessageId(IDS_CERT_ERROR_CERTIFICATE_TRANSPARENCY_REQUIRED_DESCRIPTION);
- case CertificateUnableToCheckRevocation: // Deprecated in Chromium.
+ case QWebEngineCertificateError::CertificateUnableToCheckRevocation: // Deprecated in Chromium.
default:
break;
}
diff --git a/src/core/certificate_error_controller.h b/src/core/certificate_error_controller.h
index 828a62070..ec3e26806 100644
--- a/src/core/certificate_error_controller.h
+++ b/src/core/certificate_error_controller.h
@@ -54,6 +54,7 @@
#include "qtwebenginecoreglobal_p.h"
#include "base/callback.h"
#include "content/public/browser/certificate_request_result_type.h"
+#include "qwebenginecertificateerror.h"
#include <QtCore/QDateTime>
#include <QtCore/QScopedPointer>
#include <QtCore/QUrl>
@@ -74,30 +75,7 @@ public:
base::OnceCallback<void(content::CertificateRequestResultType)> callback);
~CertificateErrorController();
- // We can't use QSslError::SslErrors, because the error categories doesn't map.
- // Keep up to date with net/base/net_errors.h and net::IsCertificateError():
- enum CertificateError {
- SslPinnedKeyNotInCertificateChain = -150,
- CertificateCommonNameInvalid = -200,
- CertificateDateInvalid = -201,
- CertificateAuthorityInvalid = -202,
- CertificateContainsErrors = -203,
- CertificateNoRevocationMechanism = -204,
- CertificateUnableToCheckRevocation = -205,
- CertificateRevoked = -206,
- CertificateInvalid = -207,
- CertificateWeakSignatureAlgorithm = -208,
- CertificateNonUniqueName = -210,
- CertificateWeakKey = -211,
- CertificateNameConstraintViolation = -212,
- CertificateValidityTooLong = -213,
- CertificateTransparencyRequired = -214,
- CertificateSymantecLegacy = -215,
- CertificateKnownInterceptionBlocked = -217,
- CertificateErrorEnd = -218 // not an error, just an enum boundary
- };
-
- CertificateError error() const;
+ QWebEngineCertificateError::Type error() const;
QUrl url() const;
bool overridable() const;
QString errorString() const;
@@ -115,7 +93,7 @@ public:
void deactivate();
- CertificateErrorController::CertificateError m_certError;
+ QWebEngineCertificateError::Type m_certError;
const QUrl m_requestUrl;
QDateTime m_validExpiry;
bool m_overridable;
diff --git a/tests/auto/quick/publicapi/tst_publicapi.cpp b/tests/auto/quick/publicapi/tst_publicapi.cpp
index 83ae3f0cd..fd55fcf20 100644
--- a/tests/auto/quick/publicapi/tst_publicapi.cpp
+++ b/tests/auto/quick/publicapi/tst_publicapi.cpp
@@ -136,6 +136,7 @@ static const QStringList expectedAPI = QStringList()
<< "QWebEngineCertificateError.CertificateValidityTooLong --> Type"
<< "QWebEngineCertificateError.CertificateWeakKey --> Type"
<< "QWebEngineCertificateError.CertificateWeakSignatureAlgorithm --> Type"
+ << "QWebEngineCertificateError.CertificateSymantecLegacy --> Type"
<< "QWebEngineCertificateError.SslPinnedKeyNotInCertificateChain --> Type"
<< "QWebEngineCertificateError.defer() --> void"
<< "QWebEngineCertificateError.description --> QString"