Details
Description
How to reproduce:
1.) Open quicknanobrowser
2.) Open https://davidwalsh.name/demo/fullscreen.php
3.) Click "yes" or "no" in the certificate error dialog
4.) Close the browser
Trace:
[27672:27696:0830/094445:FATAL:ssl_error_handler.cc(124)] Check failed: !request_has_been_notified_.
#0 0x7f7bbb9ba9ed base::debug::StackTrace::StackTrace()
#1 0x7f7bbb9ea6a7 logging::LogMessage::~LogMessage()
#2 0x7f7bba3dee50 content::SSLErrorHandler::CompleteCancelRequest()
#3 0x7f7bba3dfd89 base::internal::RunnableAdapter<>::Run<>()
#4 0x7f7bba3dfca0 base::internal::InvokeHelper<>::MakeItSo<>()
#5 0x7f7bba3dfad8 base::internal::Invoker<>::Run()
#6 0x7f7bb8350432 base::Callback<>::Run()
#7 0x7f7bbbae7c32 base::debug::TaskAnnotator::RunTask()
#8 0x7f7bbb9fa08e base::MessageLoop::RunTask()
#9 0x7f7bbb9fa1a0 base::MessageLoop::DeferOrRunPendingTask()
#10 0x7f7bbb9fa69a base::MessageLoop::DoWork()
#11 0x7f7bbb9a04b2 base::MessagePumpLibevent::Run()
#12 0x7f7bbb9f9cda base::MessageLoop::RunHandler()
#13 0x7f7bbba3e814 base::RunLoop::Run()
#14 0x7f7bbb9f89c6 base::MessageLoop::Run()
#15 0x7f7bbba813c8 base::Thread::Run()
#16 0x7f7bb9b17c6a content::BrowserThreadImpl::IOThreadRun()
#17 0x7f7bb9b1800b content::BrowserThreadImpl::Run()
#18 0x7f7bbba81749 base::Thread::ThreadMain()
#19 0x7f7bbba74408 base::(anonymous namespace)::ThreadFunc()
#20 0x7f7bb4635184 start_thread
#21 0x7f7bb586937d clone
In the Quick API, we notify the SSLErrorHandler one more time when closing the application and destructing the QQuickWebEngineCertificateError object. We should do it only once per certificate error.