Commit Graph

177 Commits

Author SHA1 Message Date
Josh Matthews
9471a57d1d servo: Merge #16489 - Show HTTP response headers in debug output (from jdm:http-response); r=asajeffrey
- [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 they are changing informative debug output.

Source-Repo: https://github.com/servo/servo
Source-Revision: 86aa4e89c53fbf80f70fa3622cba2140b42a3b35
2017-04-17 11:30:29 -05:00
Anthony Ramine
b7ae6ba202 servo: Merge #16288 - Kill ResourceGroup (from nox:net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8f2ceb41dd1a039f1d0150dcb1c4e2ba6b22afa2
2017-04-07 05:53:31 -05:00
Josh Matthews
6dd764a3ca servo: Merge #15784 - Make SSL tests work (from jdm:ssltests); r=nox,jgraham
These changes fix #6919.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3fd8238ce1f7b2eb74d4fccbe76cfac8aa2335a
2017-04-06 05:53:14 -05:00
Josh Matthews
0157718d4b servo: Merge #16262 - Enable HTTP connection pooling (from jdm:connection-pool); r=nox
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15694
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: c2f3cf020531f6fcf05b164ca699cd827114136c
2017-04-05 08:09:23 -05:00
Anthony Ramine
ec40ecb77c servo: Merge #16256 - Another batch of net enhancements 🕶 (from nox:net); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 5421d833de30e0c963bc6241120263897d4fc68c
2017-04-04 06:25:33 -05:00
Anthony Ramine
59dd2e1fee servo: Merge #16214 - Improve the net crate (from nox:net); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: c31ee6e300d9c0eb1e5671abba14f0584a910460
2017-04-03 07:47:38 -05:00
Anthony Ramine
3b8bd93e16 servo: Merge #16230 - Introduce create_ssl_client (from nox:ssl); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2df6e26fd726cded0e4f91ebd92e47669ffcc940
2017-04-02 09:12:44 -05:00
ddh
f4513cce0d servo: Merge #15868 - Update Hyper and OpenSSL (from servo:hyper); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 82b0d5ad54d94a29f595d59cbb37dcbab5d5a5c8
2017-03-31 11:46:09 -05:00
Fernando Jiménez Moreno
a65995ab54 servo: Merge #16156 - Update http_network_or_cache_fetch according to spec (from ferjm:issue-16130-http-network-or-cache-fetch); r=jdm
There are still many steps blocked by the absence of an HTTP cache and the inability to trigger a credentials dialog.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f9dbcc8080e5763553d316261e2d158c19ce6f1
2017-03-29 19:38:45 -05:00
Anthony Ramine
0d4fc362cc servo: Merge #16180 - Make the WebSocket handshake ourselves 🍷 (from nox:tungstenite); r=jdm
HYPE

Source-Repo: https://github.com/servo/servo
Source-Revision: 76a2c9705a34d651a11caac98b4b023c79657368
2017-03-29 12:55:38 -05:00
Anthony Ramine
f2153a95e8 servo: Merge #16160 - Some enhancements in the net crate (from nox:tungstenite); r=jdm
See the individual commits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 299f9446e6c8b289ac0c88b97614a272e7b2ca32
2017-03-29 03:33:53 -05:00
Anthony Ramine
019e46e7e3 servo: Merge #16131 - Use NetworkConnector directly to account for replaced hosts (from nox:tungstenite); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1105100c3beb9cff3a71677937269ecc523f2924
2017-03-26 10:17:16 -07:00
Fernando Jiménez Moreno
7469118cfe servo: Merge #15889 - Allow for redirects after a CORS-preflight (from ferjm:issue-14519-cors-preflight); r=avadacatavra
~Continue the work done in #14811 and #15547~. And applies the Fetch [spec change](0d9a4db8bc) about [allowing redirects after CORS preflights](https://github.com/whatwg/fetch/issues/204).

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix ~#14787 and~ #14519
- [X] There are tests for these changes. Several WPTs go from FAIL to SUCCESS. The new expected FAILs for the cors/redirect-preflight.htm tests are caused by the spec change done [here](0d9a4db8bc), as suggested in the associated [issue](https://github.com/servo/servo/issues/14519#issuecomment-284384667).

Source-Repo: https://github.com/servo/servo
Source-Revision: c90d3d2f06c03d153b2be3ffa9a941cbfe8508cc
2017-03-10 07:49:35 -08:00
Sam Giles
cd0ed47083 servo: Merge #15903 - Set Origin header in http_network_or_cache_fetch (from servo:set-origin-header); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: a11a3fe68bad97970568f7d785a41bd00b707e92
2017-03-09 22:15:11 -08:00
Ms2ger
fc41a7886d servo: Merge #15849 - Remove unused content blocker code (from servo:content-blocker); r=nox
I don't know what it is for, so I believe it would be better to remove it
entirely until and unless we start using it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b60a409c1f5f4dd069a04cc736643682dd4117b
2017-03-08 02:08:19 -08:00
Connor Brewster
a2ecca5cf6 servo: Merge #15438 - Add ImmutableOrigin to allow for serializing origins (from asajeffrey:url-serializable-origin); r=jdm
<!-- Please describe your changes on the following line: -->

This PR adds a serializable type `ImmutableOrigin` and a non-serializable type `MutableOrigin`. The immutable type represents an origin with `null` domain, and the mutable type represents an origin with a mutable domain. This separation is needed for implementing setting `document.domain`.

---
<!-- 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 #14892.
- [X] These changes do not require tests because it's a refactoring which will enable other features.

<!-- 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: 78e8c31a4d1890260dda83f2db85672f693c1e97
2017-02-22 09:46:27 -08:00
mrnayak
19c268d2e4 servo: Merge #14865 - Implement Subresource Integrity (from mrnayak:sri-fetch); r=jdm
Implemented response validation part of https://w3c.github.io/webappsec-subresource-integrity/.
Implemented step eighteen of the main fetch. If a request has integrity metadata, then following steps are performed
1) Wait for response body
2) If the response does not have a termination reason and response does not match request’s integrity metadata, set response and internalResponse to a network error.

Dependency updated: html5ever-atoms from 0.1.2 to 0.1.3. This will not completely fix #14523, It will implement changes related to response validation. Request validation algorithm implementation needs CSP.

I did not update any WPT-Test. In my local system, I found some assertion issue dependent on the order of execution of test-case. It would be helpful if someone could do "try" build on these changes to get wpt results.

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] 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: f958dafcaeed643f1232a23f5c2d4f6ba141bfea
2017-01-07 23:14:37 -08:00
Matt McCoy
bb212c6779 servo: Merge #14784 - Updating http_network_or_cache_fetch to better match the fetch API spec (from mattnenterprise:fetch-api-updates); r=jdm,KiChjang
<!-- 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 #14742

<!-- Either: -->
- [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: 987b640c54c86c020dc4948be2a41fd58e8ade02
2017-01-02 11:30:51 -08:00
Raghav
78d93bf941 servo: Merge #14716 - Implement HSTS fetch step (from mrnayak:hsts); r=jdm
Implemented step nine of the main fetch. If current URL scheme is 'HTTP' and
current URL's host is domain and if current URL's host matched with Known
HSTS Host Domain Name Matching results in either a superdomain match with
an asserted includeSubDomains directive or a congruent match then we
change request scheme to 'https'. This change has been made in method.rs

A test case to validate this has been added in fetch.rs. For asserting
https scheme, a https localhost was required. For this purpose I have
created a self-signed certificate and refactored fetch-context and
connector.rs to programmatically trust this certificate for running this
test case.

This should fix https://github.com/servo/servo/issues/14363
<!-- 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 #14363

<!-- Either: -->
- [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: c7991d596f7453d09c2b2a98eecce72f182a4e24
2016-12-29 00:35:09 -08:00
Matt McCoy
1a78945e45 servo: Merge #14741 - Reuse the http connector pool between fetches (from mattnenterprise:use-http-connection-pool); 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 #14697

<!-- Either: -->
- [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: 7e3c9e21978b638b8f17192500251843f3743d1c
2016-12-27 07:59:22 -08:00
Keith Yeung
7b89ae41e0 servo: Merge #14491 - Add domain and path checks for secure cookies eviction (from KiChjang:cookie-checks); r=jdm
Fixes #14477.

Source-Repo: https://github.com/servo/servo
Source-Revision: b13afccb8a4e922f66c77a92914e6505c62ae483
2016-12-23 15:26:46 -08:00
Ms2ger
aa52a6d5a2 servo: Merge #14465 - Make the fetch target non-optional (from servo:http); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b2daae453e9276977059fd51c9b733e6400f35c
2016-12-15 14:02:42 -08:00
Alan Jeffrey
965a687125 servo: Merge #14592 - Remove the util crate (from asajeffrey:util-goodbye); r=mbrubeck
<!-- Please describe your changes on the following line: -->

This PR removes the `util` crate.

* Replaced the `spawn_named` and `clamp` functions by appropriate uses of `std:🧵:Builder::spawn`, `std::cmp::min` and `std::cmp::max`.
* Moved `opts`, `prefs` and `resource_files` into a new `config` crate.
* Moved `remutex` and `geometry` into their own crates.

---
<!-- 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 they are refactorings

<!-- 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: 4eb653817f87e5fb47de34356f558eb76ecbca9f
2016-12-14 16:48:42 -08:00
Ms2ger
135c6607db servo: Merge #14508 - Rewrite determine_request_referrer() to explicitly limit it to the checks it can do (from servo:determine_request_referrer); r=jdm,frewsxcv
Checks for the Client value should reside in the script thread.

I also noted some other issues in this code.

Source-Repo: https://github.com/servo/servo
Source-Revision: 882d5512bb9aa7263864fb18d702c1efb6401914
2016-12-09 13:13:27 -08:00
Ms2ger
dbcafcd123 servo: Merge #14502 - Replace an unidiomatic use of filter_map() (from servo:filter-map); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: da2f41ba134ee05df0fae659cc2ead562584dd80
2016-12-08 15:12:42 -08:00
Ms2ger
b38cd40fba servo: Merge #14501 - Remove LoadError (from servo:LoadError); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: fffdcc1d7d7eb0e9aa0dd35ed2ec748fb1b3b047
2016-12-08 14:22:17 -08:00
Ms2ger
32c4d95c82 servo: Merge #14496 - Stop handling a None referrer policy in determine_request_referrer() (from servo:option-refpol); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e3d4d272de53e77334b1c32d3e3737f935c4cde
2016-12-08 11:52:35 -08:00
Raghav
71c43d7ffd servo: Merge #14445 - Redesign CookieStorage and Implement Leave Secure Cookie Alone (from mrnayak:netSecurity); r=jdm
CookieStorage has been refactored to use HashMap with the base domain as the key. Values of hashmap are vector of cookies.
CookieStorage now has max_per_host which restricts maximum cookies that can be added per base domain.
Cookie eviction does not take place if max_per_host is not reached.
Cookie eviction logic implemented here does following steps
1) Evict all expired cookies
2) Remove oldest accessed non-secure cookie If any
3) When no non-secure cookie exists, remove oldest accessed secure cookie if new cookie being added is secure. Else ignore new cookie

---
<!-- 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: -->
- [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: b05c27cb58e8d625f4f436b6e9e1f0c29e908f21
2016-12-04 15:30:46 -08:00
Michael Mokrysz
ab07d41ac7 servo: Merge #14420 - Made http_redirect_fetch error for non-HTTPS. #14069 (from 46bit:master); r=KiChjang
Hi! I'm a newbie looking to resolve #14069.

The [existing tests](https://dxr.mozilla.org/servo/source/tests/wpt/web-platform-tests/fetch/api/redirect/redirect-schemes.html) now pass.

Cheers!

---
<!-- 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 #14069 (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: b3745d6f3526de395dd9ad23056334767091bf89
2016-11-30 22:45:36 -08:00
Ms2ger
804790d177 servo: Merge #14362 - Simplify the http_loader code (from servo:fetch-http-move); r=Wafflespeanut
Source-Repo: https://github.com/servo/servo
Source-Revision: a093b56c84cd66e4629c1e252134b523a49f751d
2016-11-25 20:20:26 -08:00
Ms2ger
a14f79beb1 servo: Merge #14360 - Remove the legacy networking stack (from servo:fetch); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 1321c0704dead3421221cb7581fa261a82603f87
2016-11-24 03:20:05 -08:00
Pu Xingyu
209cd007a1 servo: Merge #14274 - Implement range index with the Position enum on ServoUrl (from stshine:servo-url-index); 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 refactoring

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

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: ac6a2681ae9f94827ebd989c3d3c3b175cbb455f
2016-11-20 12:35:14 -06:00
Anthony Ramine
327aeb61de servo: Merge #14284 - Use FnvHasher in http_loader::load (from nox:fnv); r=Wafflespeanut
Should help with #11100.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e34f4cb5b691dad5fc9c87aaaabafaaf368c1c3
2016-11-19 19:18:10 -06:00
Emilio Cobos Álvarez
592972be51 servo: Merge #14246 - Urlmageddon (from emilio:servo-url); r=SimonSapin
<!-- Please describe your changes on the following line: -->

Still needs a bunch of code in net to be converted in order to get more
advantage of this for images and stuff, but meanwhile this should help quite a
bit with #13778.

Still wanted to get this in.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 22aebdf5d41a3509cd6515ccf5edcdf33715a76d
2016-11-17 15:34:47 -06:00
Ms2ger
b5c242484b servo: Merge #14204 - Remove the network.http.redirection-limit preference (from servo:redirection-limit); r=jdm
The Fetch standard defines this value as twenty; there is no good reason to
allow changing that at runtime.

Source-Repo: https://github.com/servo/servo
Source-Revision: bcd409cf4af7cdef6527af853f1c27410c8a6781
2016-11-14 08:39:26 -06:00
Ms2ger
248fc8d35f servo: Merge #14133 - Log debug messages when devtools is not notified about a HTTP request (from servo:debug-net-devtools); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 3410242df8cb324434f85230acccba986dad3773
2016-11-09 00:32:02 -06:00
Ms2ger
c80f66cd7b servo: Merge #14114 - Start using fetch for the HTTP unit tests (from servo:fetch-unit-http); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a7ea7242935a9bea9ac82f82dd22b5ac8aad673
2016-11-07 22:04:27 -06:00
gurudarshan266
5493a95fe6 servo: Merge #14059 - Network Security : Implement StrictOrigin and StrictOriginWhenCrossOr… (from mrnayak:refPolicy); r=nox
This pull request contains commit implementing initial steps for Improving Network Security project. As part of initial steps referer policy enums for strict-origin and strict-origin-when-cross-origin have been added to [hyper](https://github.com/hyperium/hyper/pull/943). Unit tests and additional logic has been added to handle these policies. Since enum changes are available on hyper version 0.9.11. We had to update hyper version to 0.9.11.

Hyper 0.9.11 depends on num_cpus 1.1.0. To avoid different version of num_cpus. We have updated rayon version from 0.4.0 to 0.4.3. Cargo.toml of util, style, geckolib, stylo component has been updated to use num_cpus version 1.1.0 instead of 0.2.2.

---
<!-- 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
- [ ] 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. -->

…igin

Referer policy strict-origin and strict-origin-when-cross-origin changes have been implemented. Relevant unit test cases have been added. Enum for RefererPolicy has been added to hyper codebase and v 0.9.11 of hyper contains these changes.

This commit also contains changes related to upgrade of hyper from v0.9.10 to v0.9.11. Other dependencies changed are rayon, utils, num_cpus.

Source-Repo: https://github.com/servo/servo
Source-Revision: dd34b2a3355dc7fa23d118888359d70f8b445db8
2016-11-07 04:37:35 -06:00
Ms2ger
f0dde1dbd5 servo: Merge #13816 - Move some types out of msg (from servo:msg-crate); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: be58dc36e85414a4d47e6c69f1dd520d300cb50c
2016-11-04 05:26:27 -05:00
Alan Jeffrey
d3bcf1f2e3 servo: Merge #13646 - Script lookup iframes by frameid (from asajeffrey:script-lookup-iframes-by-frameid); r=ConnorGBrewster
<!-- Please describe your changes on the following line: -->

Lookup iframes by `FrameId` rather than `PipelineId`. This should make lookup much more reliable, since the frame id doesn't change.

cc @ConnorGBrewster @aneeshusa
---

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

<!-- 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: ce725c9475b9fb97a8559b29c1e7a080633cd002
2016-11-03 18:11:05 -05:00
Ms2ger
05bd7057b7 servo: Merge #13742 - Use the fetch stack for documents (from servo:fetch-documents); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ba2fb4e2e29125e66ed1d6a129735858604709fc
2016-11-02 03:26:42 -05:00
Ms2ger
dad629341c servo: Merge #13854 - Avoid some unnecessary clones when handling cookies (from servo:cookie-url-clones); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e77ecccc482fd84ebea96c9cb70223fea909c8a4
2016-10-20 07:42:02 -05:00
Corey Farwell
4e51e0083d servo: Merge #13680 - Migrate user agent string to Cow<'static, str> (from frewsxcv:user-agent-cow); r=nox
In most scenarios, where the user of Servo will not override the default
user agent, the user agent can be a `&'static str`. But since we allow
for customization, we currently use a `String` to represent the user
agent. This commit migrates the user agent to be represented as a
`Cow<'static, str`, which (at the cost of ergonomics) prevents
unnecessary allocations whenever cloning the user agent string in the
scenario the user doesn't override the user agent.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4dcd223e8370816f8d0a424d9e31492aa4755f47
2016-10-11 04:04:20 -05:00
Nicolas
9322c49dd3 servo: Merge #13294 - Fix most typoes for: "referer" -> "referrer" (from 6112:referrer-typo-fix); r=jdm
Replace most uses of the word "referer" with "referrer", except for `hyper::header::Referer`. Also update the unit tests to compile & pass after those changes.

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

<!-- Either: -->
- [ ]  There are tests for these changes OR
- [X] These changes do not require tests because they're only typo fixes.

<!-- 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: 8ccfffaa774a05fa12db09c872cc59c4bf070ab2
2016-09-16 15:43:54 -05:00
Bryan Gilbert
d555d3411d servo: Merge #13281 - Update basic auth cache to key off of origin instead of url (from gilbertw1:basic-auth-cache-clean); r=jdm
This pull request's primary purpose is to store basic auth credentials based on the url origin instead of the entire url. This fixes an issue where servo continuously prompts the user for credentials any time a basic auth secured resource is requested even though the user has already entered auth credentials for a different resource from the same origin.

The test associated with this PR hides image redirects behind a python handler that requires basic authentication. The reference page loads two images by directly specifying the image to load, while the test page loads the two images using the basic auth redirect handler with only the first image tag providing auth credentials.

I'd like to point a few specific items for review:
* url::Origin does not derive ```Hash```, so I am using ```ascii_serialization``` as the cache key. This seems like a stable enough representation.
* I've updated the http loader to store credentials not only on Success responses, but Redirect responses as well. I stumbled on this because nginx was redirecting 'test' -> 'test/' in my testing, and other browsers were storing the credentials on the redirect response vs. prompting for credentials a second time.
* In the test I'm using a timeout to load the second image (without authentication), otherwise the order that the images were loaded was unpredictable.

---
<!-- 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 related to these changes
- [x] These changes fix #12095  (github issue number if applicable).

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

Source-Repo: https://github.com/servo/servo
Source-Revision: e5b998791749819540c1c7a59d07058c8978978b
2016-09-16 11:05:52 -05:00
UK992
a6ebcb8483 servo: Merge #13205 - Tidy: Fix ordering use statements with braces (from UK992:tidy-sort); r=Wafflespeanut
This hack fixes https://github.com/servo/servo/issues/7412 and matches behavior with rustfmt.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3117787fd2a8b7748cfde1e9b8c5be3c00f2c599
2016-09-08 22:19:19 -05:00
Malisa Smith
914985a7b7 servo: Merge #13058 - Response API (from malisas:malisa-responseAPI); r=Manishearth,jdm
<!-- Please describe your changes on the following line: -->
This PR adds the [dom::Response](https://fetch.spec.whatwg.org/#response-class) implementation and addresses #11896.

The relevant passing tests` expectations have been updated.

In order to allow non-UTF-8-encoded status messages, `net_traits::response::Response`'s `raw_status` field has been changed from type [`Option<RawStatus>`](https://doc.servo.org/hyper/http/struct.RawStatus.html) to type `Option<(u16, Vec<u8>)>`. As a result, a few other files which rely on the `raw_status` field were affected and updated.

TODOs:
- The `body` and `trailer` methods. Relies on implementation of `ReadableStream` and `Promise`s.
- Similarly, replace the dummy constructor `_body: Option<USVString>` argument with `body: ResponseBodyInit`.
- Currently, whenever `r's response's header list` or `r's Headers object` are mentioned, I always modify the `headers_reflector` field (of type dom::Headers, or `r's Headers object`) and not the corresponding hyper::Headers list in the net_traits::Response field. A completely accurate interpretation of the spec might consider making both of these lists the same thing via a reference. [Discussion](https://github.com/whatwg/fetch/issues/358) was [had](https://github.com/servo/servo/pull/12884).

---
<!-- 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: -->
- [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: 5a5a76cc5db830d2e622d4e0924837383b64dfa2
2016-09-08 18:58:05 -05:00
Anthony Ramine
75472b0266 servo: Merge #12890 - Lessen pressure on the thread-local RNG (from nox:rng-pressure); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 2b74e94b730cfbf35dda7d5bc5775810a578eebc
2016-08-16 05:19:37 -05:00
Anthony Ramine
6bb66d30be servo: Merge #12828 - Update serde to 0.8 (fixes #12659) (from nox:serde); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9abe9e450b54ef9151bbee1aa0bd2dedb685fa7a
2016-08-12 12:23:10 -05:00
ddh
8dd5ee7bbc servo: Merge #12502 - Added devtools support to fetch for XHR (from avadacatavra:devtools); r=jdm
<!-- Please describe your changes on the following line: -->

Added devtools support for fetch for XHR, but devtools can't show the request in the XHR tab. I've attached a picture of an XHR request in devtools.

<img width="694" alt="screenshot 2016-07-19 11 07 55" src="https://cloud.githubusercontent.com/assets/11877868/16944480/210b0e8a-4da1-11e6-8288-48005ede33f6.png">

---
<!-- 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 #11774  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I don't know how to automate devtools testing for this

<!-- 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: b5fe7db8b451f86777fb5c8d1f086319be8170c2
2016-07-29 11:44:20 -05:00