Commit graph

60 commits

Author SHA1 Message Date
Raghav
f2c2d3f13a 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
Nick Price
ad7fb4b344 servo: Merge #14623 - #14514 Implement port-based blocking (from DominoTree:master); r=emilio
<!-- Please describe your changes on the following line: -->
Add check for bad ports to http_fetch(), return NetworkError::Internal if bad port/schema combination is seen.

Test added

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

<!-- Either: -->
- [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: de7d73adb0a51627e4aaa568787fe36c22029bd3
2016-12-24 03:41:14 -08:00
Ms2ger
21e8d08889 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
Ms2ger
809c5ea727 servo: Merge #14537 - Remove Request::done (from servo:request-done); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a599a836497e185f19aeaddb5b6526e83298fbc
2016-12-10 02:23:40 -08:00
Ms2ger
c99b4c9adc 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
7b343fddb8 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
Ms2ger
366f5975d5 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
f15dfb6ad6 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
Ms2ger
8ab209f1c0 servo: Merge #14275 - Remove the dependency of fetch on filemanager_thread::UIProvider (from servo:fm-ui); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d287f58d3fdc1fb00c3f7f7a205cd40524f0b4b3
2016-11-21 18:28:19 -06:00
Emilio Cobos Álvarez
9747761479 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
Corey Farwell
a53793b757 servo: Merge #14156 - Update CORS naming from 'CORS' to 'Cors' (from frewsxcv:cors-capitalization); r=KiChjang
As per:

https://aturon.github.io/style/naming/README.html#general-conventions-[rfc-#430]

Acronyms should be considered one word and not all caps.

Source-Repo: https://github.com/servo/servo
Source-Revision: e3f07dfa1673950f5aad44e1be6d3667172343b6
2016-11-10 14:43:36 -06:00
Ms2ger
c1e5c03fc6 servo: Merge #14127 - Make Response::url private (from servo:response-new-url); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: d8a0a0003252391d6130cca5f64b9738255e224a
2016-11-10 09:19:52 -06:00
Ms2ger
18aae602c3 servo: Merge #14138 - Pass a borrowed fetch context to fetch() (from servo:fetch-context); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: 9d1c1f434d74665b7cd1ed14ef3733fe3d03deeb
2016-11-08 23:40:38 -06:00
Ms2ger
9154b28fa0 servo: Merge #14106 - Deindent some of the code in http_network_fetch (from servo:deindent-http-network-fetch); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 32a953f0bacb245e507d2a5125907b5ce724e332
2016-11-08 00:03:24 -06:00
Ms2ger
97f58c2868 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
Ms2ger
1f63e83efb servo: Merge #14105 - Stop unnecessarily wrapping the response argument to http_redirect_fetch in Rc (from servo:rm-rc); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 3b5d1f2814bcac1432e0ee8e4c079d23fcfdc280
2016-11-07 11:47:37 -06:00
Ms2ger
8f63ddaa76 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
Ms2ger
6893308344 servo: Merge #13961 - Move remaining users of the legacy networking stack to fetch (from servo:sync-fetch); r=jdm
Fixes #13931.
Fixes #13714.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56f4a691dbe3f885b029b7a76924f6018f0894af
2016-11-02 10:59:18 -05:00
Ms2ger
a368498d31 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
8fbfd097f1 servo: Merge #13750 - Implement blob url support in the fetch stack (from servo:fetch-blob); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: d692cf1085b264cb5787017b11d77f59793ecc21
2016-10-14 07:20:05 -05:00
Corey Farwell
d18207ebdd 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
Jan Zerebecki
2559ab51da servo: Merge #13467 - Remove same-origin-data-url flag from fetch implementation (from JanZerebecki:rm-same-origin-data-url); r=KiChjang
<!-- Please describe your changes on the following line: -->

The spec removed it. Check the scheme instead, data is always same origin now,
except for workers.
Closes #13362

---
<!-- 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 #13362 .

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they only remove code.

<!-- 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: e494dedce5e5215d6d0953ab28668825234237dc
2016-10-01 05:19:05 -05:00
Ms2ger
9ade3d5c56 servo: Merge #13388 - Avoid a possible deadlock in main_fetch's synchronous code (from servo:deadlock); r=emilio
On playpen, similar code caused a deadlock on 1.11 stable, and worked fine
on nightly 1.13; it seems safer to avoid the pattern entirely.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d5a05d112fb7063fdcec603da2ddf0cecc0a8ac
2016-09-24 01:44:09 -05:00
Keith Yeung
b6928297e8 servo: Merge #12472 - Use fetch infrastructure to load external scripts (from KiChjang:use-fetch-in-script); r=jdm
Fixes  #9186.

Source-Repo: https://github.com/servo/servo
Source-Revision: f357afc94ac437c4323bcc4d46c2767ccef73b73
2016-09-21 18:49:33 -05:00
Nicolas
6a4c65a368 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
7fcfe64515 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
Malisa Smith
e63eef1fc2 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
Chiu-Hsiang Hsu
fcb21e0e46 servo: Merge #13071 - Solved wrong referrer policy in cors_preflight_fetch (from wdv4758h:cors_preflight_fetch); r=jdm
Solved wrong referrer policy in cors_preflight_fetch

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13026
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: f66382f75c80c7d8141c30348304600e5155b057
2016-08-27 05:20:46 -05:00
hsinewu
39df08131b servo: Merge #13069 - pass request value instead of constant (from hsinewu:#13025); 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 #13025

<!-- Either: -->
- [X] These changes do not require tests because stated in the issue

<!-- 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: b399fcb54bf721b745f2313dabadc1f4363db6c9
2016-08-26 23:07:34 -05:00
Anthony Ramine
aba45bce81 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
64c09a7eda 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
d9cfabcbb1 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
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
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
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
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
Keith Yeung
119a304cda servo: Merge #11129 - Use read_block in http_network_fetch (from KiChjang:fetch-read-block); r=jdm
Previously the commented out code was not working because there was a deadlock situation where `res_body` is being locked and borrowed to read the inner `body` if it is a `ResponseBody::Receiving` variant, and then locked and borrowed mutably to change `res_body` to `ResponseBody::Done`.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: e2a5b1cb710b4c5d19d0493e2a304152c42feabe
2016-05-11 23:44:15 -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
Joshua Holmer
d83d68c31a servo: Merge #10971 - Remove CacheRequestDetails (from shssoichiro:remove-cacherequestdetails); r=KiChjang
Fixes #10904

Note that the related web-platform-tests failed both before and after this commit

Source-Repo: https://github.com/servo/servo
Source-Revision: 3128a71ac703bf7579f0fcac9d03655756e8b6c7
2016-05-02 19:58:14 -07:00
Ramana Venkata
3b1084584e servo: Merge #10896 - Implement fetching file URL's (from vramana:basic_fetch_file); r=KiChjang
closes #10166

Source-Repo: https://github.com/servo/servo
Source-Revision: fbf98214c91ce3bb52c32ec4a5e121023843f1eb
2016-04-29 22:54:20 -07:00
Daniel Robertson
2650d582c6 servo: Merge #10867 - Fix logic for cors cache match (from danlrobertson:sandbox); r=KiChjang
The current logic for a cors cache match does not consider "credentials is false and request's credentials mode is not "include" or credentials is true."

I could have missed something, but `CacheRequestDetails::credentials` is set to true if credentials mode is "include", and false otherwise. So `(!cors_cache.credentials && !cors_req.credentials) || cors_cache.credentials` would be directly following the spec, but unless I'm mistaken `cors_cache.credentials || !cors_req.credentials` is logically the same.

Fixes: #10525
Source-Repo: https://github.com/servo/servo
Source-Revision: 3d38a60cee8a2e19ae8f04df7c2374fc9d97999c
2016-04-28 13:36:05 -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
Keith Yeung
3f162e1b39 servo: Merge #10189 - Implement CORS preflight fetch (from KiChjang:cors-preflight-fetch); r=jdm
Fixes #10145.

Source-Repo: https://github.com/servo/servo
Source-Revision: d21ff2fa137155e8db649c100886962300a58140
2016-04-13 20:59:25 +05:01
Nazım Can Altınova
b732a4f93f servo: Merge #10501 - Removed unused imports from methods.rs (from canaltinova:master); r=KiChjang
Fixes #10500

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a3d6850c686695a6a4c4f0e78bc19da6dfaddb2
2016-04-10 00:52:04 +05:01
Keith Yeung
0fc85c69ce servo: Merge #10471 - Use mime! macro in fetch methods (from KiChjang:mime-macro); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 217e45006bc04a932650cbfda52388ce1d2a5698
2016-04-08 21:31:15 +05:01
Rahul Sharma
707ce17295 servo: Merge #10272 - implements data-url fetching (from creativcoder:implement-data-url-fetch); r=jdm
Fixes #10165
jdm mentioned of decoupling the, payload loading mechanism to data_loader.rs. So accordingly a `decoder` method has been added to data_loader.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f892edd87441393e5de00790a5abb7fc93a09de
2016-04-01 14:43:30 +05:01
Stjepan Glavina
fdd7bf05a2 servo: Merge #10154 - Fix #10147: Correctly handle flag local_urls_only (from stjepang:fix-local-urls-only-10147); r=KiChjang
In function Request::fetch_main, flag local_urls_only (if set)
should allow fetching local urls only. Before this change, the flag had
the inverse behaviour.

Fixes #10147.
Test with: `./mach test-unit -p net fetch::test_fetch_with_local_urls_only`

Source-Repo: https://github.com/servo/servo
Source-Revision: 38e8c923b519f488cd0614ff9409997998418cc7
2016-03-25 12:13:48 +05:01
Stjepan Glavina
50512a2a04 servo: Merge #10167 - Fix fetching about:blank (from stjepang:fix-aboutblank-body); r=KiChjang
When fetching about:blank, response body should be the empty byte
sequence.
Spec: https://fetch.spec.whatwg.org/#concept-basic-fetch

Before this change, response body would be set to `ResponseBody::Empty`,
and then fetching would result in an infinite loop at step 19 in fn
`main_fetch` (methods.rs).

r? @KiChjang

Source-Repo: https://github.com/servo/servo
Source-Revision: 446783f7b6f0b55164b3b3c3e8be90c2b392cf97
2016-03-24 16:11:19 +05:01
Ms2ger
f23fc0b384 servo: Merge #9951 - Use a match rather than unwrap() in main_fetch (from Ms2ger:fetch-unwrap); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: 20992c9df9463b9d5426b1eb4b00381fd2cf35c5
2016-03-11 07:58:19 +05:01
Ms2ger
725d1d8308 servo: Merge #9940 - Fix warnings in the fetch code (from Ms2ger:fetch-warnings); r=asajeffrey
Source-Repo: https://github.com/servo/servo
Source-Revision: 0359fb8ed8c2bd509a69335822ef7c8feb081994
2016-03-09 20:22:30 +05:01