Rename Tab.LockIcon to Tab.SecurityState

The tab's state is concerned with whether or not the page is secure. It should
not mention the lock icon, as this is just a UI choice of how to represent the
security state.

Also renames WebViewController.onUpdatedLockIcon() to onUpdatedSecurityState().

No functional change.

Bug: 5403366
Change-Id: Id18402e84fd9b1f661c160189c7a19a9352fd25c
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index bce3257..0ae2fda 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -49,7 +49,7 @@
 import android.widget.LinearLayout;
 import android.widget.Toast;
 
-import com.android.browser.Tab.LockIcon;
+import com.android.browser.Tab.SecurityState;
 import com.android.internal.view.menu.MenuBuilder;
 
 import java.util.List;
@@ -81,8 +81,8 @@
     protected Tab mActiveTab;
     private InputMethodManager mInputManager;
 
-    private Drawable mSecLockIcon;
-    private Drawable mMixLockIcon;
+    private Drawable mLockIconSecure;
+    private Drawable mLockIconMixed;
     protected Drawable mGenericFavicon;
 
     protected FrameLayout mContentView;
@@ -115,8 +115,8 @@
         Resources res = mActivity.getResources();
         mInputManager = (InputMethodManager)
                 browser.getSystemService(Activity.INPUT_METHOD_SERVICE);
-        mSecLockIcon = res.getDrawable(R.drawable.ic_secure_holo_dark);
-        mMixLockIcon = res.getDrawable(R.drawable.ic_secure_partial_holo_dark);
+        mLockIconSecure = res.getDrawable(R.drawable.ic_secure_holo_dark);
+        mLockIconMixed = res.getDrawable(R.drawable.ic_secure_partial_holo_dark);
 
         FrameLayout frameLayout = (FrameLayout) mActivity.getWindow()
                 .getDecorView().findViewById(android.R.id.content);
@@ -590,19 +590,19 @@
      */
     protected void updateLockIconToLatest(Tab t) {
         if (t != null && t.inForeground()) {
-            updateLockIconImage(t.getLockIconType());
+            updateLockIconImage(t.getSecurityState());
         }
     }
 
     /**
      * Updates the lock-icon image in the title-bar.
      */
-    private void updateLockIconImage(LockIcon lockIconType) {
+    private void updateLockIconImage(SecurityState securityState) {
         Drawable d = null;
-        if (lockIconType == LockIcon.LOCK_ICON_SECURE) {
-            d = mSecLockIcon;
-        } else if (lockIconType == LockIcon.LOCK_ICON_MIXED) {
-            d = mMixLockIcon;
+        if (securityState == SecurityState.SECURITY_STATE_SECURE) {
+            d = mLockIconSecure;
+        } else if (securityState == SecurityState.SECURITY_STATE_MIXED) {
+            d = mLockIconMixed;
         }
         mNavigationBar.setLock(d);
     }
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 78d0077..602df06 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -880,7 +880,7 @@
     }
 
     @Override
-    public void onUpdatedLockIcon(Tab tab) {
+    public void onUpdatedSecurityState(Tab tab) {
         mUi.onTabDataChanged(tab);
     }
 
diff --git a/src/com/android/browser/PageDialogsHandler.java b/src/com/android/browser/PageDialogsHandler.java
index 14373cb..9c0f063 100644
--- a/src/com/android/browser/PageDialogsHandler.java
+++ b/src/com/android/browser/PageDialogsHandler.java
@@ -98,7 +98,7 @@
         mHttpAuthenticationDialog.setCancelListener(new HttpAuthenticationDialog.CancelListener() {
             public void onCancel() {
                 handler.cancel();
-                mController.onUpdatedLockIcon(tab);
+                mController.onUpdatedSecurityState(tab);
                 mHttpAuthenticationDialog = null;
             }
         });
diff --git a/src/com/android/browser/PreloadController.java b/src/com/android/browser/PreloadController.java
index dec22ff..5de5be0 100644
--- a/src/com/android/browser/PreloadController.java
+++ b/src/com/android/browser/PreloadController.java
@@ -209,8 +209,8 @@
     }
 
     @Override
-    public void onUpdatedLockIcon(Tab tab) {
-        if (LOGD_ENABLED) Log.d(LOGTAG, "onUpdatedLockIcon()");
+    public void onUpdatedSecurityState(Tab tab) {
+        if (LOGD_ENABLED) Log.d(LOGTAG, "onUpdatedSecurityState()");
     }
 
     @Override
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 96920a4..ae52943 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -112,10 +112,17 @@
         sAlphaPaint.setColor(Color.TRANSPARENT);
     }
 
-    public enum LockIcon {
-        LOCK_ICON_UNSECURE,
-        LOCK_ICON_SECURE,
-        LOCK_ICON_MIXED,
+    public enum SecurityState {
+        // The page does not use SSL.
+        SECURITY_STATE_NOT_SECURE,
+        // The page uses SSL, the certificate is good and all elements are secure.
+        SECURITY_STATE_SECURE,
+        // The page uses SSL and the certificate is good, but some elements are insecure.
+        SECURITY_STATE_MIXED,
+        // TODO: Add SECURITY_STATE_BAD_CERTIFICATE
+        // See http://b/5403366
+        // The page uses SSL but there is a problem with the certificate.
+        //SECURITY_STATE_BAD_CERTIFICATE,
     }
 
     Context mContext;
@@ -198,7 +205,7 @@
         String mUrl;
         String mOriginalUrl;
         String mTitle;
-        LockIcon mLockIcon;
+        SecurityState mSecurityState;
         Bitmap mFavicon;
         boolean mIsBookmarkedSite = false;
         boolean mIncognito = false;
@@ -213,7 +220,7 @@
                 mTitle = c.getString(R.string.new_tab);
             }
             mFavicon = null;
-            mLockIcon = LockIcon.LOCK_ICON_UNSECURE;
+            mSecurityState = SecurityState.SECURITY_STATE_NOT_SECURE;
         }
 
         PageState(Context c, boolean incognito, String url, Bitmap favicon) {
@@ -221,9 +228,9 @@
             mOriginalUrl = mUrl = url;
             mTitle = null;
             if (URLUtil.isHttpsUrl(url)) {
-                mLockIcon = LockIcon.LOCK_ICON_SECURE;
+                mSecurityState = SecurityState.SECURITY_STATE_SECURE;
             } else {
-                mLockIcon = LockIcon.LOCK_ICON_UNSECURE;
+                mSecurityState = SecurityState.SECURITY_STATE_NOT_SECURE;
             }
             mFavicon = favicon;
         }
@@ -640,21 +647,22 @@
         }
 
         /**
-         * Updates the lock icon. This method is called when we discover another
-         * resource to be loaded for this page (for example, javascript). While
-         * we update the icon type, we do not update the lock icon itself until
-         * we are done loading, it is slightly more secure this way.
+         * Updates the security state. This method is called when we discover
+         * another resource to be loaded for this page (for example,
+         * javascript). While we update the security state, we do not update
+         * the lock icon until we are done loading, as it is slightly more
+         * secure this way.
          */
         @Override
         public void onLoadResource(WebView view, String url) {
             if (url != null && url.length() > 0) {
                 // It is only if the page claims to be secure that we may have
-                // to update the lock:
-                if (mCurrentState.mLockIcon == LockIcon.LOCK_ICON_SECURE) {
-                    // If NOT a 'safe' url, change the lock to mixed content!
+                // to update the security state:
+                if (mCurrentState.mSecurityState == SecurityState.SECURITY_STATE_SECURE) {
+                    // If NOT a 'safe' url, change the state to mixed content!
                     if (!(URLUtil.isHttpsUrl(url) || URLUtil.isDataUrl(url)
                             || URLUtil.isAboutUrl(url))) {
-                        mCurrentState.mLockIcon = LockIcon.LOCK_ICON_MIXED;
+                        mCurrentState.mSecurityState = SecurityState.SECURITY_STATE_MIXED;
                     }
                 }
             }
@@ -755,7 +763,7 @@
                 final SslErrorHandler handler, final SslError error) {
             if (!mInForeground) {
                 handler.cancel();
-                setLockIconType(LockIcon.LOCK_ICON_UNSECURE);
+                setSecurityState(SecurityState.SECURITY_STATE_NOT_SECURE);
                 return;
             }
             if (mSettings.showSecurityWarnings()) {
@@ -793,7 +801,7 @@
                             @Override
                             public void onCancel(DialogInterface dialog) {
                                 handler.cancel();
-                                setLockIconType(LockIcon.LOCK_ICON_UNSECURE);
+                                setSecurityState(SecurityState.SECURITY_STATE_NOT_SECURE);
                                 mWebViewController.onUserCanceledSsl(Tab.this);
                             }
                         })
@@ -900,7 +908,7 @@
         if (!URLUtil.isHttpsUrl(mCurrentState.mUrl)) {
             // In case we stop when loading an HTTPS page from an HTTP page
             // but before a provisional load occurred
-            mCurrentState.mLockIcon = LockIcon.LOCK_ICON_UNSECURE;
+            mCurrentState.mSecurityState = SecurityState.SECURITY_STATE_NOT_SECURE;
         }
         mCurrentState.mIncognito = view.isPrivateBrowsingEnabled();
     }
@@ -1881,16 +1889,16 @@
         return mErrorConsole;
     }
 
-    private void setLockIconType(LockIcon icon) {
-        mCurrentState.mLockIcon = icon;
-        mWebViewController.onUpdatedLockIcon(this);
+    private void setSecurityState(SecurityState securityState) {
+        mCurrentState.mSecurityState = securityState;
+        mWebViewController.onUpdatedSecurityState(this);
     }
 
     /**
-     * @return The tab's lock icon type.
+     * @return The tab's security state.
      */
-    LockIcon getLockIconType() {
-        return mCurrentState.mLockIcon;
+    SecurityState getSecurityState() {
+        return mCurrentState.mSecurityState;
     }
 
     int getLoadProgress() {
diff --git a/src/com/android/browser/WebViewController.java b/src/com/android/browser/WebViewController.java
index f4ff764..20027e0 100644
--- a/src/com/android/browser/WebViewController.java
+++ b/src/com/android/browser/WebViewController.java
@@ -95,7 +95,7 @@
 
     boolean shouldShowErrorConsole();
 
-    void onUpdatedLockIcon(Tab tab);
+    void onUpdatedSecurityState(Tab tab);
 
     void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType);