Commit graph

3812 commits

Author SHA1 Message Date
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
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
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
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
Patrick Walton
847929cb07 plugins: Forbid trait casts of rooted objects.
This was a quick soundness improvement and didn't break anything.
2015-07-30 11:54:01 -07:00
bors-servo
3792bd7611 Auto merge of #6852 - huonw:fix-alignment, r=pcwalton
Avoid undefined behaviour by allocating with align 1.

The allocation APIs require that the alignment is a power-of-two;
meaning 1 is the "I don't care" alignment, not 0.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6852)
<!-- Reviewable:end -->
2015-07-30 12:35:26 -06:00
Simon Sapin
bd3be999fe Pick up string-cache cross-compilation fixes.
https://github.com/servo/string-cache/pull/102
2015-07-30 20:19:34 +02:00
Huon Wilson
b42117fe0c Avoid undefined behaviour by allocating with align 1.
The allocation APIs require that the alignment is a power-of-two;
meaning 1 is the "I don't care" alignment, not 0.
2015-07-30 10:49:42 -07:00
bors-servo
14947172d6 Auto merge of #6845 - metajack:gleamup, r=SimonSapin
Update gleam to 0.1.7

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6845)
<!-- Reviewable:end -->
2015-07-30 11:02:41 -06:00
David Zbarsky
36145d0686 Return None as style for elements not in a document 2015-07-30 12:36:08 -04:00
Simon Sapin
2b62041997 Remove usage of the deprecated box () (expr) syntax. 2015-07-30 18:01:44 +02:00
Simon Sapin
6737be1fb1 Remove usage of the deprecated OwnedAsciiExt 2015-07-30 18:01:41 +02:00
Simon Sapin
85aa1658cc Have our copy of the now deprecated std::env::page_size 2015-07-30 17:31:50 +02:00
Simon Sapin
47b07ae2e4 Enable unstable feature in string-cache.
See https://github.com/servo/string-cache/pull/95
2015-07-30 17:16:30 +02:00
Simon Sapin
930921b0c3 Upgrade to rustc 1.3.0-dev (87055a68c 2015-07-30) 2015-07-30 17:04:52 +02:00
bors-servo
82e476fd07 Auto merge of #6181 - brunoabinader:mouseover-status, r=larsbergstrom
Implement Msg::Status with serialized url upon mouseover

Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and
fixed the url serialization.

Fixes #6178.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6181)
<!-- Reviewable:end -->
2015-07-30 08:45:31 -06:00
Bruno de Oliveira Abinader
b3927d5a2d Implement Msg::Status with serialized url upon mouseover
Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and
fixed the url serialization.

Fixes #6178.
2015-07-30 16:37:54 +03:00
bors-servo
ccd341cc68 Auto merge of #6842 - mrobinson:preserve-gl, r=pcwalton
Update to the latest skia

Now GLRasteizationContexts require having an active GLContext. This will
allow preserving GLContexts and possibly framebuffers between
rasterization sessions, improving GL Rasterization performance.

Linux Before:
+ Painting Per Tile    4.5559    4.3392  1.6920  18.5548 74
Painting             170.1554  151.8353  0.0008 350.1093 28

Linux After:
+ Painting Per Tile    3.8726    3.1299  1.5848  12.6732 62
Painting              13.5480   10.8947  0.0029  39.1198 23

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6842)
<!-- Reviewable:end -->
2015-07-30 07:29:38 -06:00
Martin Robinson
813d435e6d Update to the latest skia
Now GLRasteizationContexts require having an active GLContext. This will
allow preserving GLContexts and possibly framebuffers between
rasterization sessions, improving GL Rasterization performance.

Linux Before:
+ Painting Per Tile    4.5559    4.3392  1.6920  18.5548 74
Painting             170.1554  151.8353  0.0008 350.1093 28

Linux After:
+ Painting Per Tile    3.8726    3.1299  1.5848  12.6732 62
Painting              13.5480   10.8947  0.0029  39.1198 23
2015-07-30 06:24:00 -07:00
bors-servo
c5060fce9f Auto merge of #6846 - Ms2ger:2661-comment, r=jdm
Remove an obsolete comment I missed in #6804.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6846)
<!-- Reviewable:end -->
2015-07-30 06:10:56 -06:00
bors-servo
325bf6f2d9 Auto merge of #6843 - pcwalton:glutinup, r=metajack
servo: Update Glutin to pick up event handling fixes

r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6843)
<!-- Reviewable:end -->
2015-07-30 05:16:37 -06:00
bors-servo
5873a5cf20 Auto merge of #6800 - frewsxcv:childnode-before-childnode-after, r=Ms2ger
Implement ChildNode::before & ChildNode::after

Continued from #6536

The current implementations of `ChildNode::before` and
`ChildNode::after` do not match the WHATWG spec. This commit updates the
implementations to match the spec.

Our current implementation of `ChildNode::after` passes all the WPT
tests. So I made sure to add a regression test that failed with the
current implementation. There are a few other unit tests I added
to exhaust other corner cases I encountered.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6800)
<!-- Reviewable:end -->
2015-07-30 04:13:39 -06:00
bors-servo
9e8d231196 Auto merge of #6783 - dzbarsky:replacechild, r=Ms2ger
Clean up Node::ReplaceChild



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6783)
<!-- Reviewable:end -->
2015-07-30 02:11:57 -06:00
Ms2ger
e8cff1d2a2 Remove an obsolete comment I missed in #6804. 2015-07-30 09:36:47 +02:00
bors-servo
12c46ddd61 Auto merge of #6841 - pcwalton:squash-animation-ticks, r=metajack
script: Squash duplicate animation tick events in the queue.

This prevents them from piling up endlessly if the JS
`requestAnimationFrame()` callback takes a long time to complete.

r? @jdm

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6841)
<!-- Reviewable:end -->
2015-07-30 00:04:17 -06:00
Jack Moffitt
bc2de7f2c0 Update gleam to 0.1.7 2015-07-29 22:38:36 -06:00
bors-servo
3a112bc07f Auto merge of #6834 - jdm:named-constructor-prototype, r=Ms2ger
Use an actual byte string when defining the prototype of named constr…

…uctors. Fixes #6730.

r? @Ms2ger

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6834)
<!-- Reviewable:end -->
2015-07-29 22:07:35 -06:00
Patrick Walton
91ce54f38a servo: Update Glutin to pick up event handling fixes 2015-07-29 18:42:27 -07:00
bors-servo
bff5e325a8 Auto merge of #6802 - nnethercote:report-kind, r=jdm
Add a `kind` field to memory reports.

This is used for two memory reporting improvements.

- It's used to distinguish "explicit" memory reports from others. This
  mirrors the same categorization that is used in Firefox, and gives a single
  tree that's the best place to look. It replaces the "pages" tree which
  was always intended to be a temporary stand-in for "explicit".

- It's used to computed "heap-unclassified" values for both the jemalloc
  and system heaps, both of which are placed into the "explicit" tree.

Example output:
```
|  114.99 MiB -- explicit
|      52.34 MiB -- jemalloc-heap-unclassified
|      46.14 MiB -- system-heap-unclassified
|      14.95 MiB -- url(file:///home/njn/moz/servo2/../servo-static-suite/wikipe
dia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyc
lopedia.html)
|          7.32 MiB -- js
|             3.07 MiB -- malloc-heap
|             3.00 MiB -- gc-heap
|                2.49 MiB -- used
|                0.34 MiB -- decommitted
|                0.09 MiB -- unused
|                0.09 MiB -- admin
|             1.25 MiB -- non-heap
|          1.36 MiB -- layout-worker-3-local-context
|          1.34 MiB -- layout-worker-0-local-context
|          1.24 MiB -- layout-worker-1-local-context
|          1.24 MiB -- layout-worker-4-local-context
|          1.16 MiB -- layout-worker-2-local-context
|          0.89 MiB -- layout-worker-5-local-context
|          0.38 MiB -- layout-task
|             0.31 MiB -- display-list
|             0.07 MiB -- local-context
|       1.56 MiB -- compositor-task
|          0.78 MiB -- surface-map
|          0.78 MiB -- layer-tree
```
The heap-unclassified values dominate the "explicit" tree because reporter
coverage is still quite poor.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6802)
<!-- Reviewable:end -->
2015-07-29 19:42:00 -06:00
bors-servo
acbca7b3aa Auto merge of #6798 - dzbarsky:gCS, r=pcwalton
Implement getComputedStyle

It's not quite done but can probably be reviewed anyway.
I still need to finish up a few of the ToCss impls, I just got lazy and wanted to make sure things worked.

The computation of the used values is definitely not right, I'm going to investigate that.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6798)
<!-- Reviewable:end -->
2015-07-29 18:48:45 -06:00
Patrick Walton
01e5c513a9 script: Squash duplicate animation tick events in the queue.
This prevents them from piling up endlessly if the JS
`requestAnimationFrame()` callback takes a long time to complete.
2015-07-29 17:32:21 -07:00