Commit graph

176 commits

Author SHA1 Message Date
UK992
7aae8ab4c9 servo: Merge #12588 - Support tinyfiledialogs on Windows (from UK992:tinyfiledialogs); r=jdm
<!-- Please describe your changes on the following line: -->

---
<!-- 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

<!-- Either: -->
- [X] These changes do not require tests because only add support for Windows

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2de3b119a961942943280fa280c50a7a814de583
2016-07-25 08:14:09 -05:00
Johann Hofmann
7dcb4fc403 servo: Merge #12539 - Improve page load error information (from johannhof:error-page); r=jdm
Fixes #8640.

This commit adds a neterror page that displays really really basic
information about what went wrong with your request, which is an
improvement over the current state of blank page.

It also fixes the problem of certificate validation errors not
triggering the cert error page, since for some reason the function
string seems to have turned lowercase.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #8640.

- [x] These changes do not require tests because I'm not sure how to test this, suggestions welcome!

r?@jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e835e330df49da068928231a5b55b165c360a42
2016-07-21 13:27:06 -05:00
Rahul Sharma
7fc9b5fc26 servo: Merge #11727 - Integrate service worker manager thread (from creativcoder:swmanager); r=jdm
<!-- Please describe your changes on the following line: -->

---
<!-- 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] These changes are part of #11091

<!-- Either: -->
- [X] There are tests for these changes at my [gh-pages](https://github.com/creativcoder/gsoc16/tree/gh-pages) branch to test  the instantiation of service workers by their manager, but will need to discuss how that would integrate into master.

Changes:
- Introduces a `ServiceWorkerManager`, which maintains an map of registered service workers as well as a map of active workers keyed by their `scope_url`.
- Adds the initialization of ServiceWorkerManager, at the `script::init()`, which makes it available as a single entity listening for requests from different script threads.
- Adds a timeout thread in `serviceworkerglobalscope`, which terminates the workers, after a timeout of 60 secs, thereby removing it from the active workers list.
- Adds the matching of scope urls, in longest prefix way rather than path structural way, according to [spec](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#scope-match-algorithm).
- Make ServiceWorkerManager, the holder of network sender, instead of script thread, so it can send `CustomResponse`.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 513811f6b40d522bc425c2588320b889614f2973
2016-07-18 09:50:59 -07:00
Aravind Gollakota
78fcf243f3 servo: Merge #12441 - Implement referrer policy delivery by header (from aravind-pg:referrer-pol-header); r=jdm
Adds a new `Option<ReferrerPolicy>` field to Document and sets it appropriately in `ScriptThread::load` if a Referrer-Policy header is present.

r? @jdm

<!-- 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] These changes fix #11860
- [X] There are tests for these changes

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

Source-Repo: https://github.com/servo/servo
Source-Revision: b382cc2103180f7dfd8df9c34970a95ed57a2d88
2016-07-15 11:25:43 -07:00
Nazım Can Altınova
19dce5ea54 servo: Merge #12416 - Implement Document.referrer (from canaltinova:referrer); r=jdm
<!-- Please describe your changes on the following line: -->
---
<!-- 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] These changes fix #12389 (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 4b78b9adab916cc4fdde6248e785030b79f406da
2016-07-14 11:55:44 -07:00
Aravind Gollakota
6d41187f50 servo: Merge #11978 - Add "origin" and "same-origin" referrer policies, replacing "origin-only" (from aravind-pg:new-referrer-pols); r=jdm
<!-- Please describe your changes on the following line: -->
---
<!-- 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] These changes fix #11384
- [X] There are tests for these changes

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 37dbb502089a4b05eaaa53764a7f37cfe19523c9
2016-07-12 13:44:33 -07:00
Johann Hofmann
cadd7fcc4b servo: Merge #12050 - Switch to a faster Brotli crate (from johannhof:brotli); r=jdm
<!-- Please describe your changes on the following line: -->

---
<!-- 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] These changes fix #11933.

<!-- Either: -->
- [x] These changes do not require tests (I hope) because no new behavior was introduced

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c8b048e368d4f9de08011b89e530ba9075e08ec3
2016-07-03 18:32:15 -07:00
Corey Farwell
1c5addfe7a servo: Merge #12190 - Minor MIME renaming and aliasing cleanup (from frewsxcv:mime-renaming); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 194fb3e199922ef0e1ce7943036800ecac5bbfe3
2016-07-03 11:07:12 -07:00
Corey Farwell
df29454b47 servo: Merge #12178 - Refactor util::prefs operations to be methods on static struct (from frewsxcv:prefs); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- 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
- [ ] These changes fix #__ (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: b0a8ce5341f5148e36523fee0b0fcbc2684c0a68
2016-07-03 08:19:04 -07:00
Josh Matthews
d39fca59e8 servo: Merge #11932 - Print out useful SSL-related information on SSL error page (from jdm:servoorg-cert); r=asajeffrey
Make certificate error pages more useful. Attempt to identify known cases where upgrading OpenSSL would be useful.

<img width="553" alt="screen shot 2016-06-29 at 12 29 30 pm" src="https://cloud.githubusercontent.com/assets/27658/16460435/4d07d5e2-3df5-11e6-94ab-cf061c0e64cc.png">

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: 305eda66dd732ffcc4127c8d5b948d07702cb1c7
2016-06-29 16:47:57 -05:00
Manish Goregaokar
abc4d8d572 servo: Merge #11556 - Make fetch happen (from Manishearth:make-fetch-happen); r=jdm
<!-- Please describe your changes on the following line: -->
Moves XHR over to the fetch backend.

Previous PR: https://github.com/servo/servo/pull/114

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors (Will fix later)

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c11e8340b26aa86faf9ea40aae253392b338ba3
2016-06-11 19:30:28 -05:00
Josh Matthews
8e76db2942 servo: Merge #11692 - Add a default Accept-Language header to HTTP requests (from jdm:language); r=Manishearth
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11008
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ae8a70e2b929ac413c4bb09f00cc45d7433c05b
2016-06-10 05:52:37 -05:00
Josh Matthews
ca9965b104 servo: Merge #11593 - Make the net monitor panel in FF's devtools show meaningful output (from jdm:netmon); r=nox
<!-- Please describe your changes on the following line: -->
1. Advertise support for the network monitor in the initial protocol communication.
1. Only notify the developer tools server about the final request in an HTTP transaction.
1. Add timing information for connecting to the HTTP server and sending the HTTP request.
1. Reduce duplication between various networkEventUpdate structures by creating a helper function
that merges two JSON structures together. This also corrects the JSON structure so the devtools
client interprets the output correctly.
1. Calculate various header size fields correctly.
1. Remove unnecessary usize->u32 casts by making the appropriate fields usize.
1. Add header values to request and response header messages.
1. Support triggering page reloads via the devtools client.

I apologize that these aren't broken apart. I was making a lot of changes trying to figure out why the panel wasn't working right, and a lot of them were tangled together.

---
<!-- 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] These changes do not require tests because there are no automated tests for the devtools server.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 1bc94c132e6820293c2178bf95991518b1e8a677
2016-06-05 21:19:22 -05:00
Rebecca
ffc625b7fe servo: Merge #11468 - Implement meta referrer policy delivery (3) (from rebstar6:refPol4); r=nox
<!-- Please describe your changes on the following line: -->

---
<!-- 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] These changes fix #10311 (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 530b5a649eb7284c0ff4e316b8eabd5cc62c1e80
2016-06-02 21:51:10 -05:00
Anthony Ramine
94847d5afc servo: Merge #11413 - Support content blocking (from nox:content-blocker); r=nox+jdm+Ms2ger
This is @jdm's rebased work from https://github.com/servo/servo/issues/9749#issuecomment-211115746 with a small addition with regard to cross-origin blocking. Mainly opening this for review and for further discussions.

Source-Repo: https://github.com/servo/servo
Source-Revision: e63ded6d720174699ee45e87f6be01335f2feebd
2016-05-30 06:39:36 -05:00
Josh Matthews
7f10c47c0a servo: Merge #11472 - Report blank lines that follow an open brace (from jdm:wip); r=mbrubeck
This automates something that I find myself frequently commenting on in PRs.

---
<!-- 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 OR

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ec20d9cf517c67f4d280e8958cc58c4c2b4fbb2
2016-05-27 18:14:25 -05:00
Rahul Sharma
934afa2733 servo: Merge #10961 - adding interface for custom responses (from creativcoder:custom_response_iface); r=jdm
Fixes #10960

Source-Repo: https://github.com/servo/servo
Source-Revision: 1a34137ac41276239850d91073bec2c0ef2344d9
2016-05-21 01:12:54 -07:00
Josh Matthews
b10b472b1a servo: Merge #11239 - Add timeline markers for HTTP requests, JS evaluation, and HTML parsing (from jdm:time-profile); r=nox
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 (didn't try to compile past a rustc upgrade on airplane wifi)
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix #11218 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because we don't have testing infrastructure for profiling.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 96a86bd952c4c0e41d6164fbd16244ea4420106a
2016-05-18 06:07:10 -07:00
Matt Brubeck
1af370c09c servo: Merge #11115 - Use openssl-verify to check certificate + hostname (from mbrubeck:openssl-verify); r=jdm
Fixes #4954.  r? @jdm

This is based on hyperium/hyper#472, though it doesn't re-use that code directly because Servo configures its own OpenSSL context.

Source-Repo: https://github.com/servo/servo
Source-Revision: 40be84df26ce3ce80851e751374154c015506921
2016-05-10 15:00:48 -07:00
Josh Matthews
c4984445c7 servo: Merge #10932 - Add the requesting URL to the 401 prompt. Only show the 401 prompt wh… (from jdm:401); r=SimonSapin
…en the WWW-Authenticate header is present.

Fixes #10912.

Source-Repo: https://github.com/servo/servo
Source-Revision: 20fc8b3c8d384e0a4377ed99ae1f84e0097cfdf5
2016-05-04 11:37:16 -07:00
Corey Farwell
56bef9c48f servo: Merge #10869 - DRY out StreamedResponse::from_http_response (from frewsxcv:dry); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 88020e9151d3cdb6a2e01b62ac0c093b8f693123
2016-04-27 04:23:34 -07:00
Corey Farwell
497a8b7fd3 servo: Merge #10868 - Add NetworkError::LoadCancelled variant (from frewsxcv:loadcancelled); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: ad77d40360f4ccb0a1249d86e5a48357f74295ea
2016-04-27 01:26:05 -07:00
Corey Farwell
ab49393c3c servo: Merge #10785 - Refactor LoadErrorType to not require a String for every type (from frewsxcv:loaderrortype-nostring); r=jdm
Some of the `LoadErrorType` like `LoadCancelled` don't need a `String`
associated with the type since the variant is self-explanatory.

There are some variants that don't need an associated `String`, but that
can be cleaned up in a later refactor. Also, `net_traits::NetworkError`
currently requires a `String`, but that can potentially also be
refactored away too.

Source-Repo: https://github.com/servo/servo
Source-Revision: 81f6e70a623a6f11535322ed2ef954eafaf8c70c
2016-04-25 14:37:44 -07:00
Rebecca
c6a0cc3d7f servo: Merge #10696 - Referer header (from rebstar6:referrerPolicy); r=jdm
PR1 for https://github.com/servo/servo/issues/10311

This puts the code and data structures in place to set the Referer header based on the Referrer Policy for a given document. Note that document:: get_referrer_policy() always returns the 'No Referrer' option, so for now, this should have no impact on production code, and that policy requires that the Referer header is not added.

Later PRs will determine the policy and edit that get_referrer_policy() accordingly.

Source-Repo: https://github.com/servo/servo
Source-Revision: 34900814fca3b21fbb27bed58d4f4af8a8e307e9
2016-04-25 13:52:01 -07:00
Simon Sapin
15f5299fe5 servo: Merge #9840 - Update to rust-url 1.0 (from servo:url-1.0); r=asajeffrey
**Do not merge yet:** rust-url 1.0 is not published yet and may still get breaking changes. The goal of this PR for now is to demonstrate API usage.

Depends on:

* <s>https://github.com/servo/rust-url/pull/176</s>
* <s>https://github.com/alexcrichton/cookie-rs/pull/42</s>
* <s>https://github.com/hyperium/hyper/pull/740</s>
* https://github.com/cyderize/rust-websocket/pull/70
* https://github.com/jgraham/webdriver-rust/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 84ab7e9fe8f4a6528995eff3eb6e814cb724c364
2016-04-23 11:28:31 -07:00
Daniel
0bb60ea590 servo: Merge #10661 - write cookie_jar, hsts_list, auth_cache to file if profile_dir option is present (from DDEFISHER:master); r=jdm
For Persistent sessions student project

"if the profile directory command-line option is present when the ResourceThread is instructed to exit, serialize the data contained in cookie_storage, hsts_list, and the new HTTP authorization cache, and write the serialized data in separate files inside the profile directory."

and

"perform the same serialization on shutdown for local_data in storage_thread.rs, which represents the LocalStorage API."

Source-Repo: https://github.com/servo/servo
Source-Revision: 75d99eec0ff02718f1ec8d1b6fd58fff7c2d6fb3
2016-04-21 03:22:56 +05:01
Josh Matthews
39037852d3 servo: Merge #9942 - Moving the error handling out of network loader (from jdm:load_error); r=ms2ger
Rebase of #8851. Fixes #8678. Fixes #9944.

Source-Repo: https://github.com/servo/servo
Source-Revision: f051028ee8cd93168b1abe3742929d43d19cb002
2016-04-20 21:50:22 +05:01
Corey Farwell
9ab0516061 servo: Merge #10695 - Avoid unnecessary net_traits::LoadData clone (from frewsxcv:no-clone); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 407c43fadedab02614e5d5c6b5a9d55e7632e991
2016-04-19 10:41:18 +05:01
Corey Farwell
d9806fb51f servo: Merge #10672 - Improvements to network preferences, HTTP redirection limiting (from frewsxcv:net-network); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 80662f1e4e3054415700f1d82896bd76626b022d
2016-04-19 03:37:25 +05:01
Corey Farwell
60a86d0dbb servo: Merge #10666 - Refactor, cleanup HSTS related code (from frewsxcv:hsts-cleanup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 317629d86e323fca8603ce278e76e1be7758dd3a
2016-04-17 23:21:13 +05:01
Josh Matthews
6873f38158 servo: Merge #10650 - Disable tinyfiledialogs on non-OS X and Linux platforms (from jdm:disabletfd); r=KiChjang
I haven't been able to fix the appveyor build yet, so this gives us back a usable Windows build.

Source-Repo: https://github.com/servo/servo
Source-Revision: cc290c6e8a3a8576e57e48dd21fa74aa0e1cf3a9
2016-04-17 02:21:19 +05:01
Corey Farwell
e2bedbee0f servo: Merge #10629 - Flatten a couple net implementations (from frewsxcv:flatten); r=Ms2ger
Working on some of the TLS related code in `net` and tried to clean up a couple implementations along the way.

Source-Repo: https://github.com/servo/servo
Source-Revision: f39ec2b15e7db394c8ca375dd1b85081d6d790a5
2016-04-15 18:21:39 +05:01
Josh Matthews
d524089dcb servo: Merge #10555 - Remove unnecessary indirection in HTTP unit tests (from jdm:http_response_refactor); r=ms2ger
Many of the HTTP unit tests use a custom request factory as well as a custom request that contained test logic. This is unnecessarily convoluted, and exists solely because the complete set of headers was unavailable until the request body was sent. These patches restructure the header manipulations so that the headers are available when the request object is created, allowing the test logic to move into the test factories, and enabling the deletion of almost all of the test request types.

Source-Repo: https://github.com/servo/servo
Source-Revision: eb78e21fbe05215a798af954bbe82bd41071a94b
2016-04-15 12:15:59 +05:01
Daniel
e8c0268d64 servo: Merge #10328 - 401 authorization UI then restart request/save successful auth creds (from DDEFISHER:master); r=jdm
Step 7 of the NCSU student project Implement HTTP authorization UI

> make an authorization UI appear when a 401 HTTP response is received (StatusCode::Unauthorized) - in load in http_loader.rs, right before trying to process an HTTP redirection, use the new tinyfiledialogs library to make two prompts appear (username and password), then restart the request with the new authorization value present applied. If an authorization value was present and the response is successful, add the credentials to the authorization cache.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7bd23815184bfa675bde040231199722c703d2f0
2016-04-15 07:32:23 +05:01
Ms2ger
540ad4129b servo: Merge #10453 - Update uuid (from Ms2ger:uuid); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 5cf89fea48fb1fc58fd665384cbaa2060decff31
2016-04-07 15:49:20 +05:01
Connor Brewster
fefe65bc63 servo: Merge #10188 - Add Http Global State Object (from cbrewster:http-global-state); r=jdm
This adds a new HttpState object which holds common http state(#10175). This reduces the amount of work that is required to add extra things to the Http state.

The HttpState object currently holds:
```
hsts_list: Arc::new(RwLock::new(HSTSList::new())),
cookie_jar: Arc::new(RwLock::new(CookieStorage::new())),
auth_cache: Arc::new(RwLock::new(HashMap::new())),
```

Source-Repo: https://github.com/servo/servo
Source-Revision: d82f97a9cd9f208a4f331d5991486ae7f0108c08
2016-03-26 18:37:52 +05:01
Daniel
814e6a9a37 servo: Merge #10111 - add auth cache to resources + set auth header from it if url does not have creds (from DDEFISHER:master); r=jdm
initial attempt of

- in resource_thread.rs, define an HTTP authorization cache storage (username, password, URL) and instantiate it like the cookie_storage member (inside an Arc<Rwlock<>> value, to enable sharing it between threads)
- in modify_request_headers in http_loader.rs, implement the remaining pieces of step 12(13?) of the appropriate specification using this new authorization cache.

 for the NCSU student project Implement HTTP authorization UI and persistent sessions.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f944afee88bb2ab13de4f37118af14d40328f7f
2016-03-24 23:25:13 +05:01
Bob
7f3584b186 servo: Merge #9780 - correctly send secure cookies after hsts url match (from bobthekingofegypt:github_hsts_bug); r=jdm
Fixes #8100, where sites in the hsts list were not recieving secure
cookies if the site was originally loading using a plain http url.

Source-Repo: https://github.com/servo/servo
Source-Revision: 162e89d8c6f19204e653b8d1fa83663ee710be15
2016-03-09 14:44:52 +05:01
Nikki
f2cb1a2b2f servo: Merge #9850 - Set response.body Asynchronously In Fetch (from nikkisquared:2_async_2_furious); r=jdm
Following having finished making Fetch asynchronous, response.body should be set asynchronously, since it's the major goal of calling Fetch. So far, I've made the body wrapped in Arc<Mutex<>>, and I've wrapped a new thread around the part where it's set. I've also discovered that the fetch_async function makes step 8 of Main Fetch obsolete, and I've commented it appropriately.

I'm currently having a hard time with the thread for setting response.body, though. @jdm suggested I have the body set continually, block by block, but my implementation for that runs so slow that I can't finish running my fetch test suite in reasonable time. @KiChjang pointed out that a lot of the lag is due to how response.body currently stores everything inside a Vec. Changing the storage container seems to be both necessary and beyond the scope of the time I have to work on this.

Source-Repo: https://github.com/servo/servo
Source-Revision: fee7cb179ee7ba2f159d87af07afaf0cd99a2161
2016-03-08 04:16:25 +05:01
Chandler Abraham
d0a763a23f servo: Merge #9768 - disallow restricted XMLHttpRequest header prefixes (from jdm:add_disallowed_prefixes); r=jdm
Rebased from #9376.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4a7d234510d5a5f6b2b960a84f70a7260e1fc0a9
2016-02-27 21:40:46 +05:01
Rebecca
a313b60acd servo: Merge #9662 - Add support for websocket cookies (from rebstar6:websocket_cookies); r=jdm
Addresses both cookies in request and response. Resolves #9540.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc034845b7e543e4e71fa21d6bf99e9f10ddb6c5
2016-02-18 02:15:01 +05:01
Daniel Robertson
ada569a940 servo: Merge #9625 - Implement step 9 of XHR Open method (from danlrobertson:i9547); r=KiChjang
Implement step 9 of the [XMLHttpRequest Open](https://xhr.spec.whatwg.org/#dom-xmlhttprequest-open) method. Thanks to @KiChjang for all the help!

As always, comments and critiques are welcomed!

Fix: #9547
Source-Repo: https://github.com/servo/servo
Source-Revision: c388c83dcdab0f4c7c8026a9ba1a123e0b59fad9
2016-02-17 02:22:44 +05:01
Paul Rouget
177aa965b3 servo: Merge #9244 - mozbrowsersecuritychange event (from paulrouget:securitychange); r=jdm
Fixes #8544

No test yet. Is there a way to mock a https connection?

Also, I wish I could use the `HTTPSState` enum instead of a `String` when calling `trigger_mozbrowser_event` (https://github.com/servo/servo/compare/master...paulrouget:securitychange?expand=1#diff-30a18e04d7e0b66aafdf192e416cad44R306) but that would require `constellation_msg.rs` to know about `HTTPSState`, which is defined in `document.rs`, which would add a dependency to `components/msg`. I could define `HTTPSState` somewhere else maybe? Or maybe it's fine to use a `String`. But then, should I use the HTTPSState strings (`"modern/deprecated/none"`) or the mozbrowser strings (`"secure/insecure/broken"`) (as it is now)

Source-Repo: https://github.com/servo/servo
Source-Revision: 3d63f09361afa80b9d5c4f6b192c9bd8936094b7
2016-02-09 12:31:29 +05:01
Nikki
129c7554c0 servo: Merge #9298 - Implement a basic test for Fetch (from nikkisquared:test_fetch); r=KiChjang
As per @jdm's suggestion that I start minimally testing the Fetch protocol to catch any errors, I wrote a very simple test that just calls Fetch and checks that the response isn't a network error. I've made changes as necessary for every failure I encountered, although this doesn't mean the implementation is faultless yet.

As always, I look forward to any feedback for improvements regarding the test itself, the changes to the fetch files I've made, and anything that I missed and should update.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c713cb4688f1a1729ada64846fac2d8426b1ef4
2016-01-14 07:51:05 +05:01
rohan.prinja
d440ee6a41 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8

--HG--
rename : servo/components/canvas/canvas_paint_task.rs => servo/components/canvas/canvas_paint_thread.rs
rename : servo/components/canvas/webgl_paint_task.rs => servo/components/canvas/webgl_paint_thread.rs
rename : servo/components/compositing/compositor_task.rs => servo/components/compositing/compositor_thread.rs
rename : servo/components/gfx/font_cache_task.rs => servo/components/gfx/font_cache_thread.rs
rename : servo/components/gfx/paint_task.rs => servo/components/gfx/paint_thread.rs
rename : servo/components/layout/layout_task.rs => servo/components/layout/layout_thread.rs
rename : servo/components/net/image_cache_task.rs => servo/components/net/image_cache_thread.rs
rename : servo/components/net/resource_task.rs => servo/components/net/resource_thread.rs
rename : servo/components/net/storage_task.rs => servo/components/net/storage_thread.rs
rename : servo/components/net_traits/image_cache_task.rs => servo/components/net_traits/image_cache_thread.rs
rename : servo/components/net_traits/storage_task.rs => servo/components/net_traits/storage_thread.rs
rename : servo/components/script/script_task.rs => servo/components/script/script_thread.rs
rename : servo/components/util/task.rs => servo/components/util/thread.rs
rename : servo/tests/unit/gfx/font_cache_task.rs => servo/tests/unit/gfx/font_cache_thread.rs
rename : servo/tests/unit/net/resource_task.rs => servo/tests/unit/net/resource_thread.rs
rename : servo/tests/unit/util/task.rs => servo/tests/unit/util/thread.rs
2016-01-10 15:20:04 +05:01
Nikki
9c9622ef63 servo: Merge #9153 - Partial implementation of HTTP-network Fetch step (from nikkisquared:http_network_fetch); r=jdm
I've been working on making a partial implementation of HTTP-network Fetch[1] so that I can begin testing the entire Fetch protocol as implemented in Servo. The empty steps are intentionally so, including the incomplete Step 5, which I started without realizing I don't need to do basic testing.

[1] https://fetch.spec.whatwg.org/#http-network-fetch

Source-Repo: https://github.com/servo/servo
Source-Revision: 1ea2341a5d6fc3dd38f9557e7620c6ad4dc739a0
2016-01-06 00:17:17 +05:01
Johannes Linke
38405ee47e servo: Merge #9123 - Fix a bunch of clippy lints (from karyon:clippy_cleanup); r=Manishearth
This fixes about 130 clippy lints. Let me know if i should split up the commit.

I wasn't sure about some of the changes, especially map_or instead of map(...).unwrap_or(...) and if let instead of single arm match were not always a strict improvement in my opinion, but i'll leave that decision to the reviewer :)

There are about 150 lints left which i thought were clippy bugs or i didn't know how to fix.

cc @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 9da739acefc7d1776bf727c8bf782eb79f241028
2016-01-03 08:47:34 +05:01
Nikki
27b065f618 servo: Merge #9078 - Split http_loader::load into two methods (from nikkisquared:split_http_loader_load); r=jdm
This is intended to fix #8976 by moving the http_loader::load code that deals with getting a response and moving it into its own function. I've built it and run existing tests against my changes and that looks fine. I'd like feedback on changes I've made to accommodate refactoring the code. And I'm sure there's a more descriptive function name than "load_response", I just wasn't sure how to describe what it does.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7371da6ca031c50334f8c1068bb350ee1c17e0de
2016-01-01 01:19:09 +05:01
Josh Matthews
647c5be7dd servo: Merge #8190 - Implemementing context-based MIME type sniffing (from jdm:4138); r=eefriedman
This is a rebase of #7842 that also adds a test.
Fixes #4183.

@Yoric, how's this look to you?

Source-Repo: https://github.com/servo/servo
Source-Revision: af1690f3036bc329101bbd6f4e877672d58ca5e0
2015-12-31 20:44:10 +05:01
Abhishek Kumar
38115cb5bb servo: Merge #8845 - M1502: Expand HTTP request response monitoring-2 (from akumar21NCSU:master); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: a8783ad184ab6167803af44f4abf16754c410c2a
2015-12-21 20:48:25 +05:01
Mathieu Agopian
2ee894fb9d servo: Merge #9019 - Use Url.join instead of UrlParser.base_url(...).parse (#9002) (from magopian:9002-use-url.join); r=SimonSapin
Fix issue #9002

Source-Repo: https://github.com/servo/servo
Source-Revision: f9141ef2db693518fef676740f25abee3b938cac
2015-12-19 01:29:56 +05:01
Jigesh Mehta
f86eaa8884 servo: Merge #8812 - M1504: Implement basic support for withCredentials API (from jitendra29:support-withCredentials); r=jdm
The pull request includes the following task:

* Implemented basic network-level support by adding a member to LoadData that is used by http_loader.rs to conditionally exclude cookies from the HTTP request if the flag is false (default true)

Source-Repo: https://github.com/servo/servo
Source-Revision: 217a55a7854ec3a843bb94f50a8952c61d5fcc2a
2015-12-05 04:44:01 +05:01
Alex Gaynor
9ec88dc3d4 servo: Merge #8637 - Always disable SSLv2 and SSLv3 (from alex:disable-ssl); r=Manishearth
These protocols have serious known weakness and our turned off in other browsers.

Source-Repo: https://github.com/servo/servo
Source-Revision: ed65fd29709c9e0bc424aa15c3d895d665a6a342
2015-11-22 09:27:38 +05:01
Alex Gaynor
066c651647 servo: Merge #8611 - Fixed #8594 -- use a more modern default cipher suite list by default (from alex:default-ciphers); r=jvehent
Fixes #8594.

Source-Repo: https://github.com/servo/servo
Source-Revision: ec3437f4e30547884f9faaf153201fad6ab1173f
2015-11-21 20:13:11 +05:01
Ravi Shankar
463343d888 servo: Merge #8523 - Listen for cancellation message during loads and redirects (from Wafflespeanut:redirects); r=jdm
fixes #8495

Source-Repo: https://github.com/servo/servo
Source-Revision: bda46179b6d349eae1b88e2b08a065905236e02d
2015-11-14 18:56:33 +05:01
Josh Matthews
72932e81ea servo: Merge #6935 - Make SSL cert verification errors work again. Add a horrible, no-good… (from jdm:sslverify); r=Manishearth
…, very bad regression test.

Here are the list of awful things this test exploits:
- Servo can't load HTTPS content in WPT tests (#6919)
- Our web workers don't report error events to the parent worker object after the initial network load completes
- Our worker resource load don't have a same-origin check

The good news is that this test should start failing if any of those "features" change, so this should not silently break on us.

Other attempts to test this included:
- iframes (didn't work because of #6672 and #3939)
- XMLHttpRequest (I was hit by CORS, I think; maybe I could have made it work if I returned the right headers)

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 0735cec3513f86d78dc2f1de58304b4ec5e85629
2015-11-13 21:31:57 +05:01
Ravi Shankar
5145b0d710 servo: Merge #7844 - Cancelable network requests! (from Wafflespeanut:requests); r=jdm
fixes #4974

Source-Repo: https://github.com/servo/servo
Source-Revision: 4848e37e2e0da2f83b1d7f0d231d59047012ff95
2015-11-12 18:30:58 +05:01
Abhishek Kumar
698fc67b8e servo: Merge #8216 - M1502: Improve HTTP monitoring devtool support (from akumar21NCSU:master); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 45f07ec320b77ef8fa6511c9dc12598bc5d0f5e0
2015-11-05 22:32:48 +05:01
Nova Fallen
5d3a37181e servo: Merge #8303 - Refactor code dealing with headers of requests and responses #6638 (from nfallen:6638-http_loader); r=eefriedman
Extract the code in load in http_loader.rs that specifically deals with modifying the headers for a request into a separate function. Extract the code that deals with processing the headers for a response into a separate function. This will enable use by websocket code when starting a websocket connection is refactored out of the content process.

Source-Repo: https://github.com/servo/servo
Source-Revision: bb911d772eb075d57a45a39dddd89905a0437166
2015-11-03 23:52:29 +05:01
nxnfufunezn
72d5e9f8e2 servo: Merge #8192 - Accept Brotli-compressed HTTP responses #8156 (from nxnfufunezn:brotli-decompressor); r=jdm
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e4454a42356c0ea9edf67f96922ac96e4d52900
2015-11-01 22:44:21 +05:01
Eli Friedman
fe0f123219 servo: Merge #7984 - Refactor resource loaders to use send_error utility (from eefriedman:net-send-error); r=jdm
No substantial functional change.

Source-Repo: https://github.com/servo/servo
Source-Revision: f35f809938792fbad61fd517187e46c1e009cd16
2015-10-14 13:28:14 -06:00
David Raifaizen
02564b326f servo: Merge #8004 - Removed user agent parameter from being unnecessarily passed (from craftytrickster:user-agent/#7968); r=jdm
https://github.com/servo/servo/issues/7968

Source-Repo: https://github.com/servo/servo
Source-Revision: bc58cd2de05b371f641051eb1038cd29e36bbb01
2015-10-13 16:20:22 -06:00
Corey Farwell
7ef53c6ece servo: Merge #7987 - Fix issues found by rust-clippy (from frewsxcv:clippy); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: eb7039d04d4c83800ba9d92dc251222f79b83040
2015-10-12 18:33:30 -06:00
Corey Farwell
bdb575df39 servo: Merge #7976 - Cleanup code that was warned by rust-clippy (from frewsxcv:clippy); r=jdm
[whitespace agnostic diff](https://github.com/servo/servo/pull/7976/files?w=1)

Source-Repo: https://github.com/servo/servo
Source-Revision: ac1b595609a08c30d6c13dfe6e7705f061bbc010
2015-10-12 04:37:42 -06:00
Rahul Sharma
c2f189a984 servo: Merge #7973 - convert match to if let for location header check #7969 (from creativcoder:fix_issue_7969); r=jdm
@jdm Hi, very eager for my first pull request to Servo. Please review the changes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8dff3be956e7c4d8bc129491e1dfb5295c0027f1
2015-10-12 03:13:28 -06:00
Gökberk Yaltıraklı
7afd007050 servo: Merge #7971 - Use typed header API instead of set_raw in set_default_accept_encoding (from gkbrk:fix_7970); r=nox
Fixes #7970

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b904ef6fb2147841366b4adf07327bc1cdbb1be
2015-10-11 03:20:14 -06:00
Prabhjyot Singh Sodhi
a6dad05d64 servo: Merge #7497 - tests for devtools integration with network requests/responses (from psdh:devtest7473); r=jdm
Fixes #7473

Source-Repo: https://github.com/servo/servo
Source-Revision: 8027777e2409705b1d45cdd4c781e499fd5a7f0d
2015-09-25 11:35:57 -06:00
Ravi Shankar
7d512d50d1 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Maciej Skrzypkowski
20c67c2367 servo: Merge #7707 - Add plugins for compositing and net crates #7699 (from mskrzypkows:compositing_net_plugins); r=jdm
Changed to_string calls to to_owned calls
where was a need.

Source-Repo: https://github.com/servo/servo
Source-Revision: d588ce8d8503bf0b340abfb13e2bd6a228cab900
2015-09-22 07:58:55 -06:00
Sam Gibson
cbd0551cde servo: Merge #7654 - Move HSTS/CookieStorage to Arc<RwLock> from Ipc (from samfoo:hsts-cookie-arc); r=jdm
servo/servo#7421

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f2d81933a6158926ff6d03acbc05f191cd5adb3
2015-09-19 02:01:06 -06:00
Aidan Hobson Sayers
288627acdc servo: Merge #7633 - Remove SslProvider, fixes #7627 (from aidanhs:aphs-remove-sslprovider); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e107f112d87a4cac66e8aa1d5b2daf1e4bcdebc7
2015-09-14 14:57:55 -06:00
João Oliveira
d054140b6d servo: Merge #7549 - Move setting UserAgent header into http_loader::load, (from jxs:master); r=jdm
closes #7541

Source-Repo: https://github.com/servo/servo
Source-Revision: 35c30ab70df6821992769ff7a2b057cfe2f2673c
2015-09-14 08:57:42 -06:00
Eli Friedman
4875f833cb servo: Merge #7523 - Fix up some unnecessary uses of unsafe (from eefriedman:unnecessary-unsafe); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: be9a9ffda10fa2c50b13f79dabd49255f29f12f6
2015-09-09 00:05:17 -06:00
Sean McArthur
0316cdde51 servo: Merge #7418 - Enable HTTP connection pooling (from jdm:httppool); r=jdm
Rebased and adjusted version of #6948. Closes #6948.

Source-Repo: https://github.com/servo/servo
Source-Revision: 366d4a83f1448e115cf998cc6c4e8c564773da65
2015-09-02 10:48:07 -06:00
Prabhjyot Singh Sodhi
74ca083aa3 servo: Merge #7489 - removing unnecessary clones (from psdh:clearClone); r=jdm
Fixes #7485

Source-Repo: https://github.com/servo/servo
Source-Revision: 696ccf67943772c6eb496db729e3c22d5176c4a3
2015-09-01 07:02:56 -06:00
Sam Gibson
b05493adbc servo: Merge #7139 - Testable net load (from samfoo:testable-net-load); r=jdm
*The goal of this PR is to get early feedback on this before I go too far down the rabbit hole. This new code path is working, and there's several tests I've written as a proof of concept. There are still some regressions that I'll be fixing in the coming days.*

I've abstracted out the request/response cycle so that it's no longer dependent on the Hyper request/response structs. Since request/response @ hyper are structs, not traits, it made mocking them for tests impossible.

Current issues/concerns:

* This relies on boxing the `HttpResponse` that gets returned from the `HttpRequester` because `HttpResponse` is unsized. I don't know if there's a more idiomatic rust-y way of doing this?
* This relies on boxing the `Read` that is now returned from `load` for the same reason.
* The devtools and resource manager channels are still passed into `load`. It might be easier to inject these as trait dependencies instead of chans as well?
* Needs more tests.

🎩

#6727

Source-Repo: https://github.com/servo/servo
Source-Revision: 7dda183022f9bee8b4bdffe8b4cf31e09b885d94
2015-08-30 20:07:40 -06:00
Josh Matthews
930db63368 servo: Merge #7436 - Improve debuggability of http_loader panics (from jdm:netthreadname); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 645dd7ba03ea56f01f2e162c590ea047516320ac
2015-08-28 13:14:28 -06:00
Johann Tuffe
5c3a5a67f5 servo: Merge #7265 - Add alphabetical order check for use statements (from tafia:tidy-use); r=Ms2ger
close #7112

Source-Repo: https://github.com/servo/servo
Source-Revision: a5fbb2f2a6fa79755f975feff2435abb6a5dd0e9
2015-08-20 07:43:56 -06:00
João Oliveira
8410286b02 servo: Merge #7225 - Replace uses of for foo in bar.iter() and for foo in bar.iter_mut() (from jxs:master); r=nox
closes #7197

Source-Repo: https://github.com/servo/servo
Source-Revision: a1b3f477aa541fda4d1b6ccb02c3e56143f4d217
2015-08-15 03:03:21 -06:00
wilmoz
f8de174f17 servo: Merge #7140 - Remove Message suffix from NetworkEventMessage (from wilcus:master); r=jdm
https://github.com/servo/servo/issues/7129

Source-Repo: https://github.com/servo/servo
Source-Revision: 15a73614f4ae9f7b00a44aa66d899ab4a5254114
2015-08-11 01:34:47 -06:00
James Graham
a77654c4c2 servo: Merge #6416 - Use hosts-replaced URL only when loading resources (from jgraham:hosts_replaced); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8602d01af2b2081ea1e9d600abdb1ea609a65038
2015-08-05 08:01:03 -06:00
Sam Gibson
34d2f0c3a8 servo: Merge #6722 - Obey Strict-Transport-Security header (from samfoo:sts-headers); r=jdm
Resolves #6703.

Done:

* [x] When STS headers received, add the host to the HSTS list

Todo:

* [ ] Persist the in-memory list so that it's reloaded on the next browser boot
* [ ] Add tests to `http_loader::load` - it's pretty well completely untested right now, but it's a bit gnarly to untangle and without mocking, it's hard to deal with the dependency on making a real network request. Writing a mock request object should be doable for testing, but there's a lot going on in the function right now.

Source-Repo: https://github.com/servo/servo
Source-Revision: f1c26c59f177570a697c420308fb89d9773c7468
2015-08-02 11:14:02 -06:00
Patrick Walton
3b92de7a22 servo: Merge #6586 - script: Make the resource task communication use IPC channels (from pcwalton:resource-task-ipc); r=jdm
This change makes Servo use serialized messages over IPC channels for resource loading. The goal is to make it easier to make Servo multiprocess in the future. This patch does not make Servo multiprocess now; there are many other channels that need to be changed to IPC before that can happen. It does introduce a dependency on https://github.com/serde-rs/serde and https://github.com/pcwalton/ipc-channel for the first time.

At the moment, `ipc-channel` uses JSON for serialization. This is because serde does not yet have official support for bincode. When serde gains support for bincode, I'll switch to that. For now, however, the JSON encoding and decoding will constitute a significant performance regression in resource loading.

To avoid having to send boxed `AsyncResponseTarget` trait objects across process boundaries, this series of commits changes `AsyncResponseTarget` to wrap a sender only. It is then the client's responsibility to spawn a thread to proxy calls from that sender to the consumer of the resource data. This only had to be done in a few places. In the future, we may want to collapse those threads into one per process to reduce overhead. (It is impossible to continue to use `AsyncResponseTarget` as a boxed trait object across processes, regardless of how much work is done on `ipc-channel`. Vtables are fundamentally incompatible with IPC across mutually untrusting processes.)

In general, I was pretty pleased with how this turned out. The main changes are adding serialization functionality to various objects that `serde` does not know how to serialize natively—the most complicated being Hyper objects—and reworking `AsyncResponseTarget`. The overall structure of the code is unchanged, and other than `AsyncResponseTarget` no functionality was lost in moving to serialization and IPC.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 2eb122f394651232abd683fc576a5c4288bf277f
2015-07-31 16:06:36 -06:00
Patrick Walton
8325a09ce0 servo: Merge #6745 - devtools: Convert the developer tools to run over IPC (from pcwalton:devtools-ipc); r=jdm
This was a large, invasive change.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 4bc1db3fe85f2a1a04536f0f6045b53b1319f4bc
2015-07-27 11:09:38 -06:00
Sam Gibson
69f6c7e1ca servo: Merge #6490 - Implement HSTS (preload-only) (from samfoo:hsts-preload); r=jdm
Implement HSTS (preload-only) servo/servo#6105

* Downloads the HSTS preload list from the chromium repo (same as gecko), then convert it to a list appropriate for servo.
* Reads the preload list when creating a resource task, and implements STS for those domains.

Still todo:

* Read Strict-Transport-Security headers from servers and add details to the in-memory HSTS list. (note: this requires hyper or servo to implement an STS header struct. Hyper seems like the appropriate location, so I will create an issue/PR there soon). The work for this is nearly done with the exception of adding a new ControlMsg and the new header.
* Persist HSTS list to disk with known hosts (perhaps a different issue should be raised for this?)

Source-Repo: https://github.com/servo/servo
Source-Revision: ab3d6c472d409c1602c873dcdcb495a7fec9d4b0
2015-07-22 10:23:05 -06:00
Martin Robinson
f7a684b3a0 servo: Merge #6591 - Upgrade to rustc 1.3.0-dev (fddfd089b 2015-07-10) (from servo:rustup_2015-07-10); r=larsbergstrom
Depends on https://github.com/jgraham/webdriver-rust/pull/12.

Fixes #6020.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9af229b83095f2f8cfe7b61003b85ddf781f4ea7
2015-07-14 13:40:22 -06:00
Eduard Burtescu
1ef27572ef servo: Merge #6301 - Use the correct log crate and setup env_logger in main (from eddyb:fix-logging-2); r=larsbergstrom
Fixes #6103.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1587d8a301983b881b038c7e443ba6d1deb1f72f
2015-06-06 15:49:56 -05:00
Manish Goregaokar
def53ee6c3 servo: Merge #6254 - Move to latest hyper everywhere, more package updates (from servo:rustup_20150601); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 20f63459ef198bf96679cbb72355917e7a774265
2015-06-02 12:53:37 -05:00
Corey Farwell
333cc6c59d servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
Simon Sapin
e50563524e servo: Merge #6021 - Upgrade to Hyper 0.4.0 (from SimonSapin:hyperup); r=Manishearth
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 8cacf20a075b3747509897599c37662721d18d1c
2015-05-12 12:42:49 -05:00
Himaja
f9351542b0 servo: Merge #5947 - Extend the developer tools support (from jdm:devtools); r=jdm
Implement HTTP request/response notifications per https://github.com/servo/servo/wiki/More-developer-tools-student-project .

Rebased from #5920.

Source-Repo: https://github.com/servo/servo
Source-Revision: ab589da1f464ed00b0105bc4531690da0118ea5b
2015-05-05 11:52:44 -05:00
Simon Sapin
95c8716656 servo: Merge #5935 - Upgrade Rust (from servo:rustup_2015-04-25); r=Ms2ger
r? everybody

Source-Repo: https://github.com/servo/servo
Source-Revision: 49aed6555dbc008c1a378c5cbb303f5467232b6b
2015-05-05 09:11:30 -05:00
Glenn Watson
59779eeaff servo: Merge #5898 - Handle gzip decompression failure (encountered during jquery test suite work) without panic (from glennw:corrupt-gz); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 738f006afe36a06c8ed4f668904c76ba84e9f1af
2015-04-29 20:03:38 -05:00
Brandon DeRosier
478a939a2f servo: Merge #5424 - Add Accept header to HTTP loader (from bdero:bdero/accept-header); r=jdm
The value of the header is: `text/html;q=0.9,*/*;q=0.8`

Closes #5399

Source-Repo: https://github.com/servo/servo
Source-Revision: 21c38d0de8e82e29d187929535a73bfd297538b8
2015-04-26 22:13:30 -05:00
Ms2ger
126ec4d408 servo: Merge #5847 - Avoid as_slice() / at_mut_slice() (from Ms2ger:slice); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 1389be37823fccf4108f4e79d0a3a793f0bbe93e
2015-04-26 05:30:28 -05:00
Marcus Klaas
fe4dcc74dd servo: Merge #5742 - Replace usage of ResponseSenders by LoadConsumer (from marcusklaas:issue-5718); r=jdm
This closes issue https://github.com/servo/servo/issues/5718.

Source-Repo: https://github.com/servo/servo
Source-Revision: f164cc253eb876d82ab7c52268751db250ef8f8f
2015-04-19 10:10:57 -05:00
Josh Matthews
901eb35f52 servo: Merge #5156 - Support opt-in async network events (from jdm:asyncnet); r=pcwalton,Manishearth
This implements a framework for opting in to receiving network events asynchronously. It also converts XMLHttpRequest to use them, and paves the way for better support for synchronous XHR using on-demand, targeted event loops instead of spinning the global event loop. This gives us complete feature parity with the existing XHR implementation, using fewer threads than before in the async case.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3151497d498b001b4a783dce0595615c6fc40936
2015-04-16 11:33:06 -05:00
Corey Farwell
5c841a0070 servo: Merge #5677 - Update WHATWG links to use HTTPS (from frewsxcv:https); r=Ms2ger
Extracted this out of #5649

This commit was created with the following commands:

```
find . -iname "*.webidl" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

```
find . -iname "*.rs" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 4997d3a112354a407365fede1ab1944834a2e13c
2015-04-14 02:57:41 -05:00
Josh Matthews
c7a04f330e servo: Merge #5568 - Remove int_uint from net (from jdm:net_uint); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: cad27a9d25390cda965c591f180a46061a2c19e9
2015-04-08 01:47:56 -05:00
Josh Matthews
a584e5982d servo: Merge #5005 - Implement MIME sniffing (from jdm:mime-sniffing); r=jdm
This rebases and integrates #4209, removing the sniffer task (turns out it wasn't a great idea), and adds a `--sniff-mime-types` command line flag to enable sniffing for file:// and http:// resources. Tested against a random picture file on my harddrive. The actual MIME sniffing implementation can be extracted into a separate library separately.

Source-Repo: https://github.com/servo/servo
Source-Revision: c7e210f24c97be1057a652b3644332e7043bfeac
2015-04-07 12:48:06 -05:00