Auto merge of #24315 - notriddle:GH-4577, r=nox

Add simple implementation of content-security-policy on network requests

This needs a lot more hooks before it'll actually be a good implementation, but for a start it can help get some feedback on if this is the right way to go about it.

Part of servo/servo#4577 but we should probably track the rest of the implementation somewhere.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes (before merging, this PR should fix at least some of the WPT tests for CSP)

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24315)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2019-10-17 10:44:00 -04:00 committed by GitHub
commit 58c61d3aed
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
16 changed files with 175 additions and 41 deletions

18
Cargo.lock generated
View file

@ -736,6 +736,20 @@ dependencies = [
"webxr-api",
]
[[package]]
name = "content-security-policy"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f30ee9967a875968e66f6690e299f06781ed109cb82d10e0d60a126a38d61947"
dependencies = [
"bitflags",
"lazy_static",
"percent-encoding",
"regex",
"serde",
"url",
]
[[package]]
name = "cookie"
version = "0.11.0"
@ -2835,6 +2849,7 @@ name = "malloc_size_of"
version = "0.0.1"
dependencies = [
"app_units",
"content-security-policy",
"crossbeam-channel",
"cssparser",
"euclid",
@ -3156,6 +3171,7 @@ dependencies = [
"base64",
"brotli",
"bytes",
"content-security-policy",
"cookie",
"crossbeam-channel",
"devtools_traits",
@ -3215,6 +3231,7 @@ dependencies = [
name = "net_traits"
version = "0.0.1"
dependencies = [
"content-security-policy",
"cookie",
"embedder_traits",
"headers",
@ -4122,6 +4139,7 @@ dependencies = [
"canvas_traits",
"caseless",
"chrono",
"content-security-policy",
"cookie",
"crossbeam-channel",
"cssparser",