diff options
Diffstat (limited to 'WebKit/android/WebCoreSupport/WebRequest.cpp')
-rw-r--r-- | WebKit/android/WebCoreSupport/WebRequest.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/WebKit/android/WebCoreSupport/WebRequest.cpp b/WebKit/android/WebCoreSupport/WebRequest.cpp index 468a3cd..cd496df 100644 --- a/WebKit/android/WebCoreSupport/WebRequest.cpp +++ b/WebKit/android/WebCoreSupport/WebRequest.cpp @@ -318,12 +318,12 @@ void WebRequest::OnAuthRequired(URLRequest* request, net::AuthChallengeInfo* aut m_urlLoader.get(), &WebUrlLoaderClient::authRequired, authInfoPtr, firstTime)); } -// Called when we received an SSL certificate error. Right now, we only -// set the appropriate error code. FIXME: the delegate should provide +// Called when we received an SSL certificate error. The delegate will provide // the user the options to proceed, cancel, or view certificates. void WebRequest::OnSSLCertificateError(URLRequest* request, int cert_error, net::X509Certificate* cert) { - request->SimulateError(cert_error); + m_urlLoader->maybeCallOnMainThread(NewRunnableMethod( + m_urlLoader.get(), &WebUrlLoaderClient::reportSslCertError, cert_error, cert)); } // After calling Start(), the delegate will receive an OnResponseStarted @@ -370,6 +370,16 @@ void WebRequest::followDeferredRedirect() m_request->FollowDeferredRedirect(); } +void WebRequest::proceedSslCertError() +{ + m_request->ContinueDespiteLastError(); +} + +void WebRequest::cancelSslCertError(int cert_error) +{ + m_request->SimulateError(cert_error); +} + void WebRequest::startReading() { ASSERT(m_loadState == Response || m_loadState == GotData, "StartReading in state other than RESPONSE and GOTDATA"); |