Bug 1182551 - Updating nsSecureBrowserUIImpl so that insecure pages with mixed content iframes don't get marked as broken. r=keeler

This commit is contained in:
Tanvi Vyas 2015-08-13 17:13:48 -07:00
parent 7d645652a8
commit de349986d1

View File

@ -263,18 +263,24 @@ nsSecureBrowserUIImpl::MapInternalToExternalState(uint32_t* aState, lockIconStat
*aState |= nsIWebProgressListener::STATE_IDENTITY_EV_TOPLEVEL;
}
}
// * If so, the state should be broken; overriding the previous state
// set by the lock parameter.
// * If so, the state should be broken or insecure; overriding the previous
// state set by the lock parameter.
uint32_t tempState = STATE_IS_BROKEN;
if (lock == lis_no_security) {
// this is to ensure that http: pages with mixed content in nested
// iframes don't get marked as broken instead of insecure
tempState = STATE_IS_INSECURE;
}
if (docShell->GetHasMixedActiveContentLoaded() &&
docShell->GetHasMixedDisplayContentLoaded()) {
*aState = STATE_IS_BROKEN |
*aState = tempState |
nsIWebProgressListener::STATE_LOADED_MIXED_ACTIVE_CONTENT |
nsIWebProgressListener::STATE_LOADED_MIXED_DISPLAY_CONTENT;
} else if (docShell->GetHasMixedActiveContentLoaded()) {
*aState = STATE_IS_BROKEN |
*aState = tempState |
nsIWebProgressListener::STATE_LOADED_MIXED_ACTIVE_CONTENT;
} else if (docShell->GetHasMixedDisplayContentLoaded()) {
*aState = STATE_IS_BROKEN |
*aState = tempState |
nsIWebProgressListener::STATE_LOADED_MIXED_DISPLAY_CONTENT;
}