Commit graph

12333 commits

Author SHA1 Message Date
Michael Howell
a93b4bba6d test-tidy fixes. 2015-07-31 21:49:01 -07:00
Michael Howell
f82f46680e UI cheeze. 2015-07-31 21:24:23 -07:00
Michael Howell
6749bed1f5 Fix it so it actually exits correctly. 2015-07-31 21:24:23 -07:00
Michael Howell
c602af2050 Integrate dromaeo with mach. 2015-07-31 21:24:22 -07:00
Michael Howell
ff217106d3 First try at Dromaeo test runner. 2015-07-31 21:24:21 -07:00
bors-servo
9e96cf2c69 Auto merge of #6881 - metajack:fix-num-jobs, r=jdm
Update deps for NUM_JOBS fixes



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6881)
<!-- Reviewable:end -->
2015-07-31 18:17:57 -06:00
bors-servo
9a2f28ae33 Auto merge of #6839 - dzbarsky:atoms, r=jdm
Use static atoms in HTMLFormElement

Need to update to new string-cache first, which I think requires a rustup?

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6839)
<!-- Reviewable:end -->
2015-07-31 17:07:36 -06:00
David Zbarsky
d5f8cb3330 Use static atoms in HTMLFormElement 2015-07-31 19:05:51 -04:00
Jack Moffitt
df964131cd Update deps for NUM_JOBS fixes 2015-07-31 17:04:56 -06:00
bors-servo
2eb122f394 Auto merge of #6586 - pcwalton:resource-task-ipc, r=jdm
script: Make the resource task communication use IPC channels.

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

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6586)
<!-- Reviewable:end -->
2015-07-31 16:06:36 -06:00
Patrick Walton
61e3a9545e script: Fix test failures. 2015-07-31 15:03:39 -07:00
Anthony Ramine
a49eb14615 Cache the number of children of each node 2015-07-31 23:32:30 +02:00
bors-servo
a54404c921 Auto merge of #6876 - metajack:slice_chars-layout, r=pcwalton
Use local slice_chars

StrExt::slice_chars is deprecated and will be removed in Rust. This
lifts the implementation from Rust libstd and puts it in util::str.

This fixes a bunch of deprecation warnings in Servo.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6876)
<!-- Reviewable:end -->
2015-07-31 12:54:49 -06:00
Patrick Walton
024c4df912 script: Fix merge fallout. 2015-07-31 11:28:09 -07:00
Patrick Walton
2aa5174246 script: Make the resource task communication use IPC channels. 2015-07-31 11:28:09 -07:00
Patrick Walton
44d13f7fd4 net: Use a thread for each AsyncResponseTarget to avoid having to send
trait objects across process boundaries.
2015-07-31 11:27:49 -07:00
Patrick Walton
9c9d7dc93b net: Make most of the resource task messages serializable. 2015-07-31 11:27:49 -07:00
Jack Moffitt
dae1a398a4 Use local slice_chars
StrExt::slice_chars is deprecated and will be removed in Rust. This
lifts the implementation from Rust libstd and puts it in util::str.

This fixes a bunch of deprecation warnings in Servo.
2015-07-31 12:23:13 -06:00
bors-servo
7e77285745 Auto merge of #6869 - servo:unstable-h5e, r=metajack
Update rust-selectors and enable unstable features.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6869)
<!-- Reviewable:end -->
2015-07-31 10:47:49 -06:00
bors-servo
c4480b5d03 Auto merge of #6795 - pcwalton:display-list-e10s-fixes, r=glennw
Send display lists over IPC in multiprocess mode.

This patch set introduces the `--multiprocess` (`-M`) switch. Right now, all it does it cause display lists to be serialized, but eventually it will cause actual processes to be spawned.

r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6795)
<!-- Reviewable:end -->
2015-07-31 09:43:40 -06:00
Patrick Walton
17ead8716b Update rust-core-text 2015-07-31 08:43:03 -07:00
Patrick Walton
e9ec9289d6 gfx: Instantiate the CTFont corresponding to a Mac font on demand.
This avoids panics in multiprocess mode.
2015-07-31 08:42:30 -07:00
Patrick Walton
1ff7a51f0a compositing: Use an OptionalIpcSender for communication between the
layout and paint tasks.
2015-07-31 08:42:30 -07:00
Patrick Walton
3be5bbbaa3 gfx: Split the paint messages into layout and chrome messages, and make
the layout messages serializable.
2015-07-31 08:42:29 -07:00
Patrick Walton
f041e1aa60 util: Remove the old broken SerializableLinkedList code in favor of
serde's native implementation.
2015-07-31 08:42:29 -07:00
Patrick Walton
ef9fdc6e30 util: Add a multiprocess command-line option and implement
`OptionalIpcSender<T>`.

`OptionalIpcSender<T>`dynamically switches between in-process and
out-of-process communication depending on whether multiprocess mode is
enabled.

The multiprocess command-line switch doesn't actually turn on
multiprocess mode yet, but it does control the behavior of
`OptionalIpcSender<T>`.
2015-07-31 08:42:29 -07:00
Simon Sapin
80867917af Update rust-selectors and enable unstable features. 2015-07-31 17:36:43 +02:00
bors-servo
33bc16fe35 Auto merge of #6868 - servo:unstable-h5e, r=metajack
Update html5ever and enable unstable features.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6868)
<!-- Reviewable:end -->
2015-07-31 08:47:38 -06:00
Simon Sapin
9d4ee559e5 Update html5ever and enable unstable features. 2015-07-31 16:41:08 +02:00
bors-servo
ca9f9226b0 Auto merge of #6853 - akiss77:rand-0_3_9-bump, r=jdm
Bump up rand dependency to 0.3.9

That's the first version with the correct getrandom syscall number
for aarch64-unknown-linux-gnu.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6853)
<!-- Reviewable:end -->
2015-07-31 06:52:58 -06:00
bors-servo
8419b15a34 Auto merge of #6865 - glennw:root-fixes, r=pcwalton
Fix panic when html element has display: table.

Ref #6643

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6865)
<!-- Reviewable:end -->
2015-07-31 02:10:40 -06:00
Akos Kiss
b887445623 Bump up rand dependency to 0.3.9
That's the first version with the correct getrandom syscall number
for aarch64-unknown-linux-gnu.
2015-07-31 08:01:47 +00:00
Glenn Watson
7dbffeed20 Fix panic when html element has display: table. 2015-07-31 16:40:06 +10:00
Simon Sapin
06ba62b012 Remove some PropertyDeclaration cloning. 2015-07-31 08:09:25 +02:00
Simon Sapin
d2bd070dc3 Refactor CSSStyleDeclaration::setProperty to not synthesize a name: value string to parse. 2015-07-31 08:09:24 +02:00
Simon Sapin
e2984349ed Add a test for CSSStyleDeclaration.setPropertyPriority 2015-07-31 08:09:24 +02:00
Simon Sapin
1033886409 Fix CSSStyleDeclaration.setPropertyPriority
Before, it was a complicated no-op. (`parse_style_attribute` expects
input like `a: b; c: d;`, when given just a name it return an empty
vector.)
2015-07-31 08:08:36 +02:00
Simon Sapin
1094ce202c Show Mako template errors on the console 2015-07-31 08:08:36 +02:00
bors-servo
1fc50c6ccf Auto merge of #6863 - pcwalton:null-layer-id, r=glennw
compositing: Don't count the root layer when checking to see when to take the screenshot.

 … as it isn't painted after first layout comes in.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6863)
<!-- Reviewable:end -->
2015-07-30 23:58:05 -06:00
bors-servo
ff0549a923 Auto merge of #6857 - dzbarsky:rm-test, r=metajack
Delete unneeded test now that DOMTokenList.toggle exists



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6857)
<!-- Reviewable:end -->
2015-07-30 21:52:19 -06:00
Patrick Walton
1589fe5404 compositing: Don't count the root layer when checking to see when to
take the screenshot, as it isn't painted after first layout comes in.
2015-07-30 20:04:43 -07:00
bors-servo
a1c491e4d0 Auto merge of #6861 - mbrubeck:hyperup, r=metajack
Update to hyper 0.6.6

r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6861)
<!-- Reviewable:end -->
2015-07-30 20:53:16 -06:00
bors-servo
fd211dcc92 Auto merge of #6855 - pcwalton:more-rooting-soundness, r=Manishearth
plugins: Forbid trait casts of rooted objects.

r? @Manishearth

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6855)
<!-- Reviewable:end -->
2015-07-30 18:20:53 -06:00
bors-servo
e458dca65b Auto merge of #6835 - metajack:cssparserup, r=Ms2ger
Update to latest rust-cssparser.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6835)
<!-- Reviewable:end -->
2015-07-30 17:24:38 -06:00
Jack Moffitt
154b5fd6da Update to latest rust-cssparser.
This also updates wpt tests for new CSS Level 4 color parsing, and
disables the relevant CSS tests until they can be updated (tracked
by #6856).
2015-07-30 16:41:14 -06:00
Matt Brubeck
f212c97651 Update to hyper 0.6.6 2015-07-30 15:38:44 -07:00
bors-servo
e42fddd9cc Auto merge of #6851 - dzbarsky:gCS, r=jdm
Return None as style for elements not in a document



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6851)
<!-- Reviewable:end -->
2015-07-30 16:30:57 -06:00
bors-servo
df722ec1de Auto merge of #6740 - mbrubeck:bitflags, r=larsbergstrom
Upgrade openssl, selectors, and cocoa

This lets Servo use one version of bitflags for all dependencies.

r? @larsbergstrom or @Ms2ger

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6740)
<!-- Reviewable:end -->
2015-07-30 15:44:12 -06:00
Matt Brubeck
63d39a464f Upgrade cocoa, openssl, and selectors 2015-07-30 14:19:08 -07:00
bors-servo
4837dd9a1c Auto merge of #6850 - servo:rustup_2015-07-30, r=SimonSapin
Upgrade to rustc 1.3.0-dev (87055a68c 2015-07-30)

This builds and passes unit tests.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6850)
<!-- Reviewable:end -->
2015-07-30 14:46:13 -06:00