diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/webkit/SslCertLookupTable.java | 4 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewCore.java | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/core/java/android/webkit/SslCertLookupTable.java b/core/java/android/webkit/SslCertLookupTable.java index 048a3cf..052244f 100644 --- a/core/java/android/webkit/SslCertLookupTable.java +++ b/core/java/android/webkit/SslCertLookupTable.java @@ -46,4 +46,8 @@ final class SslCertLookupTable { public boolean isAllowed(SslError sslError) { return table.getBoolean(sslError.toString()); } + + public void clear() { + table.clear(); + } } diff --git a/core/java/android/webkit/WebViewCore.java b/core/java/android/webkit/WebViewCore.java index 470e843..deaf0f2 100644 --- a/core/java/android/webkit/WebViewCore.java +++ b/core/java/android/webkit/WebViewCore.java @@ -1349,8 +1349,14 @@ public final class WebViewCore { } case CLEAR_SSL_PREF_TABLE: - Network.getInstance(mContext) - .clearUserSslPrefTable(); + if (JniUtil.useChromiumHttpStack()) { + // FIXME: This will not work for connections currently in use, as + // they cache the certificate responses. See http://b/5324235. + SslCertLookupTable.getInstance().clear(); + nativeCloseIdleConnections(); + } else { + Network.getInstance(mContext).clearUserSslPrefTable(); + } break; case TOUCH_UP: |
