script: Fix current URL for CSP requests#43438
Merged
TimvdLippe merged 1 commit intoservo:mainfrom Mar 22, 2026
Merged
Conversation
|
🔨 Triggering try run (#23268788577) for Linux (WPT) |
TimvdLippe
added a commit
to TimvdLippe/rust-content-security-policy
that referenced
this pull request
Mar 18, 2026
The specification uses two different URLs: the url and the current URL. The distinction is relevant when redirecting [1]. When we report a violation, we should use the original URL that started the request. However, all checks on URLs then need to use the current URLs. This ensures that after a redirect, the new URL is then checked against the CSP policy. This is extensively tested by WPT, see the results in the corresponding Servo PR [2]. [1]: https://w3c.github.io/webappsec-csp/#create-violation-for-request [2]: servo/servo#43438
|
Test results for linux-wpt from try job (#23268788577): Flaky unexpected result (28)
Stable unexpected results that are known to be intermittent (16)
Stable unexpected results (5)
|
|
|
daca8ef to
30f2904
Compare
|
🔨 Triggering try run (#23341034837) for Linux (WPT) |
|
Test results for linux-wpt from try job (#23341034837): Flaky unexpected result (35)
Stable unexpected results that are known to be intermittent (17)
Stable unexpected results (8)
|
|
|
30f2904 to
e24cdf7
Compare
mrobinson
approved these changes
Mar 20, 2026
Member
mrobinson
left a comment
There was a problem hiding this comment.
Looks good as soon as the content-security-policy crate is ready.
The CSP crate was incorrectly using the request URL for both checking if policies were matching, as well as reporting that URL. However, the CSP specification uses the current URL to check for policies and the url for reporting a violation. Therefore, set the new current_url field for these requests, leaving the ws scheme URLs as a special case. We also should take redirects into account for navigations (which is only relevant for forms), but LoadData currently has no notion of keeping track of that. Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
e24cdf7 to
fb3596b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The CSP crate was incorrectly using the request URL for both checking if policies were matching, as well as reporting that URL. However, the CSP specification uses the current URL to check for policies and the url for reporting a violation.
Therefore, set the new current_url field for these requests, leaving the ws scheme URLs as a special case. We also should take redirects into account for navigations (which is only relevant for forms), but LoadData currently has no notion of keeping track of that.