diff --git a/application/palemoon/app/profile/palemoon.js b/application/palemoon/app/profile/palemoon.js index c362bbe8be..8dcaf6a546 100644 --- a/application/palemoon/app/profile/palemoon.js +++ b/application/palemoon/app/profile/palemoon.js @@ -689,9 +689,6 @@ pref("plugins.hide_infobar_for_outdated_plugin", false); // Pale Moon:pref to always show the plugin indicator or not (default=false) pref("plugins.always_show_indicator", false); -pref("plugins.update.url", "https://aus.palemoon.org/plugincheck/"); -pref("plugins.update.notifyUser", false); - //Enable tri-state option (Always/Never/Ask) pref("plugins.click_to_play", true); diff --git a/application/palemoon/base/content/browser-plugins.js b/application/palemoon/base/content/browser-plugins.js index 914f9528b2..9e44981bb2 100644 --- a/application/palemoon/base/content/browser-plugins.js +++ b/application/palemoon/base/content/browser-plugins.js @@ -332,12 +332,6 @@ var gPluginHandler = { BrowserOpenAddonsMgr("addons://list/plugin"); }, - // Callback for user clicking on the link in a click-to-play plugin - // (where the plugin has an update) - openPluginUpdatePage: function(aEvent) { - openURL(Services.urlFormatter.formatURLPref("plugins.update.url")); - }, - // Callback for user clicking a "reload page" link reloadPage: function(browser) { browser.reload(); @@ -524,10 +518,7 @@ var gPluginHandler = { } let url; - // TODO: allow the blocklist to specify a better link, bug 873093 - if (pluginInfo.blocklistState == Ci.nsIBlocklistService.STATE_VULNERABLE_UPDATE_AVAILABLE) { - url = Services.urlFormatter.formatURLPref("plugins.update.url"); - } else if (pluginInfo.blocklistState != Ci.nsIBlocklistService.STATE_NOT_BLOCKED) { + if (pluginInfo.blocklistState != Ci.nsIBlocklistService.STATE_NOT_BLOCKED) { url = Services.blocklist.getPluginBlocklistURL(pluginInfo.pluginTag); } pluginInfo.detailsLink = url; diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index f7e765caa4..4320e404c0 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -6836,6 +6836,7 @@ var gIdentityHandler = { let punyID = gPrefService.getIntPref("browser.identity.display_punycode", 1); switch (newMode) { + case this.IDENTITY_MODE_MIXED_CONTENT: case this.IDENTITY_MODE_DOMAIN_VERIFIED: { let iData = this.getIdentityData(); diff --git a/application/palemoon/base/content/padlock.css b/application/palemoon/base/content/padlock.css index 649cb2777f..7503790a32 100644 --- a/application/palemoon/base/content/padlock.css +++ b/application/palemoon/base/content/padlock.css @@ -20,12 +20,16 @@ background-color: transparent; } -#padlock-ib[padshow="ib-trans-bg"][level="low"], -#padlock-ib[padshow="ib-trans-bg"][level="mixed"] { +#padlock-ib[padshow="ib-trans-bg"][level="low"] { list-style-image: url("chrome://browser/content/padlock_mod_low.png"); background-color: transparent; } +#padlock-ib[padshow="ib-trans-bg"][level="mixed"] { + list-style-image: url("chrome://browser/content/padlock_mod_mixed.png"); + background-color: transparent; +} + #padlock-ib[padshow="ib-trans-bg"][level="broken"] { list-style-image: url("chrome://browser/content/padlock_mod_broken.png"); background-color: transparent; @@ -55,13 +59,18 @@ background-color: transparent; } -#padlock-ib-left[padshow="ib-left"][level="low"], -#padlock-ib-left[padshow="ib-left"][level="mixed"] { +#padlock-ib-left[padshow="ib-left"][level="low"] { list-style-image: url("chrome://browser/content/padlock_mod_low.png"); padding: 2px; background-color: transparent; } +#padlock-ib-left[padshow="ib-left"][level="mixed"] { + list-style-image: url("chrome://browser/content/padlock_mod_mixed.png"); + padding: 2px; + background-color: transparent; +} + #padlock-ib-left[padshow="ib-left"][level="broken"] { list-style-image: url("chrome://browser/content/padlock_mod_broken.png"); padding: 2px; @@ -90,12 +99,16 @@ background-color: transparent; } -#padlock-ub-right[padshow="ub-right"][level="low"], -#padlock-ub-right[padshow="ub-right"][level="mixed"] { +#padlock-ub-right[padshow="ub-right"][level="low"] { list-style-image: url("chrome://browser/content/padlock_mod_low.png"); background-color: transparent; } +#padlock-ub-right[padshow="ub-right"][level="mixed"] { + list-style-image: url("chrome://browser/content/padlock_mod_mixed.png"); + background-color: transparent; +} + #padlock-ub-right[padshow="ub-right"][level="broken"] { list-style-image: url("chrome://browser/content/padlock_mod_broken.png"); background-color: transparent; @@ -117,12 +130,16 @@ background-color: transparent; } -#padlock-sb[padshow="statbar"][level="low"], -#padlock-sb[padshow="statbar"][level="mixed"] { +#padlock-sb[padshow="statbar"][level="low"] { list-style-image: url("chrome://browser/content/padlock_mod_low.png"); background-color: transparent; } +#padlock-sb[padshow="statbar"][level="mixed"] { + list-style-image: url("chrome://browser/content/padlock_mod_mixed.png"); + background-color: transparent; +} + #padlock-sb[padshow="statbar"][level="broken"] { list-style-image: url("chrome://browser/content/padlock_mod_broken.png"); background-color: transparent; @@ -144,12 +161,16 @@ background-color: transparent; } -#padlock-tab[padshow="tabs-bar"][level="low"], -#padlock-tab[padshow="tabs-bar"][level="mixed"] { +#padlock-tab[padshow="tabs-bar"][level="low"] { list-style-image: url("chrome://browser/content/padlock_mod_low.png"); background-color: transparent; } +#padlock-tab[padshow="tabs-bar"][level="mixed"] { + list-style-image: url("chrome://browser/content/padlock_mod_mixed.png"); + background-color: transparent; +} + #padlock-tab[padshow="tabs-bar"][level="broken"] { list-style-image: url("chrome://browser/content/padlock_mod_broken.png"); background-color: transparent; @@ -176,13 +197,16 @@ #padlock-ib-left[padshow="ib-left"][padstyle="classic"][level="low"], #padlock-ub-right[padshow="ub-right"][padstyle="classic"][level="low"], #padlock-sb[padshow="statbar"][padstyle="classic"][level="low"], -#padlock-tab[padshow="tabs-bar"][padstyle="classic"][level="low"], +#padlock-tab[padshow="tabs-bar"][padstyle="classic"][level="low"] { + list-style-image: url("chrome://browser/content/padlock_classic_low.png"); +} + #padlock-ib[padshow="ib-trans-bg"][padstyle="classic"][level="mixed"], #padlock-ib-left[padshow="ib-left"][padstyle="classic"][level="mixed"], #padlock-ub-right[padshow="ub-right"][padstyle="classic"][level="mixed"], #padlock-sb[padshow="statbar"][padstyle="classic"][level="mixed"], #padlock-tab[padshow="tabs-bar"][padstyle="classic"][level="mixed"] { - list-style-image: url("chrome://browser/content/padlock_classic_low.png"); + list-style-image: url("chrome://browser/content/padlock_classic_mixed.png"); } #padlock-ib[padshow="ib-trans-bg"][padstyle="classic"][level="broken"], diff --git a/application/palemoon/base/content/padlock.js b/application/palemoon/base/content/padlock.js index 74b1bdfc6b..f57f5075ea 100644 --- a/application/palemoon/base/content/padlock.js +++ b/application/palemoon/base/content/padlock.js @@ -38,10 +38,13 @@ var padlock_PadLock = level = "ev"; } else { // Step 1 FALSE: Domain Validation - // Normal "high" - // Mixed Active Content "low" + // Normal "high" + // Mixed Passive Content "mixed" + // Mixed Active Content "broken" if (aState & wpl.STATE_LOADED_MIXED_ACTIVE_CONTENT) - level = "low"; + level = "broken"; + else if (aState & wpl.STATE_LOADED_MIXED_DISPLAY_CONTENT) + level = "mixed"; else level = "high"; } @@ -125,6 +128,7 @@ var padlock_PadLock = let s_ev = "Extended Validated"; let s_hi = "Secure"; + let s_mx = "Mixed content"; let s_lo = "Weak security"; let s_no = "Not secure"; let gLocale = document.getElementById("bundle_browser"); @@ -135,6 +139,9 @@ var padlock_PadLock = let n_hi = gLocale.getString("identity.padlock.high"); if(n_hi != null) s_hi = n_hi; + let n_mx = gLocale.getString("identity.padlock.mixed"); + if(n_mx != null) + s_mx = n_mx; let n_lo = gLocale.getString("identity.padlock.low"); if(n_lo != null) s_lo = n_lo; @@ -152,6 +159,9 @@ var padlock_PadLock = case "low": sectooltip = s_lo; break; + case "mixed": + sectooltip = s_mx; + break; case "broken": sectooltip = s_no; break; diff --git a/application/palemoon/base/content/padlock_classic_mixed.png b/application/palemoon/base/content/padlock_classic_mixed.png new file mode 100644 index 0000000000..a8be5d4fe7 Binary files /dev/null and b/application/palemoon/base/content/padlock_classic_mixed.png differ diff --git a/application/palemoon/base/content/padlock_mod_mixed.png b/application/palemoon/base/content/padlock_mod_mixed.png new file mode 100644 index 0000000000..137c338b4b Binary files /dev/null and b/application/palemoon/base/content/padlock_mod_mixed.png differ diff --git a/application/palemoon/base/jar.mn b/application/palemoon/base/jar.mn index 735b6d0cf0..a2d6371c4f 100644 --- a/application/palemoon/base/jar.mn +++ b/application/palemoon/base/jar.mn @@ -37,10 +37,12 @@ browser.jar: content/browser/padlock_mod_ev.png (content/padlock_mod_ev.png) content/browser/padlock_mod_https.png (content/padlock_mod_https.png) content/browser/padlock_mod_low.png (content/padlock_mod_low.png) + content/browser/padlock_mod_mixed.png (content/padlock_mod_mixed.png) content/browser/padlock_mod_broken.png (content/padlock_mod_broken.png) content/browser/padlock_classic_ev.png (content/padlock_classic_ev.png) content/browser/padlock_classic_https.png (content/padlock_classic_https.png) content/browser/padlock_classic_low.png (content/padlock_classic_low.png) + content/browser/padlock_classic_mixed.png (content/padlock_classic_mixed.png) content/browser/padlock_classic_broken.png (content/padlock_classic_broken.png) content/browser/palemoon.xhtml (content/palemoon.xhtml) content/browser/openLocation.js (content/openLocation.js) diff --git a/application/palemoon/components/nsBrowserGlue.js b/application/palemoon/components/nsBrowserGlue.js index 18f43c0293..e9bd019236 100644 --- a/application/palemoon/components/nsBrowserGlue.js +++ b/application/palemoon/components/nsBrowserGlue.js @@ -54,9 +54,6 @@ XPCOMUtils.defineLazyGetter(this, "gBrowserBundle", function() { return Services.strings.createBundle('chrome://browser/locale/browser.properties'); }); -const PREF_PLUGINS_NOTIFYUSER = "plugins.update.notifyUser"; -const PREF_PLUGINS_UPDATEURL = "plugins.update.url"; - // We try to backup bookmarks at idle times, to avoid doing that at shutdown. // Number of idle seconds before trying to backup bookmarks. 15 minutes. const BOOKMARKS_BACKUP_IDLE_TIME = 15 * 60; @@ -977,21 +974,6 @@ BrowserGlue.prototype = { } }, - _showPluginUpdatePage: function() { - // Pale Moon: disable this functionality from BrowserGlue, people are - // already notified if they visit a page with an outdated plugin, and - // they can check properly from the plugins page as well. - -// Services.prefs.setBoolPref(PREF_PLUGINS_NOTIFYUSER, false); -// -// var formatter = Cc["@mozilla.org/toolkit/URLFormatterService;1"]. -// getService(Ci.nsIURLFormatter); -// var updateUrl = formatter.formatURLPref(PREF_PLUGINS_UPDATEURL); -// -// var win = this.getMostRecentBrowserWindow(); -// win.openUILinkIn(updateUrl, "tab"); - }, - /** * Initialize Places * - imports the bookmarks html file if bookmarks database is empty, try to diff --git a/application/palemoon/locales/en-US/chrome/browser/browser.properties b/application/palemoon/locales/en-US/chrome/browser/browser.properties index e757d7d427..66ce34d468 100644 --- a/application/palemoon/locales/en-US/chrome/browser/browser.properties +++ b/application/palemoon/locales/en-US/chrome/browser/browser.properties @@ -282,6 +282,7 @@ identity.unknown.tooltip=This website does not supply identity information. identity.padlock.ev=Extended Validated identity.padlock.high=Secure +identity.padlock.mixed=Mixed content identity.padlock.low=Weak security identity.padlock.broken=Not secure diff --git a/application/palemoon/themes/linux/browser.css b/application/palemoon/themes/linux/browser.css index 28956cdb1b..4948ec9d45 100644 --- a/application/palemoon/themes/linux/browser.css +++ b/application/palemoon/themes/linux/browser.css @@ -1055,6 +1055,15 @@ toolbar[iconsize="small"] #webrtc-status-button { background-repeat: no-repeat; } +#urlbar[pageproxystate="valid"] > #identity-box.mixedContent { + color: rgb(79,79,0); + margin-inline-end: 4px; + background-image: linear-gradient(rgba(245,245,220,1), + rgba(242,242,207,1)); + background-position: right; + background-repeat: no-repeat; +} + #identity-box.verifiedIdentity:-moz-locale-dir(rtl) { background-position: left; } diff --git a/application/palemoon/themes/osx/browser.css b/application/palemoon/themes/osx/browser.css index d1b231a3a0..49c210df44 100644 --- a/application/palemoon/themes/osx/browser.css +++ b/application/palemoon/themes/osx/browser.css @@ -1073,6 +1073,17 @@ html|*.urlbar-input:-moz-lwtheme::-moz-placeholder, background-repeat: no-repeat; } +#urlbar[pageproxystate="valid"] > #identity-box.mixedContent { + color: rgb(79,79,0); + margin-inline-end: 4px; + background-image: -moz-linear-gradient(rgba(79,79,0,0), + rgba(79,79,0,.08) 25%, + rgba(79,79,0,.08) 75%, + rgba(79,79,0,0)); + background-position: right; + background-repeat: no-repeat; +} + #identity-box.verifiedIdentity:-moz-locale-dir(rtl) { background-position: left; } diff --git a/application/palemoon/themes/windows/browser.css b/application/palemoon/themes/windows/browser.css index f41a583e41..6bfb7b9c8d 100644 --- a/application/palemoon/themes/windows/browser.css +++ b/application/palemoon/themes/windows/browser.css @@ -1486,6 +1486,18 @@ html|*.urlbar-input:-moz-lwtheme::-moz-placeholder, border-right: 1px solid rgba(0,79,168,0.5); } +#urlbar[pageproxystate="valid"] > #identity-box.mixedContent { + color: rgb(79,79,0); + margin-inline-end: 4px; + background-image: -moz-linear-gradient(rgba(79,79,0,0), + rgba(79,79,0,.08) 25%, + rgba(79,79,0,.08) 75%, + rgba(79,79,0,0)); + background-position: right; + background-repeat: no-repeat; + border-right: 1px solid rgba(79,79,0,0.5); +} + #identity-box.verifiedIdentity:-moz-locale-dir(rtl) { background-position: left; border-right: none; @@ -1498,6 +1510,12 @@ html|*.urlbar-input:-moz-lwtheme::-moz-placeholder, border-left: 1px solid rgba(0,79,168,0.5); } +#identity-box.mixedContent:-moz-locale-dir(rtl) { + background-position: left; + border-right: none; + border-left: 1px solid rgba(79,79,0,0.5); +} + #identity-box:-moz-focusring { outline: 1px dotted #000; outline-offset: -3px;