Chromium Code Reviews| 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); |
| -} |
| +} |