Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(756)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/WebsiteSettingsPopup.java

Issue 418133012: Add button to page info to revoke user certificate decisions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Update to button and reduced SSLHostState API Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/WebsiteSettingsPopup.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/WebsiteSettingsPopup.java b/chrome/android/java/src/org/chromium/chrome/browser/WebsiteSettingsPopup.java
index 51b32a8063f2e74aecc403b96b645764bd06932e..ec4c725fcf12093e4eb956dd8482a108b6c23de5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/WebsiteSettingsPopup.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/WebsiteSettingsPopup.java
@@ -16,11 +16,13 @@ import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
+import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
+import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.CalledByNative;
import org.chromium.chrome.R;
import org.chromium.content.browser.WebContentsObserverAndroid;
@@ -40,8 +42,10 @@ public class WebsiteSettingsPopup implements OnClickListener {
private final LinearLayout mContainer;
private final WebContents mWebContents;
private final int mPaddingWide, mPaddingThin;
+ private final long mNativeWebsiteSettingsPopup;
private TextView mCertificateViewer, mMoreInfoLink;
private ViewGroup mCertificateLayout, mDescriptionLayout;
+ private Button mResetCertDecisionsButton;
private String mLinkUrl;
private WebsiteSettingsPopup(Context context, WebContents webContents) {
@@ -62,7 +66,7 @@ public class WebsiteSettingsPopup implements OnClickListener {
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
mDialog.setCanceledOnTouchOutside(true);
// This needs to come after other member initialization.
- final long nativeWebsiteSettingsPopup = nativeInit(this, webContents);
+ mNativeWebsiteSettingsPopup = nativeInit(this, webContents);
final WebContentsObserverAndroid webContentsObserver =
new WebContentsObserverAndroid(mWebContents) {
@Override
@@ -75,9 +79,9 @@ public class WebsiteSettingsPopup implements OnClickListener {
mDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public void onDismiss(DialogInterface dialog) {
- assert nativeWebsiteSettingsPopup != 0;
+ assert mNativeWebsiteSettingsPopup != 0;
webContentsObserver.detachFromWebContents();
- nativeDestroy(nativeWebsiteSettingsPopup);
+ nativeDestroy(mNativeWebsiteSettingsPopup);
}
});
}
@@ -140,6 +144,29 @@ public class WebsiteSettingsPopup implements OnClickListener {
}
@CalledByNative
+ private void addResetCertDecisionsButton(String label) {
+ assert mNativeWebsiteSettingsPopup != 0;
+ assert mResetCertDecisionsButton == null;
+
+ mResetCertDecisionsButton = new Button(mContext);
+ mResetCertDecisionsButton.setText(label);
+ ApiCompatibilityUtils.setBackgroundForView(mResetCertDecisionsButton,
+ mContext.getResources().getDrawable(
+ R.drawable.website_settings_reset_cert_decisions));
+ mResetCertDecisionsButton.setTextColor(
+ mContext.getResources().getColor(
+ R.color.website_settings_popup_reset_cert_decisions_button));
+ mResetCertDecisionsButton.setTextSize(DESCRIPTION_TEXT_SIZE_SP);
+ mResetCertDecisionsButton.setOnClickListener(this);
+
+ LinearLayout container = new LinearLayout(mContext);
+ container.setOrientation(LinearLayout.VERTICAL);
+ container.addView(mResetCertDecisionsButton);
+ container.setPadding(0, 0, 0, mPaddingWide);
+ mCertificateLayout.addView(container);
+ }
+
+ @CalledByNative
private void addMoreInfoLink(String linkText) {
addUrl(linkText, HELP_URL);
}
@@ -186,6 +213,8 @@ public class WebsiteSettingsPopup implements OnClickListener {
i.putExtra(Browser.EXTRA_APPLICATION_ID, mContext.getPackageName());
mContext.startActivity(i);
} catch (URISyntaxException ex) {}
+ } else if (mResetCertDecisionsButton == v) {
+ nativeResetCertDecisions(mNativeWebsiteSettingsPopup, mWebContents);
}
}
@@ -206,5 +235,7 @@ public class WebsiteSettingsPopup implements OnClickListener {
private static native long nativeInit(WebsiteSettingsPopup popup, WebContents webContents);
private native void nativeDestroy(long nativeWebsiteSettingsPopupAndroid);
+ private native void nativeResetCertDecisions(
+ long nativeWebsiteSettingsPopupAndroid, WebContents webContents);
Ted C 2014/08/06 01:01:05 +4 indent
jww 2014/08/06 01:16:08 Darn, I thought I got all of those :-) Done.
private native byte[][] nativeGetCertificateChain(WebContents webContents);
-}
+}

Powered by Google App Engine
This is Rietveld 408576698