Bug 1588461 - Added OA StripAttributes flag for privateBrowsingId. r=johannh,ckerschb

Differential Revision: https://phabricator.services.mozilla.com/D49174
This commit is contained in:
Paul Zuehlcke
2019-10-24 14:18:54 +00:00
parent e92d0ea998
commit eb43d30ff5
5 changed files with 26 additions and 9 deletions

View File

@@ -4904,7 +4904,7 @@ nsDocShell::Destroy() {
CancelRefreshURITimers();
if (UsePrivateBrowsing()) {
mPrivateBrowsingId = 0;
mPrivateBrowsingId = nsIScriptSecurityManager::DEFAULT_PRIVATE_BROWSING_ID;
mOriginAttributes.SyncAttributesWithPrivateBrowsing(false);
if (mAffectPrivateSessionLifetime) {
DecreasePrivateDocShellCount();
@@ -13209,10 +13209,12 @@ nsresult nsDocShell::SetOriginAttributes(const OriginAttributes& aAttrs) {
AssertOriginAttributesMatchPrivateBrowsing();
mOriginAttributes = aAttrs;
bool isPrivate = mOriginAttributes.mPrivateBrowsingId > 0;
bool isPrivate = mOriginAttributes.mPrivateBrowsingId !=
nsIScriptSecurityManager::DEFAULT_PRIVATE_BROWSING_ID;
// Chrome docshell can not contain OriginAttributes.mPrivateBrowsingId
if (mItemType == typeChrome && isPrivate) {
mOriginAttributes.mPrivateBrowsingId = 0;
mOriginAttributes.mPrivateBrowsingId =
nsIScriptSecurityManager::DEFAULT_PRIVATE_BROWSING_ID;
}
SetPrivateBrowsing(isPrivate);