2nd try: Shows the right URL that has a cert error.
Identical to https://android-git.corp.google.com/g/#change,117835
which was reverted since its collaborative CL broke the build.
Change-Id: Ic0344bd30895700692fbf7cec84666567133e103
diff --git a/src/com/android/browser/PageDialogsHandler.java b/src/com/android/browser/PageDialogsHandler.java
index c902f65..b39d863 100644
--- a/src/com/android/browser/PageDialogsHandler.java
+++ b/src/com/android/browser/PageDialogsHandler.java
@@ -39,6 +39,7 @@
private Context mContext;
private Controller mController;
private boolean mPageInfoFromShowSSLCertificateOnError;
+ private String mUrlCertificateOnError;
private Tab mPageInfoView;
private AlertDialog mPageInfoDialog;
@@ -63,7 +64,9 @@
public void onConfigurationChanged(Configuration config) {
if (mPageInfoDialog != null) {
mPageInfoDialog.dismiss();
- showPageInfo(mPageInfoView, mPageInfoFromShowSSLCertificateOnError);
+ showPageInfo(mPageInfoView,
+ mPageInfoFromShowSSLCertificateOnError,
+ mUrlCertificateOnError);
}
if (mSSLCertificateDialog != null) {
mSSLCertificateDialog.dismiss();
@@ -71,8 +74,9 @@
}
if (mSSLCertificateOnErrorDialog != null) {
mSSLCertificateOnErrorDialog.dismiss();
- showSSLCertificateOnError(mSSLCertificateOnErrorView, mSSLCertificateOnErrorHandler,
- mSSLCertificateOnErrorError);
+ showSSLCertificateOnError(mSSLCertificateOnErrorView,
+ mSSLCertificateOnErrorHandler,
+ mSSLCertificateOnErrorError);
}
if (mHttpAuthenticationDialog != null) {
mHttpAuthenticationDialog.reshow();
@@ -126,16 +130,19 @@
* this dialog was opened from the SSL-certificate-on-error dialog or
* not. This is important, since we need to know whether to return to
* the parent dialog or simply dismiss.
+ * @param urlCertificateOnError The URL that invokes SSLCertificateError.
+ * Null when fromShowSSLCertificateOnError is false.
*/
void showPageInfo(final Tab tab,
- final boolean fromShowSSLCertificateOnError) {
+ final boolean fromShowSSLCertificateOnError,
+ final String urlCertificateOnError) {
final LayoutInflater factory = LayoutInflater.from(mContext);
final View pageInfoView = factory.inflate(R.layout.page_info, null);
final WebView view = tab.getWebView();
- String url = tab.getUrl();
+ String url = fromShowSSLCertificateOnError ? urlCertificateOnError : tab.getUrl();
String title = tab.getTitle();
if (url == null) {
@@ -150,6 +157,7 @@
mPageInfoView = tab;
mPageInfoFromShowSSLCertificateOnError = fromShowSSLCertificateOnError;
+ mUrlCertificateOnError = urlCertificateOnError;
AlertDialog.Builder alertDialogBuilder =
new AlertDialog.Builder(mContext)
@@ -261,7 +269,7 @@
mSSLCertificateDialog = null;
mSSLCertificateView = null;
- showPageInfo(tab, false);
+ showPageInfo(tab, false, null);
}
})
.setOnCancelListener(
@@ -270,7 +278,7 @@
mSSLCertificateDialog = null;
mSSLCertificateView = null;
- showPageInfo(tab, false);
+ showPageInfo(tab, false, null);
}
})
.show();
@@ -359,7 +367,8 @@
showPageInfo(mController.getTabControl()
.getTabFromView(view),
- true);
+ true,
+ error.getUrl());
}
})
.setOnCancelListener(