Commit graph

6793 commits

Author SHA1 Message Date
Glenn Watson
e2af261361 Update gleam 0.2.6 -> 0.2.8 2016-03-08 09:31:32 +10:00
bors-servo
fee7cb179e Auto merge of #9850 - nikkisquared:2_async_2_furious, r=jdm
Set response.body Asynchronously In Fetch

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.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9850)
<!-- Reviewable:end -->
2016-03-08 04:45:25 +05:30
Nikki
b187985e49 set response.body asynchronously in Fetch 2016-03-07 15:09:39 -07:00
Simon Sapin
62034b956e Replace usage of deprecated std::cell::Ref::filter_map 2016-03-07 18:53:38 +01:00
Anthony Ramine
c424d54c67 Properly use "pub extern crate" 2016-03-07 17:13:46 +01:00
Arpad Borsos
c880c97b1b rename deprecated utf16_units to encode_utf16 2016-03-07 16:14:04 +01:00
Ms2ger
d5b559c37c Bonus fix: Rewrite get_image_or_meta_if_available in an imperative style.
I believe this is more readable.
2016-03-07 14:30:23 +01:00
Ms2ger
1064c3dca0 Move the receivers out of the ImageCache struct. 2016-03-07 14:29:49 +01:00
Ms2ger
9c75ddfe66 Inline ImageCache::do_run. 2016-03-07 14:15:47 +01:00
Ms2ger
9c4f2265d0 Use the select! macro in ImageCacheThread. 2016-03-07 14:13:33 +01:00
Ms2ger
6de127a343 Move the ImageCacheThread's closure into a function. 2016-03-07 14:08:41 +01:00
Anthony Ramine
7c1dd54895 Update to Rust 2016-03-05 2016-03-06 10:36:49 +01:00
bors-servo
64fb09ca2d Auto merge of #9800 - Wafflespeanut:node_attrs, r=nox
fixed the last failing test in dom/nodes/attributes.html

r? @nox

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9800)
<!-- Reviewable:end -->
2016-03-05 21:32:46 +05:30
Anthony Ramine
c5af2f27c3 Bump regex and regex-syntax 2016-03-05 15:51:51 +01:00
Ravi Shankar
aaf2888d0b Updated SupportedPropertyNames in NamedNodeMap to match spec 2016-03-05 17:21:01 +05:30
Glenn Watson
52fa387383 Update ipc-channel.
Fixes #9882.
2016-03-05 15:34:00 +10:00
bors-servo
69f52d0f21 Auto merge of #9873 - metajack:mach-run-bhtml, r=ecoal95
Adds browserhtml dependency and mach run --browserhtml

This makes the experience for testing browserhtml super easy.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9873)
<!-- Reviewable:end -->
2016-03-05 04:33:18 +05:30
bors-servo
49e9594fb9 Auto merge of #9852 - bholley:stylo_uplifts_3, r=bholley
Stylo uplifts 3

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9852)
<!-- Reviewable:end -->
2016-03-05 01:48:35 +05:30
Bobby Holley
4da1171474 Stop using servo UA stylesheets for geckolib.
Gecko will provide these. This also removes the need to reference
the servo resource directory.
2016-03-04 11:46:32 -08:00
Simon Sapin
142610265e Add the -servo-overflow-clip-box property. 2016-03-04 19:47:20 +01:00
Simon Sapin
7126fdfc10 Add a mechanism for "internal" CSS properties
… that can only be parsed in a user-agent stylesheet.
2016-03-04 19:46:54 +01:00
Jack Moffitt
1615f173f7 Add browserhtml package 2016-03-04 10:23:27 -07:00
bors-servo
c37a086660 Auto merge of #9786 - peterjoel:fix_codegen_is_array_like, r=jdm
Fixed compile error in generated code, when webidl constructors have same number of args

One of the ways that generated code differentiates constructors is by comparing if the args are array-like. The generated code was calling a function `IsArrayLike` that no longer exists. I re-implemented it with a more rust-like naming scheme.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9786)
<!-- Reviewable:end -->
2016-03-04 15:14:20 +05:30
bors-servo
12466b8706 Auto merge of #9866 - metajack:refix-shadow-hit-test, r=pcwalton
Unrevert the fix for hit testing through shadows

This was originally #9428 but got accidentally reverted during rebase in

Fixes #9865.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9866)
<!-- Reviewable:end -->
2016-03-04 08:36:12 +05:30
bors-servo
08b9fe0c00 Auto merge of #9863 - larsbergstrom:appveyor2, r=edunham
Fix Windows build and add AppVeyor support

Proof of success: https://ci.appveyor.com/project/larsbergstrom/servo/build/1.0.15

Fixes #9767

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9863)
<!-- Reviewable:end -->
2016-03-04 07:41:08 +05:30
bors-servo
1c63bf9822 Auto merge of #9861 - pcwalton:superflat, r=glennw
Flatten the WebRender API to allow us to use shared memory to transfer display lists.

Improves performance significantly.

Requires servo/webrender_traits#15 and servo/webrender#222.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9861)
<!-- Reviewable:end -->
2016-03-04 06:45:45 +05:30
bors-servo
aba500a698 Auto merge of #9858 - glennw:anim-smoothness, r=pcwalton
Fix animation smoothness when using requestAnimationFrame.

Previously, the flow for ticking animations was:

Compositor -> Constellation -> Layout -> Script

However, this means that the compositor <-> layout messages can thrash, meaning layout thread is very rarely idle.

This means that the script thread (which joins on the layout thread during reflow) was unable to execute and run rAF callbacks.

With this change, the flow is now:

Compositor -> Constellation -> Script (when rAF is active).
Compositor -> Constellation -> Layout (when transitions / animations are active and no rAF is present).

This makes rAF based animation *much* smoother.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9858)
<!-- Reviewable:end -->
2016-03-04 05:50:50 +05:30
Jack Moffitt
f7aa6a32e9 Unrevert the fix for hit testing through shadows
This was originally #9428 but got accidentally reverted during rebase in

Fixes #9865.
2016-03-03 17:04:55 -07:00
Patrick Walton
5e17325e54 Flatten the WebRender API to allow us to use shared memory to transfer
display lists.

Improves performance significantly.

Requires servo/webrender_traits#15 and servo/webrender#222.
2016-03-03 14:44:48 -08:00
bors-servo
37bcc161fe Auto merge of #9832 - metajack:suppress-reflows, r=mbrubeck
Suppress reflows before RefreshTick or FirstLoad

This fixes a bug where partially loaded content is displayed to the user
before it should be, usually before stylesheets have loaded. This commit
supresses reflows until either FirstLoad or RefreshTick, whichever comes
first.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9832)
<!-- Reviewable:end -->
2016-03-04 04:00:30 +05:30
Jack Moffitt
2507bfb2cf Suppress reflows before RefreshTick or FirstLoad
This fixes a bug where partially loaded content is displayed to the user
before it should be, usually before stylesheets have loaded. This commit
supresses reflows until either FirstLoad or RefreshTick, whichever comes
first.

Unfortunately, hit_test and mouse_over did not do reflows if they were
necessary, and so by suppressing the initial spurious reflows, these
methods started to panic without a display list to query. This patch
also transforms these into queries similar to the other existing
queries.
2016-03-03 15:17:46 -07:00
UK992
5d24f7c6b7 Fix build on Windows 2016-03-03 16:17:19 -06:00
Glenn Watson
92061132f3 Fix animation smoothness when using requestAnimationFrame.
Previously, the flow for ticking animations was:

Compositor -> Constellation -> Layout -> Script

However, this means that the compositor <-> layout messages can thrash, meaning layout thread is very rarely idle.

This means that the script thread (which joins on the layout thread during reflow) was unable to execute and run rAF callbacks.

With this change, the flow is now:

Compositor -> Constellation -> Script (when rAF is active).
Compositor -> Constellation -> Layout (when transitions / animations are active and no rAF is present).

This makes rAF based animation *much* smoother.
2016-03-04 07:26:00 +10:00
bors-servo
55fc48e4c4 Auto merge of #9843 - pcwalton:optimize-flat-display-lists, r=mrobinson
Optimize flat display lists

Flat display lists were a 2x regression on the spheres demo. This patch series fixes that.

See the individual commits for more details.

r? @mrobinson

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9843)
<!-- Reviewable:end -->
2016-03-04 02:49:04 +05:30
Patrick Walton
117e92aefd layout: Minor whitespace cleanup. 2016-03-03 13:09:57 -08:00
Patrick Walton
d3d2dd05f2 layout: Switch display list building from bottom-up to top-down.
This eliminates a lot of allocations and O(n^2) behavior.
2016-03-03 13:09:56 -08:00
Patrick Walton
f4b95dd00b layout: Remove the validate_display_list_geometry debugging tool.
I don't think anyone was using it, and it's incompatible with taking
display lists out of flows.
2016-03-03 13:09:55 -08:00
Patrick Walton
72a52e23e0 layout: Don't call establishes_stacking_context() so much.
That function is expensive because it has to check a lot.
2016-03-03 13:09:54 -08:00
Patrick Walton
dd5c574d7f gfx: Switch offsets to an FNV hasher.
SipHash traffic was showing up high in the profile.

Unfortunately, this necessitated a manual implementation of the serde
traits.
2016-03-03 13:09:53 -08:00
Patrick Walton
940bff1f9c gfx: Stop cloning clipping regions so much.
Clipping regions can contain vectors and so can be expensive to copy.
2016-03-03 13:09:50 -08:00
Patrick Walton
983576ebaa gfx: Avoid copying stacking contexts around so much during stacking
context creation.
2016-03-03 13:09:49 -08:00
Patrick Walton
4233e0f163 gfx: Box stacking contexts to minimize memmove traffic.
`memmove` was showing up high in the profile when concatenating and
shorting display lists. This change drastically reduces the `memmove`
cost in exchange for some minor additional allocation cost.
2016-03-03 13:09:48 -08:00
Peter
3e78b54d46 Fixed compile error in generated code, when webidl constructors have same number of args
Edited test webidl to show issue, and fix
2016-03-03 20:21:48 +00:00
Corey Farwell
75353e19a7 Indicate components should not be published to crates.io.
http://doc.crates.io/manifest.html#the-publish--field-optional
2016-03-03 15:04:44 -05:00
bors-servo
056a7cf1a2 Auto merge of #9715 - ecoal95:mousemove, r=mbrubeck
script: Fix MouseOver handling

Now we only query for the topmost node, and apply the hover state to all
of the parent elements.

This fixes things like #9705, where the hover state was applied only to
the children.

This also makes us more conformant with other browsers in the case of
taking in account margins and paddings.

For example, prior to this PR, when your mouse was over the inner
element, in the bottom part, `hover` styles didn't apply to the parent.

```html
<style>
div {
  padding: 10px;
  margin: 10px;
  height: 15px;
  background: blue;
}

div:hover {
  background: red;
}
</style>

<div>
  <div></div>
</div>
```

Fixes #9705

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9715)
<!-- Reviewable:end -->
2016-03-03 22:55:35 +05:30
Bob
17e6007685 send correct url to devtool on request
Send url that was not modified by the hosts file to the dev tools
2016-03-03 17:15:29 +00:00
bors-servo
46256b33ef Auto merge of #9825 - creativcoder:remove-contructor-xmldoc, r=KiChjang
removed XMLDocument constructor according to spec

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9825)
<!-- Reviewable:end -->
2016-03-03 17:41:03 +05:30
Rahul Sharma
f8cddf5a22 removed XMLDocument constructor according to spec 2016-03-03 17:01:33 +05:30
Glenn Watson
a768ffb4bc Update webrender. Fixes #9846. 2016-03-03 11:28:03 +10:00
Emilio Cobos Álvarez
3662491d8f Refactor mouseover code to be more performant
This increases mouseover/out performance drastically on my machine.
2016-03-02 20:14:15 +01:00