Commit Graph

4524 Commits

Author SHA1 Message Date
zmike
bfeb75368e servo: Merge #6890 - implement display_handler::on_status_message for cef (from zmike:hashtag_tooltip); r=metajack
r+? @jdm @larsbergstrom @metajack @pcwalton @anyone with r+

Source-Repo: https://github.com/servo/servo
Source-Revision: 42a9756df0676d479a0b5ef8c093e9c845194428
2015-08-02 01:02:58 -06:00
Patrick Walton
9fc5bcecfb servo: Merge #6894 - style: Switch animation timestamps to be doubles instead of floats (from pcwalton:double-precision-timestamps); r=metajack
32-bit floats are not enough to hold timestamps since the epoch and
result in jank.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 92cbb9368471d12f0d5492abd7e04b16df549366
2015-08-01 22:01:39 -06:00
Bogdan Cuza
fa993d4367 servo: Merge #6714 - Implement a FileList (from boghison:filelist); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b7261a2073dcb66473907dbb25282f05f9bfe3d3
2015-08-01 20:16:14 -06:00
Simon Sapin
17b790db18 servo: Merge #6741 - Fix CSSStyleDeclaration::setPropertyPriority and some refactoring (from servo:fix-setpropertypriority); r=pcwalton
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: c6b043582b41434c59a21eed5c9258ae3c0fb437
2015-08-01 15:00:06 -06:00
Patrick Walton
8a1693f829 servo: Merge #6889 - style: Fix misdirected animation properties (from pcwalton:transition-left); r=metajack
left redirected to top, and padding redirected to margin.

r? @mbrubeck (or whoever)

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b06031cccfac2d8625dce95f6acc1bff84dde83
2015-08-01 11:29:01 -06:00
Ravi Shankar
12b0a78e8b servo: Merge #6829 - Persuading devtools to communicate with the workers; r=jdm (from Wafflespeanut:devtools); r=jdm
For now, this just gives some purpose to the abandoned receiver and later selects over the two receivers (for #6767). (oh wait, forgot to check the local build - there are still a few errors)...

Source-Repo: https://github.com/servo/servo
Source-Revision: effb17b3368769baaf5247908b26b7f0dd370ea3
2015-08-01 10:04:07 -06:00
Michael Howell
3d0e887e68 servo: Merge #6882 - Automate Dromaeo (from notriddle:master); r=jdm
Closes #6759.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4de6e699b2ee095177360ae1812d9f47829adcc3
2015-08-01 08:50:14 -06:00
Jack Moffitt
1ffe3eb3c8 servo: Merge #6881 - Update deps for NUM_JOBS fixes (from metajack:fix-num-jobs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9e96cf2c69bb275f8dc8c3565ee67f41a3b6e836
2015-07-31 18:17:57 -06:00
David Zbarsky
6d33c9948c servo: Merge #6839 - Use static atoms in HTMLFormElement (from dzbarsky:atoms); r=jdm
Need to update to new string-cache first, which I think requires a rustup?

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a2f28ae33efd5216b0e1933bf186ad2fadba137
2015-07-31 17:07:36 -06:00
Patrick Walton
3b92de7a22 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
Jack Moffitt
d25e11416a servo: Merge #6876 - Use local slice_chars (from metajack:slice_chars-layout); r=pcwalton
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: a54404c92180b839d2cf089d9ec9a6afe8bd5ba3
2015-07-31 12:54:49 -06:00
Simon Sapin
7123e6d672 servo: Merge #6869 - Update rust-selectors and enable unstable features (from servo:unstable-h5e); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 7e772857458f60a68346ac1a7020ae51d65959a1
2015-07-31 10:47:49 -06:00
Patrick Walton
a214f0c03f servo: Merge #6795 - Send display lists over IPC in multiprocess mode (from pcwalton:display-list-e10s-fixes); r=glennw
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

Source-Repo: https://github.com/servo/servo
Source-Revision: c4480b5d0309acc7f154166b91992f73a85de57f
2015-07-31 09:43:40 -06:00
Simon Sapin
833c6066a7 servo: Merge #6868 - Update html5ever and enable unstable features (from servo:unstable-h5e); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 33bc16fe353be237855d006b34e96fbe59f24846
2015-07-31 08:47:38 -06:00
Akos Kiss
ca8a8e9715 servo: Merge #6853 - Bump up rand dependency to 0.3.9 (from akosthekiss:rand-0_3_9-bump); r=jdm
That's the first version with the correct getrandom syscall number
for aarch64-unknown-linux-gnu.

Source-Repo: https://github.com/servo/servo
Source-Revision: ca9f9226b092f6f9349aecd53bf0b36fb5b6948e
2015-07-31 06:52:58 -06:00
Glenn Watson
a84ef3b7a1 servo: Merge #6865 - Fix panic when html element has display: table (from glennw:root-fixes); r=pcwalton
Ref #6643

Source-Repo: https://github.com/servo/servo
Source-Revision: 8419b15a3475fc54012976fbfab2139f631f9d93
2015-07-31 02:10:40 -06:00
Patrick Walton
59a01e213f servo: Merge #6863 - compositing: Don't count the root layer when checking to see when to take the screenshot (from pcwalton:null-layer-id); r=glennw
… as it isn't painted after first layout comes in.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fc50c6ccf98f3df3f47f5910a456a1fb88b73db
2015-07-30 23:58:05 -06:00
Matt Brubeck
a75fa91e3f servo: Merge #6861 - Update to hyper 0.6.6 (from mbrubeck:hyperup); r=metajack
r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: a1c491e4d0af3a41b5f63181a7e9641929ac2477
2015-07-30 20:53:16 -06:00
Patrick Walton
df3f7bbb6d servo: Merge #6855 - plugins: Forbid trait casts of rooted objects (from pcwalton:more-rooting-soundness); r=Manishearth
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: fd211dcc92b57a94dabd6bea556d0f4837289ffd
2015-07-30 18:20:53 -06:00
Jack Moffitt
4e30dcf462 servo: Merge #6835 - Update to latest rust-cssparser (from metajack:cssparserup); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: e458dca65b19754ef134b2bd65a5111425627be0
2015-07-30 17:24:38 -06:00
David Zbarsky
c98ccdfb84 servo: Merge #6851 - Return None as style for elements not in a document (from dzbarsky:gCS); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e42fddd9cc7fb79c4d631dc36ec1b47bea6b0337
2015-07-30 16:30:57 -06:00
Matt Brubeck
ad68c779b9 servo: Merge #6740 - Upgrade openssl, selectors, and cocoa (from mbrubeck:bitflags); r=larsbergstrom
This lets Servo use one version of bitflags for all dependencies.

r? @larsbergstrom or @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: df722ec1de957b0d6a0ef035c0c30aba0dade2cc
2015-07-30 15:44:12 -06:00
Simon Sapin
72eb9c272a servo: Merge #6850 - Upgrade to rustc 1.3.0-dev (87055a68c 2015-07-30) (from servo:rustup_2015-07-30); r=SimonSapin
This builds and passes unit tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4837dd9a1c172a55bfad0a7ae67dc3b64753be9a
2015-07-30 14:46:13 -06:00
Huon Wilson
f1c5de846f servo: Merge #6852 - Avoid undefined behaviour by allocating with align 1 (from huonw:fix-alignment); r=pcwalton
The allocation APIs require that the alignment is a power-of-two;
meaning 1 is the "I don't care" alignment, not 0.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3792bd7611df7343c1bad6119a07bd14296c9ba6
2015-07-30 12:35:26 -06:00
Jack Moffitt
6e73974772 servo: Merge #6845 - Update gleam to 0.1.7 (from metajack:gleamup); r=SimonSapin
r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 14947172d63d639d65461533ba1f43e87e399b1b
2015-07-30 11:02:41 -06:00
Bruno de Oliveira Abinader
0de6fc8eb2 servo: Merge #6181 - Implement Msg::Status with serialized url upon mouseover (from brunoabinader:mouseover-status); r=larsbergstrom
Credits for Mike Blumenkrantz (@zmike), I just rebased against trunk and
fixed the url serialization.

Fixes #6178.

Source-Repo: https://github.com/servo/servo
Source-Revision: 82e476fd07564f2822a5af1f397751027ddf7258
2015-07-30 08:45:31 -06:00
Martin Robinson
83736a2c39 servo: Merge #6842 - Update to the latest skia (from mrobinson:preserve-gl); r=pcwalton
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

Source-Repo: https://github.com/servo/servo
Source-Revision: ccd341cc68f034df675ffaf80673a1bece078e08
2015-07-30 07:29:38 -06:00
Ms2ger
cb152d0eb4 servo: Merge #6846 - Remove an obsolete comment I missed in #6804 (from Ms2ger:2661-comment); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c5060fce9fa6e4b5b06ffd76d1e52bb74d00461c
2015-07-30 06:10:56 -06:00
Patrick Walton
a107711e99 servo: Merge #6843 - servo: Update Glutin to pick up event handling fixes (from pcwalton:glutinup); r=metajack
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 325bf6f2d916e616534bf1a3af5c7ffca7ec62ba
2015-07-30 05:16:37 -06:00
Corey Farwell
30a3893160 servo: Merge #6800 - Implement ChildNode::before & ChildNode::after (from frewsxcv:childnode-before-childnode-after); r=Ms2ger
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5873a5cf20b3db0fce59980b2a6b0b7b9da1e737
2015-07-30 04:13:39 -06:00
David Zbarsky
cd7cafe51e servo: Merge #6783 - Clean up Node::ReplaceChild (from dzbarsky:replacechild); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9e8d231196693a660a1e70d535d1c3ab290ddf39
2015-07-30 02:11:57 -06:00
Patrick Walton
1eb9c7fff1 servo: Merge #6841 - script: Squash duplicate animation tick events in the queue (from pcwalton:squash-animation-ticks); r=metajack
This prevents them from piling up endlessly if the JS
`requestAnimationFrame()` callback takes a long time to complete.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 12c46ddd6131533454e353fa8fdd8cb4b517ffd0
2015-07-30 00:04:17 -06:00
Josh Matthews
d73aab0b4c servo: Merge #6834 - Use an actual byte string when defining the prototype of named constr… (from jdm:named-constructor-prototype); r=Ms2ger
…uctors. Fixes #6730.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a112bc07f49e5f1a79fe4788fe5e7676ccb8345
2015-07-29 22:07:35 -06:00
Ms2ger
f324432072 servo: Merge #6831 - Document libglu1-mesa-dev dependency (from Ms2ger:glu); r=larsbergstrom
Missing this caused
  src/gpu/gl/unix/SkNativeGLContext_unix.cpp:10:20:
  fatal error: GL/glu.h: No such file or directory
on my new laptop.

Source-Repo: https://github.com/servo/servo
Source-Revision: cc98026487514889ace9d7fbacd1542fc963a1aa
2015-07-29 20:42:22 -06:00
Nicholas Nethercote
b60b4ab2e9 servo: Merge #6802 - Add a kind field to memory reports (from nnethercote:report-kind); r=jdm
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: bff5e325a89ab6621a049ac55c1da66e901c776c
2015-07-29 19:42:00 -06:00
David Zbarsky
c4655740ea servo: Merge #6798 - Implement getComputedStyle (from dzbarsky:gCS); r=pcwalton
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.

Source-Repo: https://github.com/servo/servo
Source-Revision: acbca7b3aaf18866f7a1a79d9684149897bf4305
2015-07-29 18:48:45 -06:00
Glenn Watson
a76f4dc5b7 servo: Merge #6827 - Add ToCss serialization support for translation transforms (from glennw:serialize-translate); r=pcwalton
Ref #6643.

Source-Repo: https://github.com/servo/servo
Source-Revision: d62f0fb7c4a14ac3ee977ab2ec86fcd654ff0824
2015-07-29 17:50:41 -06:00
Nick Thompson
7aec9852b5 servo: Merge #6815 - Dispose layout data for every node removed from the tree (from nick-thompson:dispose_layout_data); r=jdm
Fix for #6754.

cc @jdm – I believe this is all that's required for the fix, but until I get a better sense of #6813, I'm unsure of the best way to test this.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b7120012a5f5eed71236fcf5d546ae76837ea11
2015-07-29 16:24:46 -06:00
ecoal95
5f266e5366 servo: Merge #6812 - webgl: Make context creation fallible. Fixes #6806 (from emilio:webgl-fail); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b90fd5931dbba9cf26e3111132587ea285dbca05
2015-07-29 15:29:58 -06:00
Tom Schuster
d22cefb8e0 servo: Merge #5851 - Implement the HTML background attribute (from evilpie:background); r=SimonSapin
Fixes #5835

Source-Repo: https://github.com/servo/servo
Source-Revision: 58fa3b69b76387958db45bc9831ac7c79caab2ea
2015-07-29 14:37:45 -06:00
Ms2ger
e4397aa49e servo: Merge #6809 - Remove unrooted_must_root annotation from unions (fixes #2661) (from Ms2ger:unrooted_must_root); r=metajack
The unsafety was fixed as part of the SpiderMonkey upgrade; this removes the
now unused annotation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7adc336aaacfb5e544a9c8c4e0387afa457e5d72
2015-07-29 13:20:20 -06:00
Avi Weinstock
6a5f0dd49d servo: Merge #6654 - Add copy-to-clipboard feature under x11 (from aweinstock314:add-x11-copy-to-clipboard); r=jdm
The main work is in the the rust-clipboard library, this PR updates Cargo.lock and adds plumbing.

0337e48b3f

Source-Repo: https://github.com/servo/servo
Source-Revision: 28e163d6c44f1d85fbaea7f236da40972b6a63b1
2015-07-29 11:26:00 -06:00
Patrick Walton
f6493dee57 servo: Merge #6822 - compositing: Tick animations right away when content enables animations (from pcwalton:tick-animations-more-often); r=glennw
Otherwise, we have to wait for the next vsync. This was capping the
framerate of the particles demo at 30 FPS in most cases.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 416931f4be43826d3b2a96905c22f626c88b603c
2015-07-29 08:40:42 -06:00
Ms2ger
c1ed01f0b0 servo: Merge #6811 - Simplify AutoWorkerReset::new (from Ms2ger:auto-worker); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e74a13c01df235d28c5a6f62a20adbdf5cdd4b79
2015-07-29 07:54:08 -06:00
farodin91
1507d19112 servo: Merge #6807 - Refactor FileReader #6762 #6763 #6750 #6751 (from farodin91:filereader); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 52c2049f2a47c814888e98c509eac83dc071e829
2015-07-29 07:07:22 -06:00
Ms2ger
1c6b569040 servo: Merge #6810 - Remove unused import (from Ms2ger:warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: b43b7ba9250a261637c7b84ca3ed95a2e6af4203
2015-07-29 06:19:25 -06:00
Ms2ger
cad691e968 servo: Merge #6828 - Try to reduce intermittent failures (from Ms2ger:intermittents); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: d707792cceefb1c1466db6ba800d4e4ee9d8e639
2015-07-29 05:32:52 -06:00
farodin91
63c07ae335 servo: Merge #6803 - Adding for support Blob.{close,isClose} #6723 (from farodin91:blob); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 96b0f96ce2829cc38457ace22be4f731f8ca9d77
2015-07-29 04:41:19 -06:00
Glenn Watson
e3f983ae30 servo: Merge #6801 - Accumulate and invert stacking context transform for hit tests (from glennw:hit-test-transforms); r=pcwalton
This makes hit tests work on stacking contexts with transforms.

Ref #6643.

Source-Repo: https://github.com/servo/servo
Source-Revision: fff104bb41dea0ba64fdca312de7b4c0d76277c8
2015-07-28 23:09:08 -06:00
Glenn Watson
20bd9ca362 servo: Merge #6796 - Change transforms to use LengthOrPercentage (from glennw:transform-translate-fix); r=pcwalton
This simplifies an upcoming PR to support serializing transform values for css style declarations.

Related to issue #6643.

Source-Repo: https://github.com/servo/servo
Source-Revision: a409699a0bf608d8c830ce37ec54d19e51e4ed05
2015-07-28 20:40:57 -06:00