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

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: Rebase on ToT 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
« no previous file with comments | « chrome/android/java/res/values/colors.xml ('k') | chrome/app/generated_resources.grd » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..d4d0cf541b3bbf78b4503825166831c1f2ba2a18 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);
+ mContainer.addView(container);
+ }
+
+ @CalledByNative
private void addMoreInfoLink(String linkText) {
addUrl(linkText, HELP_URL);
}
@@ -171,7 +198,9 @@ public class WebsiteSettingsPopup implements OnClickListener {
@Override
public void onClick(View v) {
mDialog.dismiss();
- if (mCertificateViewer == v) {
+ if (mResetCertDecisionsButton == v) {
+ nativeResetCertDecisions(mNativeWebsiteSettingsPopup, mWebContents);
+ } else if (mCertificateViewer == v) {
byte[][] certChain = nativeGetCertificateChain(mWebContents);
if (certChain == null) {
// The WebContents may have been destroyed/invalidated. If so,
@@ -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);
private native byte[][] nativeGetCertificateChain(WebContents webContents);
-}
+}
« no previous file with comments | « chrome/android/java/res/values/colors.xml ('k') | chrome/app/generated_resources.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698