mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-21 17:25:36 +00:00
Bug 1529248 - Clear-Site-Data header should consider executioncontexts flag only for 2xx response status, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D20502 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
a73b34cad7
commit
4586a4f350
@ -179,17 +179,6 @@ void ClearSiteData::ClearDataFromChannel(nsIHttpChannel* aChannel) {
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsIURI> uri;
|
||||
|
||||
uint32_t status;
|
||||
rv = aChannel->GetResponseStatus(&status);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return;
|
||||
}
|
||||
|
||||
// We just care about 2xx response status.
|
||||
if (status < 200 || status >= 300) {
|
||||
return;
|
||||
}
|
||||
|
||||
nsIScriptSecurityManager* ssm = nsContentUtils::GetSecurityManager();
|
||||
if (NS_WARN_IF(!ssm)) {
|
||||
return;
|
||||
@ -258,9 +247,18 @@ void ClearSiteData::ClearDataFromChannel(nsIHttpChannel* aChannel) {
|
||||
}
|
||||
}
|
||||
|
||||
// We consider eExecutionContexts only for 2xx response status.
|
||||
if (flags & eExecutionContexts) {
|
||||
LogOpToConsole(aChannel, uri, eExecutionContexts);
|
||||
BrowsingContextsReload(holder, principal);
|
||||
uint32_t status;
|
||||
rv = aChannel->GetResponseStatus(&status);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (status >= 200 && status < 300) {
|
||||
LogOpToConsole(aChannel, uri, eExecutionContexts);
|
||||
BrowsingContextsReload(holder, principal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user