mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Bug 1493629 - Better management of CSP EventListener for workers, r=ckerschb
This commit is contained in:
parent
40ca28382a
commit
8bf0b5f63b
@ -1471,9 +1471,9 @@ WorkerPrivate::SetCSP(nsIContentSecurityPolicy* aCSP)
|
||||
return;
|
||||
}
|
||||
aCSP->EnsureEventTarget(mMainThreadEventTarget);
|
||||
aCSP->SetEventListener(mCSPEventListener);
|
||||
|
||||
mLoadInfo.mCSP = aCSP;
|
||||
EnsureCSPEventListener();
|
||||
}
|
||||
|
||||
nsresult
|
||||
@ -1493,7 +1493,6 @@ WorkerPrivate::SetCSPFromHeaderValues(const nsACString& aCSPHeaderValue,
|
||||
}
|
||||
|
||||
csp->EnsureEventTarget(mMainThreadEventTarget);
|
||||
csp->SetEventListener(mCSPEventListener);
|
||||
|
||||
// If there's a CSP header, apply it.
|
||||
if (!cspHeaderValue.IsEmpty()) {
|
||||
@ -1515,6 +1514,7 @@ WorkerPrivate::SetCSPFromHeaderValues(const nsACString& aCSPHeaderValue,
|
||||
mLoadInfo.mCSP = csp;
|
||||
mLoadInfo.mEvalAllowed = evalAllowed;
|
||||
mLoadInfo.mReportCSPViolations = reportEvalViolations;
|
||||
EnsureCSPEventListener();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
@ -3445,9 +3445,11 @@ WorkerPrivate::EnsureClientSource()
|
||||
bool
|
||||
WorkerPrivate::EnsureCSPEventListener()
|
||||
{
|
||||
mCSPEventListener = WorkerCSPEventListener::Create(this);
|
||||
if (NS_WARN_IF(!mCSPEventListener)) {
|
||||
return false;
|
||||
if (!mCSPEventListener) {
|
||||
mCSPEventListener = WorkerCSPEventListener::Create(this);
|
||||
if (NS_WARN_IF(!mCSPEventListener)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mLoadInfo.mCSP) {
|
||||
|
Loading…
Reference in New Issue
Block a user