Bug 1272348 - Remove insecure login doorhanger. r=sebastian
MozReview-Commit-ID: 2wQbyL13BrC
--- a/mobile/android/base/java/org/mozilla/gecko/SiteIdentity.java
+++ b/mobile/android/base/java/org/mozilla/gecko/SiteIdentity.java
@@ -8,17 +8,16 @@ package org.mozilla.gecko;
import org.json.JSONObject;
import android.text.TextUtils;
public class SiteIdentity {
private final String LOGTAG = "GeckoSiteIdentity";
private SecurityMode mSecurityMode;
private boolean mSecure;
- private boolean mLoginInsecure;
private MixedMode mMixedModeActive;
private MixedMode mMixedModeDisplay;
private TrackingMode mTrackingMode;
private String mHost;
private String mOwner;
private String mSupplemental;
private String mCountry;
private String mVerifier;
@@ -132,17 +131,16 @@ public class SiteIdentity {
mSecurityMode = SecurityMode.UNKNOWN;
mOrigin = null;
mHost = null;
mOwner = null;
mSupplemental = null;
mCountry = null;
mVerifier = null;
mSecure = false;
- mLoginInsecure = false;
}
public void reset() {
resetIdentity();
mMixedModeActive = MixedMode.UNKNOWN;
mMixedModeDisplay = MixedMode.UNKNOWN;
mTrackingMode = TrackingMode.UNKNOWN;
}
@@ -232,24 +230,16 @@ public class SiteIdentity {
public String getVerifier() {
return mVerifier;
}
public boolean isSecure() {
return mSecure;
}
- public void setLoginInsecure(boolean isInsecure) {
- mLoginInsecure = isInsecure;
- }
-
- public boolean loginInsecure() {
- return mLoginInsecure;
- }
-
public MixedMode getMixedModeActive() {
return mMixedModeActive;
}
public MixedMode getMixedModeDisplay() {
return mMixedModeDisplay;
}
--- a/mobile/android/base/java/org/mozilla/gecko/Tab.java
+++ b/mobile/android/base/java/org/mozilla/gecko/Tab.java
@@ -535,20 +535,16 @@ public class Tab {
public void setHasOpenSearch(boolean hasOpenSearch) {
mHasOpenSearch = hasOpenSearch;
}
public void updateIdentityData(JSONObject identityData) {
mSiteIdentity.update(identityData);
}
- public void setLoginInsecure(boolean isInsecure) {
- mSiteIdentity.setLoginInsecure(isInsecure);
- }
-
public void setSiteLogins(SiteLogins siteLogins) {
mSiteLogins = siteLogins;
}
void updateBookmark() {
if (getURL() == null) {
return;
}
--- a/mobile/android/base/java/org/mozilla/gecko/Tabs.java
+++ b/mobile/android/base/java/org/mozilla/gecko/Tabs.java
@@ -101,17 +101,16 @@ public class Tabs implements GeckoEventL
};
private Tabs() {
EventDispatcher.getInstance().registerGeckoThreadListener(this,
"Tab:Added",
"Tab:Close",
"Tab:Select",
"Content:LocationChange",
- "Content:LoginInsecure",
"Content:SecurityChange",
"Content:StateChange",
"Content:LoadError",
"Content:PageShow",
"DOMContentLoaded",
"DOMTitleChanged",
"Link:Favicon",
"Link:Feed",
@@ -485,19 +484,16 @@ public class Tabs implements GeckoEventL
closeTab(tab);
} else if (event.equals("Tab:Select")) {
selectTab(tab.getId());
} else if (event.equals("Content:LocationChange")) {
tab.handleLocationChange(message);
} else if (event.equals("Content:SecurityChange")) {
tab.updateIdentityData(message.getJSONObject("identity"));
notifyListeners(tab, TabEvents.SECURITY_CHANGE);
- } else if (event.equals("Content:LoginInsecure")) {
- tab.setLoginInsecure(true);
- notifyListeners(tab, TabEvents.SECURITY_CHANGE);
} else if (event.equals("Content:StateChange")) {
int state = message.getInt("state");
if ((state & GeckoAppShell.WPL_STATE_IS_NETWORK) != 0) {
if ((state & GeckoAppShell.WPL_STATE_START) != 0) {
boolean restoring = message.getBoolean("restoring");
tab.handleDocumentStart(restoring, message.getString("uri"));
notifyListeners(tab, Tabs.TabEvents.START);
} else if ((state & GeckoAppShell.WPL_STATE_STOP) != 0) {
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/SiteIdentityPopup.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/SiteIdentityPopup.java
@@ -318,24 +318,17 @@ public class SiteIdentityPopup extends A
mSecurityState.setTextColor(ContextCompat.getColor(mContext, R.color.placeholder_active_grey));
mIcon.setImageResource(R.drawable.icon);
clearSecurityStateIcon();
mMixedContentActivity.setVisibility(View.GONE);
mLink.setVisibility(View.GONE);
} else if (!siteIdentity.isSecure()) {
- if (siteIdentity.loginInsecure()) {
- // Login detected on an insecure page.
- mIcon.setImageResource(R.drawable.lock_disabled);
- clearSecurityStateIcon();
-
- mMixedContentActivity.setVisibility(View.VISIBLE);
- mMixedContentActivity.setText(R.string.identity_login_insecure);
- } else if (siteIdentity.getMixedModeActive() == MixedMode.MIXED_CONTENT_LOADED) {
+ if (siteIdentity.getMixedModeActive() == MixedMode.MIXED_CONTENT_LOADED) {
// Active Mixed Content loaded because user has disabled blocking.
mIcon.setImageResource(R.drawable.lock_disabled);
clearSecurityStateIcon();
mMixedContentActivity.setVisibility(View.VISIBLE);
mMixedContentActivity.setText(R.string.mixed_content_protection_disabled);
mLink.setVisibility(View.VISIBLE);
} else if (siteIdentity.getMixedModeDisplay() == MixedMode.MIXED_CONTENT_LOADED) {
--- a/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarDisplayLayout.java
+++ b/mobile/android/base/java/org/mozilla/gecko/toolbar/ToolbarDisplayLayout.java
@@ -345,29 +345,26 @@ public class ToolbarDisplayLayout extend
final SiteIdentity siteIdentity = tab.getSiteIdentity();
mSiteIdentityPopup.setSiteIdentity(siteIdentity);
final SecurityMode securityMode;
final MixedMode activeMixedMode;
final MixedMode displayMixedMode;
final TrackingMode trackingMode;
- final boolean loginInsecure;
if (siteIdentity == null) {
securityMode = SecurityMode.UNKNOWN;
activeMixedMode = MixedMode.UNKNOWN;
displayMixedMode = MixedMode.UNKNOWN;
trackingMode = TrackingMode.UNKNOWN;
- loginInsecure = false;
} else {
securityMode = siteIdentity.getSecurityMode();
activeMixedMode = siteIdentity.getMixedModeActive();
displayMixedMode = siteIdentity.getMixedModeDisplay();
trackingMode = siteIdentity.getTrackingMode();
- loginInsecure = siteIdentity.loginInsecure();
}
// This is a bit tricky, but we have one icon and three potential indicators.
// Default to the identity level
int imageLevel = securityMode.ordinal();
// about: pages should default to having no icon too (the same as SecurityMode.UNKNOWN), however
// SecurityMode.CHROMEUI has a different ordinal - hence we need to manually reset it here.
@@ -376,18 +373,16 @@ public class ToolbarDisplayLayout extend
if (securityMode == SecurityMode.CHROMEUI) {
imageLevel = LEVEL_DEFAULT_GLOBE; // == SecurityMode.UNKNOWN.ordinal()
}
// Check to see if any protection was overridden first
if (AboutPages.isTitlelessAboutPage(tab.getURL())) {
// We always want to just show a search icon on about:home
imageLevel = LEVEL_SEARCH_ICON;
- } else if (loginInsecure) {
- imageLevel = LEVEL_LOCK_DISABLED;
} else if (trackingMode == TrackingMode.TRACKING_CONTENT_LOADED) {
imageLevel = LEVEL_SHIELD_DISABLED;
} else if (trackingMode == TrackingMode.TRACKING_CONTENT_BLOCKED) {
imageLevel = LEVEL_SHIELD_ENABLED;
} else if (activeMixedMode == MixedMode.MIXED_CONTENT_LOADED) {
imageLevel = LEVEL_LOCK_DISABLED;
} else if (displayMixedMode == MixedMode.MIXED_CONTENT_LOADED) {
imageLevel = LEVEL_WARNING_MINOR;
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -622,17 +622,16 @@ 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_connection_secure "Secure Connection">
<!ENTITY identity_connection_insecure "Insecure connection">
-<!ENTITY identity_login_insecure "This page is not secure and your login could be vulnerable.">
<!ENTITY identity_connection_chromeui "This is a secure &brandShortName; page">
<!-- Mixed content notifications in site identity popup -->
<!ENTITY mixed_content_blocked_all1 "&brandShortName; has blocked insecure content on this page.">
<!ENTITY mixed_content_blocked_some1 "&brandShortName; has blocked some of the insecure content on this page.">
<!ENTITY mixed_content_display_loaded1 "Parts of this page are not secure (such as images).">
<!ENTITY mixed_content_protection_disabled1 "You have disabled protection from insecure content.">
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -490,17 +490,16 @@
<string name="bookmarkdefaults_url_restricted_webmaker">https://webmaker.org/</string>
<string name="bookmarkdefaults_title_restricted_support">&bookmarks_restricted_support2;</string>
<string name="bookmarkdefaults_url_restricted_support">https://support.mozilla.org/kb/controlledaccess?utm_source=inproduct&utm_medium=default-bookmarks&utm_campaign=mobileandroid</string>
<!-- Site identity popup -->
<string name="identity_connection_secure">&identity_connection_secure;</string>
<string name="identity_connection_insecure">&identity_connection_insecure;</string>
- <string name="identity_login_insecure">&identity_login_insecure;</string>
<string name="identity_connection_chromeui">&identity_connection_chromeui;</string>
<string name="mixed_content_blocked_all">&mixed_content_blocked_all1;</string>
<string name="mixed_content_blocked_some">&mixed_content_blocked_some1;</string>
<string name="mixed_content_display_loaded">&mixed_content_display_loaded1;</string>
<string name="mixed_content_protection_disabled">&mixed_content_protection_disabled1;</string>
<string name="doorhanger_tracking_title">&doorhanger_tracking_title2;</string>
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -4666,19 +4666,16 @@ var BrowserEventHandler = {
BrowserApp.deck.addEventListener("touchend", this, true);
}
BrowserApp.deck.addEventListener("DOMUpdatePageReport", PopupBlockerObserver.onUpdatePageReport, false);
BrowserApp.deck.addEventListener("MozMouseHittest", this, true);
InitLater(() => BrowserApp.deck.addEventListener("click", InputWidgetHelper, true));
InitLater(() => BrowserApp.deck.addEventListener("click", SelectHelper, true));
- if (AppConstants.NIGHTLY_BUILD) {
- InitLater(() => BrowserApp.deck.addEventListener("InsecureLoginFormsStateChange", IdentityHandler.sendLoginInsecure, true));
- }
// ReaderViews support backPress listeners.
Messaging.addListener(() => {
return Reader.onBackPress(BrowserApp.selectedTab.id);
}, "Browser:OnBackPressed");
},
handleEvent: function(aEvent) {
@@ -6377,28 +6374,16 @@ var IdentityHandler = {
this.shieldHistogramAdd(aBrowser, 1);
return this.TRACKING_MODE_CONTENT_LOADED;
}
this.shieldHistogramAdd(aBrowser, 0);
return this.TRACKING_MODE_UNKNOWN;
},
- sendLoginInsecure: function sendLoginInsecure() {
- let loginInsecure = LoginManagerParent.hasInsecureLoginForms(BrowserApp.selectedBrowser);
- if (loginInsecure) {
- let message = {
- type: "Content:LoginInsecure",
- tabID: BrowserApp.selectedTab.id
- };
- Messaging.sendRequest(message);
- }
- },
-
-
shieldHistogramAdd: function(browser, value) {
if (PrivateBrowsingUtils.isBrowserPrivate(browser)) {
return;
}
Telemetry.addData("TRACKING_PROTECTION_SHIELD", value);
},
/**