Auto merge of #18676 - gterzian:continue_http_cache_work, r=jdm

Continue http cache work

<!-- Please describe your changes on the following line: -->

Work in progress, and not quite worth a review yet. (Continuation of https://github.com/servo/servo/pull/4117)

TODO

- [ ] cache metadata (find some subset of`net_traits::Metadata` that can be shared across threads, it seems the problem is mainly stuff inside `hyper::header` in the `headers` field)

- [ ] determine which other fields of a `Response` need to be cached, so a full and valid one can be returned upon a cache hit.

- [ ] determine how to best share the cache across fetch threads (inside HttpState like I tried now?)

- [ ] Spend more time reading the spec and make sure the cache follows it where it matters.

- [ ] Make the current wpt tests pass.

- [ ] More...

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #12972  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- 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/18676)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-11-20 18:22:06 -06:00 committed by GitHub
commit e2bc0f017c
37 changed files with 1238 additions and 631 deletions

View file

@ -12466,6 +12466,11 @@
{}
]
],
"mozilla/resources/http-cache.js": [
[
{}
]
],
"mozilla/resources/iframe_contentDocument_inner.html": [
[
{}
@ -33218,6 +33223,12 @@
{}
]
],
"mozilla/http-cache.html": [
[
"/_mozilla/mozilla/http-cache.html",
{}
]
],
"mozilla/iframe-unblock-onload.html": [
[
"/_mozilla/mozilla/iframe-unblock-onload.html",
@ -66309,6 +66320,10 @@
"592f69ee432ba5bc7a2f2649e72e083d21393496",
"testharness"
],
"mozilla/http-cache.html": [
"33827dc9bdb0efcbcae4f730086693be315cfc14",
"testharness"
],
"mozilla/iframe-unblock-onload.html": [
"8734756947d36b047df256f27adc56fce7e31f88",
"testharness"
@ -71981,6 +71996,10 @@
"78686147f85e4146e7fc58c1f67a613f65b099a2",
"support"
],
"mozilla/resources/http-cache.js": [
"c6b1ee9def26d4e12a1b93e551c225f82b4717c2",
"support"
],
"mozilla/resources/iframe_contentDocument_inner.html": [
"eb1b1ae3bb7a437fc4fbdd1f537881890fe6347c",
"support"