Bug 1177576 - Update icons for different Mixed Content Blocking states. r=margaret
authorChenxia Liu <liuche@mozilla.com>
Tue, 21 Jul 2015 18:10:32 -0700
changeset 286884 64726ba3ceed54d76207b50eaeb48a54bd75c7a0
parent 286883 b2562e1376d232b5ebf5a845b5acb9bc558e0826
child 286885 58c7a17a21c24a7fa70d93e5699d30f75a6895ac
push id5067
push userraliiev@mozilla.com
push dateMon, 21 Sep 2015 14:04:52 +0000
treeherdermozilla-beta@14221ffe5b2f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmargaret
bugs1177576
milestone42.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1177576 - Update icons for different Mixed Content Blocking states. r=margaret
mobile/android/base/locales/en-US/android_strings.dtd
mobile/android/base/resources/drawable-hdpi/lock_disabled.png
mobile/android/base/resources/drawable-hdpi/lock_identified.png
mobile/android/base/resources/drawable-hdpi/lock_secure.png
mobile/android/base/resources/drawable-hdpi/lock_verified.png
mobile/android/base/resources/drawable-large-v11/site_security_level.xml
mobile/android/base/resources/drawable-xhdpi/lock_disabled.png
mobile/android/base/resources/drawable-xhdpi/lock_identified.png
mobile/android/base/resources/drawable-xhdpi/lock_secure.png
mobile/android/base/resources/drawable-xhdpi/lock_verified.png
mobile/android/base/resources/drawable-xxhdpi/lock_disabled.png
mobile/android/base/resources/drawable-xxhdpi/lock_identified.png
mobile/android/base/resources/drawable-xxhdpi/lock_secure.png
mobile/android/base/resources/drawable/site_security_level.xml
mobile/android/base/resources/layout/site_identity.xml
mobile/android/base/resources/layout/site_identity_unknown.xml
mobile/android/base/strings.xml.in
mobile/android/base/toolbar/SiteIdentityPopup.java
mobile/android/base/toolbar/ToolbarDisplayLayout.java
mobile/android/chrome/content/browser.js
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -547,22 +547,23 @@ domain name (above) and an organization 
 example.com
 which is run by
 Example Enterprises, Inc.
 
 The layout of the identity dialog prevents combining this into a single string with
 substitution variables.  If it is difficult to translate the sense of the string
 with that structure, consider a translation which ignores the preceding domain and
 just addresses the organization to follow, e.g. "This site is run by " -->
-<!ENTITY identity_run_by "which is run by">
-<!ENTITY identity_no_info "This website does not supply identity information.">
-<!ENTITY identity_not_encrypted "Your connection to this website is not encrypted.">
-<!ENTITY identity_encrypted "Encrypted">
+<!ENTITY identity_connection_secure "Secure Connection">
+<!ENTITY identity_connection_insecure "Insecure connection">
 
 <!-- Mixed content notifications in site identity popup -->
+<!ENTITY mixed_content_blocked_all "&brandShortName; has blocked insecure elements on this page.">
+<!ENTITY mixed_content_protection_disabled "You have disabled protection from insecure elements.">
+
 <!ENTITY loaded_mixed_content_message "This page is displaying content that isn\'t secure.">
 <!ENTITY blocked_mixed_content_message_top "&brandShortName; has blocked content that isn\'t secure.">
 <!ENTITY blocked_mixed_content_message_bottom "Most websites will still work properly even when this content is blocked.">
 
 <!-- Tracking content notifications in site identity popup -->
 <!ENTITY doorhanger_tracking_title "Tracking protection">
 <!ENTITY doorhanger_tracking_state_enabled "Enabled">
 <!ENTITY doorhanger_tracking_state_disabled "Disabled">
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0ae0dd3bee6c98a96fbe47af45341d202b4edf1a
GIT binary patch
literal 1360
zc$@)H1+V&vP)<h;3K|Lk000e1NJLTq0024w002A)1^@s6H{z)^00001b5ch_0Itp)
z=>Px)3Q0skRA>d|noVpQMHGPFTd$)erUbQWqk<4cTmVraRiGk)L~}@gT--zmgbEi<
z^j2{I^#tNX5aobC+&FM(CCaa3yOk{=SzIEjx^RF)swyp&ib&KJ5jT+9v3GdS&bYgq
zo%MQmV|&dUJb!QIy>I8&GlQ_nZg%#EaiLXGAdG_oa2E);A3$tF#J?!K2q+d1p`Zbr
zOQlkOY?e8=Sruoq`8{=`_PziyNjiw5y+gpWsN;K6hYy$9OK+4A`}XO-m6uLIOnkNb
z!u)q;iO@mw`TW*9)wNFn@Td^NSN+t&XA&dB$0jEym(9kyh1Vg^(1(2y5NoK3SIn@!
z3{fe}<#La$)gen=^AVMd=XAs?I_fW{QU`x-SH=P<g>A5*fo3x2o-x2EP%GXmbp`cl
z9G7FLPq@K4LQ2IZ*ib;zg~EeSsa_BQ#-)zXe8d|%if3t}x@@o06;cYX!+M$|WEm&F
zR4T<qrJCLpNLDDs_L_jx)Ke_BdV*}0*P#xt>Q2UYl6L*ir8j7q*yE`T0*yB;(PVLp
z0JaguQ=ZBScsiXudz^H9%z8XSHjT<Wfr+Dmx^A&pyyx%o$^zB5qgkio7jagL$4*Qg
zI&{e{k<At!t%<b{2z<((XN}|X=y3dj{WCKaT0)w$t5v`$mf4Mom+<1nwLmReF0Z^!
zwYx&ng!1<EkrzI4vVzl6sRQ%mO{X)tx2SubRLN00j#XCveT^UwG?oyxpv-AOa)PDb
zO9`(&t&-DjvYMuS=mu#n%W~Acl%QxBF#hEiGkzdhk8jZLi^cnByghF=))Gd%7LVb(
zmb5mJp?K^a8o$@<VhzZzPr=B-rLFcnhq$FBWxj9F*zMIPsjDfwzJ~Z&GMTJMMP7WC
z=W=FQ37MGx)tsyfJ3_LsZ%`UDv^iHhS`6~)Ty>7QTv(8-%{ORWxPy+3j$T#csB>hw
zFd+khQj2a;n+q^8F|p#7ugc?cVM7K4Rhb$roi_vHH1Px-lXfeVlZjoh8*#bgNt748
zs8dcnPKAAsQK!m+q)AA>>ts9KeF3`Jko*yP4%!XKo`ZG^vZtWkgzOn;5Xfw{G|Gl|
z>bgEggFw#aa!2Z7@y$*lS-z{FK_QJgd_#XEhWvoGJz?Negyq}+9H%3Xy#mG9T_w1S
zP6Zyi8@GiJel(|Obpv*u{`~RbE0?#M(-mRMW`J9gA!*wgZ~l!Fzsqtca2XKJk8MeO
z;<oK{1uYZ`J60>zpXlK0VOg;sKgizI0_mch4!y4q>9M`^SMP?Cm}}Qvy;D0G1xN;C
zJ1ccVc|zd|O4~8MH}UPd(UKP94A^gpn<B2D^qqE^WIGCW9kOAa+TJ#x9kI29djr{0
z?-&Rjv>zdvJXFwrg$xz6pCLm7?RUsfK%)Q|7&I!7fk2}K=^Hd^kiI~p2-z`cR3SS8
zjWVQX(5ORt0v!a%wxELo=?cmRS$=P|ydHnB0o`(rw`uaU&d;q@KSJ`y-0(L|Li)MY
z>Q~4Opo0o&0Ucz>7U-ZuHbDOmkPT3NgFa{z4};mA#t-fJ4Z1zU7FXYe*aZ7Es__GR
zerWFk8+l0n_>Fbc1vXNU{03juqgopV2iQnKGN1rB-xibwBrM$}ek)%tb9z7Tc-X#m
zSJiawgpAmI*ZWZxo|~H+S-N>EO@hzS)ts;Q19qih#<{z4OETnCGWm<D?*9OzT=tI?
Sx5D%Q0000<MNUMnLSTX=kcIC6
rename from mobile/android/base/resources/drawable-hdpi/lock_identified.png
rename to mobile/android/base/resources/drawable-hdpi/lock_secure.png
deleted file mode 100644
index 3bdf7f8174e81585c512f60a94d79bb013df8f61..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/mobile/android/base/resources/drawable-large-v11/site_security_level.xml
+++ b/mobile/android/base/resources/drawable-large-v11/site_security_level.xml
@@ -1,14 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <level-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <item android:maxLevel="0" android:drawable="@drawable/site_security_unknown"/>
-    <item android:maxLevel="1" android:drawable="@drawable/lock_identified"/>
-    <item android:maxLevel="2" android:drawable="@drawable/lock_verified"/>
+    <item android:maxLevel="1" android:drawable="@drawable/lock_secure"/>
+    <!-- Bug 1185600 will handle Passive Mixed Content and resolve this icon duplication -->
+    <item android:maxLevel="2" android:drawable="@drawable/lock_secure"/>
     <item android:maxLevel="3" android:drawable="@drawable/shield_enabled"/>
     <item android:maxLevel="4" android:drawable="@drawable/shield_disabled"/>
+    <item android:maxLevel="5" android:drawable="@drawable/lock_disabled"/>
 
 </level-list>
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fca4d9d603a5c714c91acff994ba44c6140c913f
GIT binary patch
literal 1638
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
rename from mobile/android/base/resources/drawable-xhdpi/lock_identified.png
rename to mobile/android/base/resources/drawable-xhdpi/lock_secure.png
deleted file mode 100644
index 6b66211421b0a11f53bffedec59f81afb5d279a1..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0ccccca49da7924f98166614e982441658048a29
GIT binary patch
literal 2630
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
rename from mobile/android/base/resources/drawable-xxhdpi/lock_identified.png
rename to mobile/android/base/resources/drawable-xxhdpi/lock_secure.png
--- a/mobile/android/base/resources/drawable/site_security_level.xml
+++ b/mobile/android/base/resources/drawable/site_security_level.xml
@@ -1,14 +1,16 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <level-list xmlns:android="http://schemas.android.com/apk/res/android">
 
     <item android:maxLevel="0" android:drawable="@android:color/transparent"/>
-    <item android:maxLevel="1" android:drawable="@drawable/lock_identified"/>
-    <item android:maxLevel="2" android:drawable="@drawable/lock_verified"/>
+    <item android:maxLevel="1" android:drawable="@drawable/lock_secure"/>
+    <!-- Bug 1185600 will handle Passive Mixed Content and resolve this icon duplication -->
+    <item android:maxLevel="2" android:drawable="@drawable/lock_secure"/>
     <item android:maxLevel="3" android:drawable="@drawable/shield_enabled"/>
     <item android:maxLevel="4" android:drawable="@drawable/shield_disabled"/>
+    <item android:maxLevel="5" android:drawable="@drawable/lock_disabled"/>
 
 </level-list>
--- a/mobile/android/base/resources/layout/site_identity.xml
+++ b/mobile/android/base/resources/layout/site_identity.xml
@@ -29,61 +29,46 @@
                      android:layout_weight="1.0">
 
             <TextView android:id="@+id/site_identity_title"
                       android:layout_width="match_parent"
                       android:layout_height="wrap_content"
                       android:layout_marginBottom="@dimen/doorhanger_subsection_padding"
                       android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"/>
 
-            <include layout="@layout/site_identity_unknown" />
+            <TextView android:id="@+id/site_identity_state"
+                      android:layout_width="match_parent"
+                      android:layout_height="wrap_content"
+                      android:layout_marginBottom="@dimen/doorhanger_section_padding_medium"
+                      android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Bold"/>
+
+            <TextView android:id="@+id/mixed_content_activity"
+                      android:layout_width="match_parent"
+                      android:layout_height="wrap_content"
+                      android:layout_marginBottom="@dimen/doorhanger_section_padding_medium"
+                      android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
+                      android:visibility="gone"/>
 
             <LinearLayout android:id="@+id/site_identity_known_container"
                           android:layout_width="match_parent"
                           android:layout_height="wrap_content"
                           android:visibility="gone"
                           android:orientation="vertical">
 
-                <TextView android:id="@+id/site_identity_encrypted"
-                          android:layout_width="match_parent"
-                          android:layout_height="wrap_content"
-                          android:layout_marginBottom="@dimen/doorhanger_section_padding_medium"
-                          android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Bold"
-                          android:textColor="@color/affirmative_green"
-                          android:text="@string/identity_encrypted"/>
-
-                <TextView android:layout_width="wrap_content"
-                          android:layout_height="wrap_content"
-                          android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"
-                          android:text="@string/identity_connected_to"/>
-
-                <TextView android:id="@+id/host"
-                          android:layout_width="wrap_content"
-                          android:layout_height="wrap_content"
-                          android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
-                          android:textStyle="bold"/>
-
-                <TextView android:id="@+id/owner_label"
-                          android:layout_width="wrap_content"
-                          android:layout_height="wrap_content"
-                          android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"
-                          android:text="@string/identity_run_by"
-                          android:layout_marginTop="@dimen/doorhanger_section_padding_medium"/>
-
                 <TextView android:id="@+id/owner"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content"
+                          android:layout_marginBottom="@dimen/doorhanger_section_padding_medium"
                           android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
                           android:textStyle="bold"/>
 
                 <TextView android:id="@+id/verifier"
                           android:layout_width="wrap_content"
                           android:layout_height="wrap_content"
-                          android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"
-                          android:layout_marginTop="@dimen/doorhanger_section_padding_medium"/>
+                          android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"/>
 
             </LinearLayout>
             <TextView android:id="@+id/site_settings_link"
                       android:layout_width="match_parent"
                       android:layout_height="wrap_content"
                       android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
                       android:textColor="@color/link_blue"
                       android:layout_marginTop="@dimen/doorhanger_section_padding_large"
deleted file mode 100644
--- a/mobile/android/base/resources/layout/site_identity_unknown.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
-   - License, v. 2.0. If a copy of the MPL was not distributed with this
-   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:id="@+id/site_identity_unknown_container"
-              android:layout_width="match_parent"
-              android:layout_height="wrap_content"
-              android:orientation="vertical"
-              android:visibility="gone">
-
-    <TextView android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
-              android:text="@string/identity_no_info"/>
-
-    <TextView android:layout_width="wrap_content"
-              android:layout_height="wrap_content"
-              android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
-              android:text="@string/identity_not_encrypted"
-              android:paddingTop="@dimen/doorhanger_section_padding_medium"/>
-
-</LinearLayout>
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -455,24 +455,21 @@
   <string name="bookmarkdefaults_title_support">@bookmarks_support@</string>
   <string name="bookmarkdefaults_url_support">https://support.mozilla.org/products/mobile</string>
 
   <!-- Icon is automatically generated from R.drawable.bookmarkdefaults_favicon_marketplace -->
   <string name="bookmarkdefaults_title_marketplace">@bookmarks_marketplace@</string>
   <string name="bookmarkdefaults_url_marketplace">https://marketplace.firefox.com/</string>
 
   <!-- Site identity popup -->
-  <string name="identity_connected_to">&identity_connected_to;</string>
-  <string name="identity_run_by">&identity_run_by;</string>
-  <string name="identity_no_info">&identity_no_info;</string>
-  <string name="identity_not_encrypted">&identity_not_encrypted;</string>
-  <string name="identity_encrypted">&identity_encrypted;</string>
-  <string name="loaded_mixed_content_message">&loaded_mixed_content_message;</string>
-  <string name="blocked_mixed_content_message_top">&blocked_mixed_content_message_top;</string>
-  <string name="blocked_mixed_content_message_bottom">&blocked_mixed_content_message_bottom;</string>
+  <string name="identity_connection_secure">&identity_connection_secure;</string>
+  <string name="identity_connection_insecure">&identity_connection_insecure;</string>
+
+  <string name="mixed_content_blocked_all">&mixed_content_blocked_all;</string>
+  <string name="mixed_content_protection_disabled">&mixed_content_protection_disabled;</string>
 
   <string name="doorhanger_tracking_title">&doorhanger_tracking_title;</string>
   <string name="doorhanger_tracking_state_enabled">&doorhanger_tracking_state_enabled;</string>
   <string name="doorhanger_tracking_state_disabled">&doorhanger_tracking_state_disabled;</string>
   <string name="doorhanger_tracking_message_enabled">&doorhanger_tracking_message_enabled1;</string>
   <string name="doorhanger_tracking_message_disabled">&doorhanger_tracking_message_disabled1;</string>
 
   <string name="learn_more">&learn_more;</string>
--- a/mobile/android/base/toolbar/SiteIdentityPopup.java
+++ b/mobile/android/base/toolbar/SiteIdentityPopup.java
@@ -5,16 +5,17 @@
 package org.mozilla.gecko.toolbar;
 
 import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
+import android.support.v4.content.ContextCompat;
 import android.widget.ImageView;
 import android.widget.Toast;
 import org.json.JSONException;
 import org.json.JSONArray;
 import org.mozilla.gecko.AboutPages;
 import org.mozilla.gecko.AppConstants;
 import org.mozilla.gecko.EventDispatcher;
 import org.mozilla.gecko.R;
@@ -48,45 +49,39 @@ import org.mozilla.gecko.widget.SiteLogi
  * an arrow panel popup hanging from the lock icon in the browser toolbar.
  */
 public class SiteIdentityPopup extends AnchoredPopup implements GeckoEventListener {
 
     public static enum ButtonType { DISABLE, ENABLE, KEEP_BLOCKING, CANCEL, COPY };
 
     private static final String LOGTAG = "GeckoSiteIdentityPopup";
 
-    private static final String MIXED_CONTENT_SUPPORT_URL =
-        "https://support.mozilla.org/kb/how-does-insecure-content-affect-safety-android";
-
     private static final String TRACKING_CONTENT_SUPPORT_URL =
         "https://support.mozilla.org/kb/firefox-android-tracking-protection";
 
     // Placeholder string.
     private final static String FORMAT_S = "%s";
 
     private final Resources mResources;
     private SiteIdentity mSiteIdentity;
 
     private LinearLayout mIdentity;
 
     private LinearLayout mIdentityKnownContainer;
-    private LinearLayout mIdentityUnknownContainer;
 
     private ImageView mIcon;
     private TextView mTitle;
-    private TextView mEncrypted;
-    private TextView mHost;
-    private TextView mOwnerLabel;
+    private TextView mSecurityState;
+    private TextView mMixedContentActivity;
     private TextView mOwner;
     private TextView mVerifier;
     private TextView mSiteSettingsLink;
 
     private View mDivider;
 
-    private DoorHanger mMixedContentNotification;
     private DoorHanger mTrackingContentNotification;
     private DoorHanger mSelectLoginDoorhanger;
 
     private final OnButtonClickListener mContentButtonClickListener;
 
     public SiteIdentityPopup(Context context) {
         super(context);
 
@@ -106,38 +101,36 @@ public class SiteIdentityPopup extends A
         setFocusable(true);
 
         LayoutInflater inflater = LayoutInflater.from(mContext);
         mIdentity = (LinearLayout) inflater.inflate(R.layout.site_identity, null);
         mContent.addView(mIdentity);
 
         mIdentityKnownContainer =
                 (LinearLayout) mIdentity.findViewById(R.id.site_identity_known_container);
-        mIdentityUnknownContainer =
-                (LinearLayout) mIdentity.findViewById(R.id.site_identity_unknown_container);
-
 
         mIcon = (ImageView) mIdentity.findViewById(R.id.site_identity_icon);
         mTitle = (TextView) mIdentity.findViewById(R.id.site_identity_title);
-        mEncrypted = (TextView) mIdentityKnownContainer.findViewById(R.id.site_identity_encrypted);
-        mHost = (TextView) mIdentityKnownContainer.findViewById(R.id.host);
-        mOwnerLabel = (TextView) mIdentityKnownContainer.findViewById(R.id.owner_label);
+        mSecurityState = (TextView) mIdentity.findViewById(R.id.site_identity_state);
+        mMixedContentActivity = (TextView) mIdentity.findViewById(R.id.mixed_content_activity);
+
         mOwner = (TextView) mIdentityKnownContainer.findViewById(R.id.owner);
         mVerifier = (TextView) mIdentityKnownContainer.findViewById(R.id.verifier);
         mDivider = mIdentity.findViewById(R.id.divider_doorhanger);
 
         mSiteSettingsLink = (TextView) mIdentity.findViewById(R.id.site_settings_link);
     }
 
     private void updateIdentity(final SiteIdentity siteIdentity) {
         if (!mInflated) {
             init();
         }
 
         final boolean isIdentityKnown = (siteIdentity.getSecurityMode() != SecurityMode.UNKNOWN);
+        updateConnectionState(siteIdentity);
         toggleIdentityKnownContainerVisibility(isIdentityKnown);
 
         if (isIdentityKnown) {
             updateIdentityInformation(siteIdentity);
         }
 
         GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent(
             "Permissions:Check", null));
@@ -281,88 +274,73 @@ public class SiteIdentityPopup extends A
     private void removeSelectLoginDoorhanger() {
         if (mSelectLoginDoorhanger != null) {
             mContent.removeView(mSelectLoginDoorhanger);
             mSelectLoginDoorhanger = null;
         }
     }
 
     private void toggleIdentityKnownContainerVisibility(final boolean isIdentityKnown) {
-        if (isIdentityKnown) {
-            mIdentityKnownContainer.setVisibility(View.VISIBLE);
-            mIdentityUnknownContainer.setVisibility(View.GONE);
+        final int identityInfoVisibility = isIdentityKnown ? View.VISIBLE : View.GONE;
+        mIdentityKnownContainer.setVisibility(identityInfoVisibility);
+    }
+
+    private void updateConnectionState(final SiteIdentity siteIdentity) {
+        if (siteIdentity.getEncrypted()) {
+            mIcon.setImageResource(R.drawable.lock_secure);
+
+            mSecurityState.setTextColor(mResources.getColor(R.color.affirmative_green));
+            final Drawable stateIcon = ContextCompat.getDrawable(mContext, R.drawable.img_check);
+            stateIcon.setBounds(0, 0, stateIcon.getIntrinsicWidth()/2, stateIcon.getIntrinsicHeight()/2);
+            mSecurityState.setCompoundDrawables(stateIcon, null, null, null);
+            mSecurityState.setCompoundDrawablePadding((int) mResources.getDimension(R.dimen.doorhanger_drawable_padding));
+            mSecurityState.setText(R.string.identity_connection_secure);
+
+            if (siteIdentity.getMixedMode() == MixedMode.MIXED_CONTENT_BLOCKED) {
+                mMixedContentActivity.setVisibility(View.VISIBLE);
+                mMixedContentActivity.setText(R.string.mixed_content_blocked_all);
+            } else {
+                mMixedContentActivity.setVisibility(View.GONE);
+            }
         } else {
-            mIcon.setImageResource(R.drawable.globe_light);
-            mIdentityKnownContainer.setVisibility(View.GONE);
-            mIdentityUnknownContainer.setVisibility(View.VISIBLE);
+            if (siteIdentity.getMixedMode() == MixedMode.MIXED_CONTENT_LOADED) {
+                mIcon.setImageResource(R.drawable.lock_disabled);
+                mMixedContentActivity.setVisibility(View.VISIBLE);
+                mMixedContentActivity.setText(R.string.mixed_content_protection_disabled);
+            } else {
+                mIcon.setImageResource(R.drawable.globe_light);
+                mMixedContentActivity.setVisibility(View.GONE);
+            }
+
+            mSecurityState.setText(R.string.identity_connection_insecure);
+            mSecurityState.setTextColor(mResources.getColor(R.color.placeholder_active_grey));
+            mSecurityState.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
+            mSecurityState.setCompoundDrawablePadding(0);
         }
     }
 
     private void updateIdentityInformation(final SiteIdentity siteIdentity) {
-        if (siteIdentity.getEncrypted()) {
-            mEncrypted.setVisibility(View.VISIBLE);
-            mIcon.setImageResource(R.drawable.lock_identified);
-        } else {
-            mEncrypted.setVisibility(View.GONE);
-        }
-
-        mHost.setText(siteIdentity.getHost());
-
         String owner = siteIdentity.getOwner();
         if (owner == null) {
-            mOwnerLabel.setVisibility(View.GONE);
             mOwner.setVisibility(View.GONE);
         } else {
-            mOwnerLabel.setVisibility(View.VISIBLE);
             mOwner.setVisibility(View.VISIBLE);
 
             // Supplemental data is optional.
             final String supplemental = siteIdentity.getSupplemental();
             if (!TextUtils.isEmpty(supplemental)) {
                 owner += "\n" + supplemental;
             }
             mOwner.setText(owner);
         }
 
         final String verifier = siteIdentity.getVerifier();
         mVerifier.setText(verifier);
     }
 
-    private void addMixedContentNotification(boolean blocked) {
-        // Remove any existing mixed content notification.
-        removeMixedContentNotification();
-
-        final DoorhangerConfig config = new DoorhangerConfig(DoorHanger.Type.MIXED_CONTENT, mContentButtonClickListener);
-        int icon;
-        if (blocked) {
-            icon = R.drawable.shield_enabled;
-            config.setMessage(mContext.getString(R.string.blocked_mixed_content_message_top) + "\n\n" +
-                      mContext.getString(R.string.blocked_mixed_content_message_bottom));
-        } else {
-            icon = R.drawable.shield_disabled;
-            config.setMessage(mContext.getString(R.string.loaded_mixed_content_message));
-        }
-
-        config.setLink(mContext.getString(R.string.learn_more), MIXED_CONTENT_SUPPORT_URL);
-        addNotificationButtons(config, blocked);
-
-        mMixedContentNotification = DoorHanger.Get(mContext, config);
-        mMixedContentNotification.setIcon(icon);
-
-        mContent.addView(mMixedContentNotification);
-        mDivider.setVisibility(View.VISIBLE);
-    }
-
-    private void removeMixedContentNotification() {
-        if (mMixedContentNotification != null) {
-            mContent.removeView(mMixedContentNotification);
-            mMixedContentNotification = null;
-        }
-    }
-
     private void addTrackingContentNotification(boolean blocked) {
         // Remove any existing tracking content notification.
         removeTrackingContentNotification();
 
         final DoorhangerConfig config = new DoorhangerConfig(DoorHanger.Type.TRACKING, mContentButtonClickListener);
 
         final int icon = blocked ? R.drawable.shield_enabled: R.drawable.shield_disabled;
 
@@ -422,21 +400,16 @@ public class SiteIdentityPopup extends A
         final Tab selectedTab = Tabs.getInstance().getSelectedTab();
         if (selectedTab != null && AboutPages.isAboutPage(selectedTab.getURL())) {
             Log.d(LOGTAG, "We don't show site identity popups for about: pages");
             return;
         }
 
         updateIdentity(mSiteIdentity);
 
-        final MixedMode mixedMode = mSiteIdentity.getMixedMode();
-        if (mixedMode != MixedMode.UNKNOWN) {
-            addMixedContentNotification(mixedMode == MixedMode.MIXED_CONTENT_BLOCKED);
-        }
-
         final TrackingMode trackingMode = mSiteIdentity.getTrackingMode();
         if (trackingMode != TrackingMode.UNKNOWN) {
             addTrackingContentNotification(trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED);
         }
 
         try {
             addSelectLoginDoorhanger(selectedTab);
         } catch (JSONException e) {
@@ -486,17 +459,16 @@ public class SiteIdentityPopup extends A
     void destroy() {
         EventDispatcher.getInstance().unregisterGeckoThreadListener(this, "Doorhanger:Logins");
         EventDispatcher.getInstance().unregisterGeckoThreadListener(this, "Permissions:CheckResult");
     }
 
     @Override
     public void dismiss() {
         super.dismiss();
-        removeMixedContentNotification();
         removeTrackingContentNotification();
         removeSelectLoginDoorhanger();
         mTitle.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
         mDivider.setVisibility(View.GONE);
     }
 
     private class ContentNotificationButtonListener implements OnButtonClickListener {
         @Override
--- a/mobile/android/base/toolbar/ToolbarDisplayLayout.java
+++ b/mobile/android/base/toolbar/ToolbarDisplayLayout.java
@@ -122,16 +122,17 @@ public class ToolbarDisplayLayout extend
     private TranslateAnimation mTitleSlideLeft;
     private TranslateAnimation mTitleSlideRight;
 
     private final SiteIdentityPopup mSiteIdentityPopup;
     private int mSecurityImageLevel;
 
     private final int LEVEL_SHIELD_ENABLED = 3;
     private final int LEVEL_SHIELD_DISABLED = 4;
+    private final int LEVEL_LOCK_DISABLED = 5;
 
     private PropertyAnimator mForwardAnim;
 
     private final ForegroundColorSpan mUrlColor;
     private final ForegroundColorSpan mBlockedColor;
     private final ForegroundColorSpan mDomainColor;
     private final ForegroundColorSpan mPrivateDomainColor;
 
@@ -430,22 +431,22 @@ public class ToolbarDisplayLayout extend
             trackingMode = siteIdentity.getTrackingMode();
         }
 
         // This is a bit tricky, but we have one icon and three potential indicators.
         // Default to the identity level
         int imageLevel = securityMode.ordinal();
 
         // Check to see if any protection was overridden first
-        if (trackingMode == TrackingMode.TRACKING_CONTENT_LOADED ||
-            mixedMode == MixedMode.MIXED_CONTENT_LOADED) {
-          imageLevel = LEVEL_SHIELD_DISABLED;
-        } else if (trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED ||
-                   mixedMode == MixedMode.MIXED_CONTENT_BLOCKED) {
-          imageLevel = LEVEL_SHIELD_ENABLED;
+        if (trackingMode == TrackingMode.TRACKING_CONTENT_LOADED) {
+            imageLevel = LEVEL_SHIELD_DISABLED;
+        } else if (trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED) {
+            imageLevel = LEVEL_SHIELD_ENABLED;
+        } else if (mixedMode == MixedMode.MIXED_CONTENT_LOADED) {
+            imageLevel = LEVEL_LOCK_DISABLED;
         }
 
         if (mSecurityImageLevel != imageLevel) {
             mSecurityImageLevel = imageLevel;
             mSiteSecurity.setImageLevel(mSecurityImageLevel);
             updatePageActions(flags);
         }
     }
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -7111,17 +7111,17 @@ var IdentityHandler = {
 
   getMixedMode: function getMixedMode(aState) {
     if (aState & Ci.nsIWebProgressListener.STATE_BLOCKED_MIXED_ACTIVE_CONTENT) {
       return this.MIXED_MODE_CONTENT_BLOCKED;
     }
 
     // Only show an indicator for loaded mixed content if the pref to block it is enabled
     if ((aState & Ci.nsIWebProgressListener.STATE_LOADED_MIXED_ACTIVE_CONTENT) &&
-         Services.prefs.getBoolPref("security.mixed_content.block_active_content")) {
+         !Services.prefs.getBoolPref("security.mixed_content.block_active_content")) {
       return this.MIXED_MODE_CONTENT_LOADED;
     }
 
     return this.MIXED_MODE_UNKNOWN;
   },
 
   getTrackingMode: function getTrackingMode(aState, aBrowser) {
     if (aState & Ci.nsIWebProgressListener.STATE_BLOCKED_TRACKING_CONTENT) {