зеркало из https://github.com/mozilla/pjs.git
Bug 386681, nsIWebProgressListener security: Test for bits, not for absolute values
r=neil
This commit is contained in:
Родитель
1462d73d35
Коммит
429717cbc8
|
@ -387,12 +387,22 @@ nsBrowserStatusHandler.prototype =
|
||||||
onSecurityChange : function(aWebProgress, aRequest, aState)
|
onSecurityChange : function(aWebProgress, aRequest, aState)
|
||||||
{
|
{
|
||||||
const wpl = Components.interfaces.nsIWebProgressListener;
|
const wpl = Components.interfaces.nsIWebProgressListener;
|
||||||
|
const wpl_security_bits = wpl.STATE_IS_SECURE |
|
||||||
|
wpl.STATE_IS_BROKEN |
|
||||||
|
wpl.STATE_IS_INSECURE |
|
||||||
|
wpl.STATE_SECURE_HIGH |
|
||||||
|
wpl.STATE_SECURE_MED |
|
||||||
|
wpl.STATE_SECURE_LOW;
|
||||||
|
|
||||||
switch (aState) {
|
/* aState is defined as a bitmask that may be extended in the future.
|
||||||
|
* We filter out any unknown bits before testing for known values.
|
||||||
|
*/
|
||||||
|
switch (aState & wpl_security_bits) {
|
||||||
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_HIGH:
|
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_HIGH:
|
||||||
this.securityButton.setAttribute("level", "high");
|
this.securityButton.setAttribute("level", "high");
|
||||||
this.urlBar.setAttribute("level", "high");
|
this.urlBar.setAttribute("level", "high");
|
||||||
break;
|
break;
|
||||||
|
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_MED:
|
||||||
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_LOW:
|
case wpl.STATE_IS_SECURE | wpl.STATE_SECURE_LOW:
|
||||||
this.securityButton.setAttribute("level", "low");
|
this.securityButton.setAttribute("level", "low");
|
||||||
this.urlBar.setAttribute("level", "low");
|
this.urlBar.setAttribute("level", "low");
|
||||||
|
|
Загрузка…
Ссылка в новой задаче