author | Michael Layzell <michael@thelayzells.com> |
Tue, 18 Apr 2017 11:35:56 -0400 | |
changeset 353866 | 130a6cae4093c1b5ea8c060c337c958a236ae636 |
parent 353865 | 10e9a5b8150c898843b44b0373b60b8e66bd17e8 |
child 353867 | 3e59d06de61430055e43fca4981f27009a8a71a0 |
push id | 89365 |
push user | michael@thelayzells.com |
push date | Wed, 19 Apr 2017 21:08:06 +0000 |
treeherder | mozilla-inbound@130a6cae4093 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | ehsan |
bugs | 1356277 |
milestone | 55.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -8807,28 +8807,43 @@ nsContentUtils::GetCookieBehaviorForPrin return; } uint32_t perm; permissionManager->TestPermissionFromPrincipal(aPrincipal, "cookie", &perm); switch (perm) { case nsICookiePermission::ACCESS_ALLOW: *aBehavior = nsICookieService::BEHAVIOR_ACCEPT; + *aLifetimePolicy = nsICookieService::ACCEPT_NORMALLY; break; case nsICookiePermission::ACCESS_DENY: *aBehavior = nsICookieService::BEHAVIOR_REJECT; + *aLifetimePolicy = nsICookieService::ACCEPT_NORMALLY; break; case nsICookiePermission::ACCESS_SESSION: + *aBehavior = nsICookieService::BEHAVIOR_ACCEPT; *aLifetimePolicy = nsICookieService::ACCEPT_SESSION; break; case nsICookiePermission::ACCESS_ALLOW_FIRST_PARTY_ONLY: *aBehavior = nsICookieService::BEHAVIOR_REJECT_FOREIGN; + // NOTE: The decision was made here to override the lifetime policy to be + // ACCEPT_NORMALLY for consistency with ACCESS_ALLOW, but this does + // prevent us from expressing BEHAVIOR_REJECT_FOREIGN/ACCEPT_SESSION for a + // specific domain. As BEHAVIOR_REJECT_FOREIGN isn't visible in our UI, + // this is probably not an issue. + *aLifetimePolicy = nsICookieService::ACCEPT_NORMALLY; break; case nsICookiePermission::ACCESS_LIMIT_THIRD_PARTY: *aBehavior = nsICookieService::BEHAVIOR_LIMIT_FOREIGN; + // NOTE: The decision was made here to override the lifetime policy to be + // ACCEPT_NORMALLY for consistency with ACCESS_ALLOW, but this does + // prevent us from expressing BEHAVIOR_REJECT_FOREIGN/ACCEPT_SESSION for a + // specific domain. As BEHAVIOR_LIMIT_FOREIGN isn't visible in our UI, + // this is probably not an issue. + *aLifetimePolicy = nsICookieService::ACCEPT_NORMALLY; break; } } // static, private nsContentUtils::StorageAccess nsContentUtils::InternalStorageAllowedForPrincipal(nsIPrincipal* aPrincipal, nsPIDOMWindowInner* aWindow)