From 48b788724e642012e5d9a682b30e15df2f3196cd Mon Sep 17 00:00:00 2001 From: Fedor Date: Fri, 2 Oct 2020 10:34:57 +0300 Subject: [PATCH] [Mypal] Add distinct mixed-mode indicator and logic for display. --- application/palemoon/base/content/browser.js | 1 + application/palemoon/base/content/padlock.css | 48 +++++++++++++----- application/palemoon/base/content/padlock.js | 16 ++++-- .../base/content/padlock_classic_mixed.png | Bin 0 -> 324 bytes .../base/content/padlock_mod_mixed.png | Bin 0 -> 318 bytes application/palemoon/base/jar.mn | 2 + .../en-US/chrome/browser/browser.properties | 1 + application/palemoon/themes/linux/browser.css | 9 ++++ application/palemoon/themes/osx/browser.css | 11 ++++ .../palemoon/themes/windows/browser.css | 18 +++++++ 10 files changed, 91 insertions(+), 15 deletions(-) create mode 100644 application/palemoon/base/content/padlock_classic_mixed.png create mode 100644 application/palemoon/base/content/padlock_mod_mixed.png diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index 4ec66e1e5..6b27ef093 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -6832,6 +6832,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 649cb2777..7503790a3 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 74b1bdfc6..f57f5075e 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 0000000000000000000000000000000000000000..a8be5d4fe7e37d8c72bc27b61dc906f0e48305fd GIT binary patch literal 324 zcmV-K0lWT*P)4_);(m+c*gdn4AQ?u8H@E#)X1K>7 z%fQI+kKrf7HHL78vf#9Tnr*%=~$!hZtL!r=-~?|%kfpc&TK14 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..137c338b4b48ce3796c13accc80127b970517094 GIT binary patch literal 318 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6*h@TpUD=;-a&hr#Witz`2MTc( zctjR6FmQbUVMeDlCNqG7cRgJkLn>}1CoB*#P@0h+!e44rkeCo~BRO2LNZR>e_E%T+ zecTQ==Ey(NamjbO;bXx1`_?`VjlA=dPfZTG^UpOQT)Hh*S3diH{S=msc3#*1t^dy> z+&=q5?|Xgb|HT5`|1FJ~rTKm4usZo#*T{QJ`^RqCHQRCS!O0I#K76^&gDda$fjc?} z1P&}Xb>Pf`tmdRc`73G{@tot4;<0bwiU?f$gL#@5yO%d}WDWl>^EH6=f1?$%gvEhN|0Vtz)wr5FzUr8AHgifrWx #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 20e453d11..d28bbd3b5 100644 --- a/application/palemoon/themes/osx/browser.css +++ b/application/palemoon/themes/osx/browser.css @@ -1004,6 +1004,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 851ec797c..8f485eb53 100644 --- a/application/palemoon/themes/windows/browser.css +++ b/application/palemoon/themes/windows/browser.css @@ -1441,6 +1441,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; @@ -1453,6 +1465,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;