diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-22 20:08:04 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-09-22 20:15:13 +0200 |
commit | 29e75ab2ede9e13321faeec61e1d77f3caa6118c (patch) | |
tree | bafd4479f5a84db963eef0c04e7a5d86627f6691 /tests/auto/quick | |
parent | 98702f186c66a6eedb90b5d4823c53afd8794770 (diff) | |
parent | bb6fffd1ad3168edc9d67492cca585084d8ae6b4 (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
src/core/certificate_error_controller.cpp
src/core/compositor/display_gl_output_surface_qsg.cpp
src/webengine/doc/src/webengine_certificate_error.qdoc
tests/auto/quick/qmltests/data/tst_certificateError.qml
Change-Id: I976958a0833030bfd7c3ed762585eb12031306b0
Diffstat (limited to 'tests/auto/quick')
-rw-r--r-- | tests/auto/quick/qmltests/data/tst_certificateError.qml | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/tests/auto/quick/qmltests/data/tst_certificateError.qml b/tests/auto/quick/qmltests/data/tst_certificateError.qml index a4bd9597a..976de88a9 100644 --- a/tests/auto/quick/qmltests/data/tst_certificateError.qml +++ b/tests/auto/quick/qmltests/data/tst_certificateError.qml @@ -38,15 +38,6 @@ TestWebEngineView { property bool deferError: false property bool acceptCertificate: false - onCertificateError: function(error) { - if (deferError) - error.defer() - else if (acceptCertificate) - error.acceptCertificate() - else - error.rejectCertificate() - } - SignalSpy { id: spyError target: view @@ -88,6 +79,16 @@ TestWebEngineView { function test_error(data) { view.deferError = data.deferError view.acceptCertificate = data.acceptCertificate + var handleCertificateError = function(error) { + if (deferError) + error.defer() + else if (acceptCertificate) + error.acceptCertificate() + else + error.rejectCertificate() + } + view.certificateError.connect(handleCertificateError) + view.url = Shared.HttpsServer.url() if (data.deferError) { @@ -109,6 +110,25 @@ TestWebEngineView { compare(spyError.count, 1) compare(data.expectedContent, view.getBodyText()) + + view.certificateError.disconnect(handleCertificateError) + } + + function test_fatalError() { + var handleCertificateError = function(error) { + verify(!error.overrideable); + // QQuickWebEngineViewPrivate::allowCertificateError() will implicitly reject + // fatal errors and it should not crash if already rejected in handler. + error.rejectCertificate(); + } + view.certificateError.connect(handleCertificateError); + + view.url = Qt.resolvedUrl('https://revoked.badssl.com'); + if (!view.waitForLoadFailed(10000)) + skip("Couldn't load page from network, skipping test."); + compare(spyError.count, 1); + + view.certificateError.disconnect(handleCertificateError); } } } |