Commit Graph

41 Commits

Author SHA1 Message Date
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
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
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
Ms2ger
9d0b1f2a0b servo: Merge #15880 - Remove unused content-blocker dependency from unit tests (from servo:content-blocker); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 1794c6673a80209e77c0c4205de072deac741b1f
2017-03-09 02:14:38 -08:00
Anthony Ramine
0b37b55252 servo: Merge #15670 - Kill the plugins crate and its clippy support (from nox:die-plugins-die); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 14bbe9d8729dece2d80bb651bca1c2eda13d0429
2017-02-21 05:15:15 -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
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
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
3026c601a7 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
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
4a6d530995 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
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
Ms2ger
e5ab9f2b9c servo: Merge #14063 - Privatize most of the net crate (from servo:privatize-net); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: c62ce53efa75c1d817669253036c2621caac88bf
2016-11-06 05:19:37 -06:00
Ms2ger
da30d5240e servo: Merge #14042 - Rewrite the data_loader test with fetch (from servo:fetch-unit-data); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 05f4512433c108d00b7bac3a50243aefea7f153c
2016-11-03 13:04:48 -05:00
Alan Jeffrey
cd436f3587 servo: Merge #13517 - Moved pub_domains to net_traits and did a spring clean (from asajeffrey:net-traits-pub-domain); r=mbrubeck
<!-- Please describe your changes on the following line: -->

Moved the `pub_domains` module from `net` into `net_traits`, so it can be used by crates which don't depend on `net` (in particular `constellation`, which can use the crate for testing similar-origin).

I also did quite a bit of tidying up, the functions now do no heap allocation, previously there was quite a bit of String allocation going on.

This is the next step to fixing #633. cc @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] There are tests for these changes (new unit tests)

<!-- 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: 128a61eb9d7a7dbb3ad8bdd9218efcc171229c61
2016-09-30 21:57:36 -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
Florian Duraffourg
96046d8d19 servo: Merge #11513 - Add mach command to update public domain list and use a HashSet for matching (from fduraffourg:pr11216); r=jdm
<!-- Please describe your changes on the following line: -->
Add a `mach update-pub-domains` command that update the public domain list used by servo.
Replace the Vec matching with a HashSet which is way quicker.

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

<!-- 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: 4dbba2dcabbde11b01a95078ba75742aff3fc44d
2016-06-09 12:54:42 -05:00
Anthony Ramine
b589b04372 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
Zhen Zhang
123fd63cfe servo: Merge #11368 - Fix FileManager thread panic and other misc improvements (from izgzhen:fix-filemanager-exit); r=asajeffrey
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] There are tests for these changes

Changes:

- Add shut down logic for FileManager thread
- Add an unit test for filemanager_thread

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b64586bf5368f6bb200353205459c7ec88f7052
2016-05-24 22:17:15 -05:00
Josh Matthews
45497d1279 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
Florian Duraffourg
0c87924251 servo: Merge #11196 - Add unit tests for cookies handling (from fduraffourg:master); 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 #9965

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

Add unit tests for the `net` component about cookies. The tests are generated
with a new `mach update-net-cookies` command from this repo: https://github.com/abarth/http-state.

This PR also includes two trivial bug fixes about cookie handling.

From all the tests included, the following ones are currently failing:

- cookie_http_state::test_0003
- cookie_http_state::test_0006
- cookie_http_state::test_attribute0004
- cookie_http_state::test_attribute0005
- cookie_http_state::test_attribute0007
- cookie_http_state::test_attribute0008
- cookie_http_state::test_domain0017
- cookie_http_state::test_mozilla0001
- cookie_http_state::test_mozilla0002
- cookie_http_state::test_mozilla0003
- cookie_http_state::test_mozilla0005
- cookie_http_state::test_mozilla0007
- cookie_http_state::test_mozilla0009
- cookie_http_state::test_mozilla0010
- cookie_http_state::test_mozilla0013

`test_000[36]` and `test_mozilla*` are failing because there is currently no
method to clean a `net::cookie_storage` from expired cookies.

`test_attribute000[4578]` are failing because hyper does not parse the `Secure`
attribute correctly. I will open an issue on the upstream project.

`test_domain0017` fails because the TLD .org is not on the PUB_DOMAINS list.

Source-Repo: https://github.com/servo/servo
Source-Revision: c519739b7bcf408f2f671a89729aa30f39dd67a1
2016-05-17 16:34:16 -07:00
Josh Matthews
334df4c358 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:49:22 +05:00
Yoav Alon
63087373c2 servo: Merge #10677 - update url crate (from yoava333:master); r=jdm
This fixes https://github.com/servo/servo/issues/10548

Source-Repo: https://github.com/servo/servo
Source-Revision: 8819dab4e3e13414c99844c81bfa2d7cf2bee687
2016-04-18 06:10:03 +05:00
Nikki
1d928dfbfb servo: Merge #9525 - Test filtered responses and implement Cors Check Fetch step (from nikkisquared:test_filtered_responses); r=asajeffrey
I've been writing tests for creating filtered responses. So far I have three of the four types being made (namely, Basic, CORS, and Opaque), and just need to figure out how to make an OpaqueRedirect filtered response, since it's handled separately from the others. I will also add more tests to ensure the content of the filtered responses matches the limitations placed by the specification.

Along the way I implemented Cors Check, since it's required for the CORS filtered response. @jdm suggested I handle it in here, since it's such a small step, compared to other parts of Fetch.

Since all the tests currently pass, and I've spent a while adding the Cors Check and other pieces, I figured now would be a good time to start having it reviewed.

Source-Repo: https://github.com/servo/servo
Source-Revision: f1018b84a838ec8505f6a0bcb6e13286ce80a95c
2016-02-10 02:41:22 +05:00
Nikki
eb0e752814 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:50:05 +05:00
rohan.prinja
c098aafd20 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8
2016-01-10 15:19:04 +05:00
Corey Farwell
9ecc9181d1 servo: Merge #8622 - Implement 'url!(..)' macro (from frewsxcv:url-plugin); r=SimonSapin
https://github.com/servo/rust-url/issues/136

https://github.com/servo/rust-url/pull/137

Source-Repo: https://github.com/servo/servo
Source-Revision: ea690a2dff64d1cb4eb668473d62f1bbcb19f7c8
2015-11-21 20:40:52 +05:00
Abhishek Kumar
d602de3d7f 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:31:48 +05:00
Prabhjyot Singh Sodhi
ce8c60fc69 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
Manish Goregaokar
3e8738a6e4 servo: Merge #7697 - Rust upgrade to rustc 1.5.0-dev (6217b002b 2015-09-21) (from servo:rustup_20150921); r=Ms2ger
Snapshot doesn't exist yet. Rust master+ should work.

Also https://github.com/serde-rs/aster/pull/33 hasn't merged yet.

r? @Ms2ger @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: f7f16870bebdc9359661544054259b37780f1331
2015-09-23 06:45:18 -06:00
Sam Gibson
e1e9ee181b 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
Sam Gibson
5e535fa6c6 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
Patrick Walton
cd66568bea 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
Sam Gibson
a39c05c1c8 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
Ms2ger
ba32727574 servo: Merge #6459 - Update to rustc 2d0cbf3e3e25e092bd9e4c94d08e446b680869f0 (from servo:rustup_20150625); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 21b48fc44d0b32627918b4778fed16203eecdba5
2015-06-25 12:03:15 -06:00
Simon Sapin
b72bb5e7d5 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
Nicholas Nethercote
afeab10374 servo: Merge #5912 - Add a profile_traits crate to reduce compile times (from nnethercote:profile_traits); r=Manishearth
A rebuild after touching components/profile/mem.rs now takes 48 seconds (and
only rebuilds `profile` and `servo`) which is much lower than it used to be.
In comparison, a rebuild after touching components/profile_traits/mem.rs takes
294 seconds and rebuilds many more crates.

This change also removes some unnecessary crate dependencies in `net` and
`net_traits`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 77f653da2c4120ea7ac1a946d97fc70059d513d4
2015-04-30 20:02:33 -05:00
Glenn Watson
1511f427f8 servo: Merge #5767 - Refactored image cache task - details below (from glennw:image-cache); r=larsbergstrom,jdm
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0645c2363b5a6ea3930b0857b3a27f1b6d033f
2015-04-22 19:16:46 -05:00
Simon Sapin
d713c2ab5a servo: Merge #5776 - Split the unit tests crate (from servo:split-unit-tests); r=mbrubeck
Closes #5707. (Includes a rebase of it.)
Fixes #5688.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: f795440ee3be976d9819b011d4add7ceee3ade1e
2015-04-21 14:06:22 -05:00