summaryrefslogtreecommitdiffstats
path: root/core/java/android/net/http/SslError.java
diff options
context:
space:
mode:
authorHuahui Wu <hwu@google.com>2011-06-27 11:03:37 -0700
committerHuahui Wu <hwu@google.com>2011-06-27 18:14:54 -0700
commit3015516a4611db23ce56ae057d281c9328cfdf24 (patch)
treeedfd685644999404ebbc6e0e9576344bb9a22580 /core/java/android/net/http/SslError.java
parent090117774a4eeca850cca9ceac41cd8187772c81 (diff)
downloadframeworks_base-3015516a4611db23ce56ae057d281c9328cfdf24.zip
frameworks_base-3015516a4611db23ce56ae057d281c9328cfdf24.tar.gz
frameworks_base-3015516a4611db23ce56ae057d281c9328cfdf24.tar.bz2
Gets the URL that has a cert error and carrys it in SslError.
b/2689122 SSL error shows the wrong page when triggered by an image/javascript in the page. This change receives the URL which has a cert error from webkit and carrys it in SslError. so the Browser app can show the URL in the dialog boxes. Related CLs are: webkit: https://android-git.corp.google.com/g/#change,117817 browser: https://android-git.corp.google.com/g/#change,117835 Change-Id: I65c3f038a48b6386fa93cb25a9ef70dbfb982c18
Diffstat (limited to 'core/java/android/net/http/SslError.java')
-rw-r--r--core/java/android/net/http/SslError.java68
1 files changed, 65 insertions, 3 deletions
diff --git a/core/java/android/net/http/SslError.java b/core/java/android/net/http/SslError.java
index e1b9deb..1e1cb49 100644
--- a/core/java/android/net/http/SslError.java
+++ b/core/java/android/net/http/SslError.java
@@ -59,36 +59,97 @@ public class SslError {
/**
* The SSL certificate associated with the error set
*/
- SslCertificate mCertificate;
+ final SslCertificate mCertificate;
+
+ /**
+ * The URL associated with the error set.
+ */
+ final String mUrl;
/**
* Creates a new SSL error set object
* @param error The SSL error
* @param certificate The associated SSL certificate
+ * @deprecated Use {@link #SslError(int, SslCertificate, String)}
*/
+ @Deprecated
public SslError(int error, SslCertificate certificate) {
addError(error);
+ if (certificate == null) {
+ throw new NullPointerException("certificate is null.");
+ }
mCertificate = certificate;
+ mUrl = "";
}
/**
* Creates a new SSL error set object
* @param error The SSL error
* @param certificate The associated SSL certificate
+ * @deprecated Use {@link #SslError(int, X509Certificate, String)}
*/
+ @Deprecated
public SslError(int error, X509Certificate certificate) {
addError(error);
+ if (certificate == null) {
+ throw new NullPointerException("certificate is null.");
+ }
mCertificate = new SslCertificate(certificate);
+ mUrl = "";
}
/**
- * @return The SSL certificate associated with the error set
+ * Creates a new SSL error set object
+ * @param error The SSL error
+ * @param certificate The associated SSL certificate
+ * @param url The associated URL.
+ */
+ public SslError(int error, SslCertificate certificate, String url) {
+ addError(error);
+ if (certificate == null) {
+ throw new NullPointerException("certificate is null.");
+ }
+ mCertificate = certificate;
+ if (url == null) {
+ throw new NullPointerException("url is null.");
+ }
+ mUrl = url;
+ }
+
+ /**
+ * Creates a new SSL error set object
+ * @param error The SSL error
+ * @param certificate The associated SSL certificate
+ * @param url The associated URL.
+ */
+ public SslError(int error, X509Certificate certificate, String url) {
+ addError(error);
+ if (certificate == null) {
+ throw new NullPointerException("certificate is null.");
+ }
+ mCertificate = new SslCertificate(certificate);
+ if (url == null) {
+ throw new NullPointerException("url is null.");
+ }
+ mUrl = url;
+ }
+
+ /**
+ * @return The SSL certificate associated with the error set, non-null.
*/
public SslCertificate getCertificate() {
return mCertificate;
}
/**
+ * @return The URL associated with the error set, non-null.
+ * "" if one of the deprecated constructors is used.
+ */
+ public String getUrl() {
+ return mUrl;
+ }
+
+ /**
* Adds the SSL error to the error set
* @param error The SSL error to add
* @return True iff the error being added is a known SSL error
@@ -137,6 +198,7 @@ public class SslError {
*/
public String toString() {
return "primary error: " + getPrimaryError() +
- " certificate: " + getCertificate();
+ " certificate: " + getCertificate() +
+ " on URL: " + getUrl();
}
}