Commit Graph

2765 Commits

Author SHA1 Message Date
David Zbarsky
2fa7668fde servo: Merge #6974 - Fix createImageData with sizes < 1 pixel (from dzbarsky:tiny-create); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: debd7d87d61e6e6d772181a1076ee29519e479c7
2015-08-05 11:40:20 -06:00
David Zbarsky
cf83db09d2 servo: Merge #6971 - Make createRadialGradient throw for negative radii (from dzbarsky:negative-radius); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 95269bba39313e7a221947a6b20fecc92e87a201
2015-08-05 10:42:57 -06:00
Ms2ger
f3b1b29ec1 servo: Merge #6964 - Cleanup DedicatedWorkerGlobalScope::run_worker_scope (from Ms2ger:dwgs-eventloop); r=jdm
It was getting overcrowded.

Source-Repo: https://github.com/servo/servo
Source-Revision: b3d61878dc28418e5427e965f26a06766f47358c
2015-08-05 09:21:10 -06:00
James Graham
8a181b2713 servo: Merge #6416 - Use hosts-replaced URL only when loading resources (from jgraham:hosts_replaced); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8602d01af2b2081ea1e9d600abdb1ea609a65038
2015-08-05 08:01:03 -06:00
Josh Matthews
eed904f282 servo: Merge #6959 - Fix warnings (from servo:warnings_); r=jdm
Adds on top of #6949.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d8825c25c6eed4dc22b10e668b03fc79056702b
2015-08-05 03:44:22 -06:00
r0e
3dfad89883 servo: Merge #6944 - Fix for issue #6768. Refactor ReadData and BlobBody (from r0e:testing); r=jdm
Fix for issue #6768.

Merge common fields of ReadData and BlobBody to avoid passing redundant information to functions.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac533b146660922d7d4e6f1836f189a63334df65
2015-08-04 20:21:35 -06:00
David Zbarsky
268435409a servo: Merge #6943 - Clean up some methods in CanvasRendeingContext2D (from dzbarsky:context); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 447c991ebb8cca1601d7c5ecde5dffb14199ddca
2015-08-04 00:46:09 -06:00
Josh Matthews
f99a26cba8 servo: Merge #6874 - Start reporting memory usage for Window and all nodes in all DOM tree… (from jdm:domreporting); r=njn
…s for frame treese in script tasks.

This underreports by a significant amount, since only Document, Window and CharacterData (ie. text) nodes are fully represented. That being said, every HTML element in the tree is measured, but only counted as a Node. It's easy to improve this, it just requires adding the appropriate HeapSizeOf derives and increasing the granularity of `measure_memory_for_eventtarget`. google.com shows a dom-tree value of 0.24 MB for me at the moment.

r? @nnethercote

Source-Repo: https://github.com/servo/servo
Source-Revision: 84e25befdd97cf74fb00707dbe150d59d980e977
2015-08-03 21:24:41 -06:00
Glenn Watson
c51526ac99 servo: Merge #6784 - Implement offsetParent/Top/Left/Width/Height (from glennw:offset-ext); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: d66c59a15213dec17f38af0653e9e7e1bf579a95
2015-08-03 18:39:43 -06:00
Ms2ger
0d0e55fa6b servo: Merge #6926 - Implement a WorkerGlobalScopeInit struct to pass arguments to WorkerGlobalScope::new_inherited more easily (from Ms2ger:dwgs-args); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3c5d24dbf43e22176d382b6f8bd9a88805c1d8b2
2015-08-03 17:42:15 -06:00
Ravi Shankar
701814b274 servo: Merge #6920 - Removed an invalid FIXME and fixed some doc comments (from Wafflespeanut:NIT); r=jdm
There are some bad module-level doc comments in `flow.rs` which has directly affected [Servo's docs](http://doc.servo.org/layout/flow/index.html) and so, this fixes that. Oh, and #6728 is having a hard time getting closed and so I've also removed the `FIXME` comment related to it.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae3aadd6567e15b5fb4da6c85fc4cdba9fcc2eb2
2015-08-03 16:46:12 -06:00
Matt Brubeck
ddb5d97a58 servo: Merge #6721 - Implement the unicode-bidi CSS property (from mbrubeck:unicode-bidi); r=pcwalton
r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 5922ac606c63b91fdbd8c84fd0abb35450bee547
2015-08-03 15:37:12 -06:00
Ms2ger
ed66d152e5 servo: Merge #6917 - Lock and flush stdout in Window#alert (from Ms2ger:lock-alert); r=metajack
We use alert() to communicate test results to wptrunner. Unfortunately,
sometimes the alert output is interleaved with other output on stdout,
causing wptrunner to classify the test result as a timeout. I hope this will
avoid that scenario.

Source-Repo: https://github.com/servo/servo
Source-Revision: 86476804cac668133b6964c8f551918163aa66d7
2015-08-03 13:17:47 -06:00
Glenn Watson
902d5e4513 servo: Merge #6903 - Fix percentage height calculation, absolute containing block height calculations (from glennw:fix-height-again); r=pcwalton
It's not possible to correctly determine during the css cascade whether the container height
is explicitly specified. Additionally, the spec https://drafts.csswg.org/css2/visudet.html#the-height-property says this should affect the *used* height, rather than the computed height.

This significantly improves the layout in #6643.

Source-Repo: https://github.com/servo/servo
Source-Revision: 028707f5cd3263fd1476669207f67d5b9d5d4806
2015-08-03 10:38:21 -06:00
Kayo Hamid
89c512fb6a servo: Merge #6902 - [FIX] Bug fix #6756 (from khflab:master); r=jdm
fixes #6756 waiting for review.

Signed-off-by: Kayo Hamid <kayo@bvcupons.com.br>

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ce811ffb809971cc87adf1f2f21ad2526085964
2015-08-03 09:18:05 -06:00
Harrison G
590b59d477 servo: Merge #6893 - Fixes Issue #6866 (from HarryLovesCode:master); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1809748dc12ec63e3179b66109c91983f744c235
2015-08-02 16:05:14 -06:00
Patrick Walton
09c20effcf servo: Merge #6896 - script: Use Arc::make_unique instead of Arc::get_mut when updating inline styles (from pcwalton:fix-particles-crash); r=SimonSapin
Transitions make the reasoning in the comment in the relevant sections
not true.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c6e271cd3d5e2a7f141cae811d92b8fd6370b18
2015-08-02 10:10:39 -06:00
Patrick Walton
d363ed08c8 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
5698c2dc64 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
c302332aab 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
Ravi Shankar
a4ee21cd5c 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
David Zbarsky
52df57fd6d 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
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
Jack Moffitt
8bf76830eb 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
c9cc96a8fe 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
David Zbarsky
48990e10a3 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
Simon Sapin
4d66c3f079 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
Bruno de Oliveira Abinader
e5a182f113 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
Ms2ger
008f2a5d4b 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
Corey Farwell
4c61dabd09 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
5a923a4408 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
43be8c68c2 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
76062e53b5 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
Nicholas Nethercote
2471f9031d 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
c79a7611a6 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
Nick Thompson
5ea20aea4a 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
0f3f06a4f3 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
e61ba08a8a 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
f8e0f85d18 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
56489e610f 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
Ms2ger
b69fbeb897 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
889ecc97a7 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
ca16725de6 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
farodin91
2369651d5b 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
David Zbarsky
70742c23df servo: Merge #6695 - Implement Range#extractContents (from dzbarsky:extractcontents); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: bdf01ddd6050e2616bd154a58ac517b3eef44db0
2015-07-28 13:01:33 -06:00
Matt Brubeck
6f887c8b53 servo: Merge #6814 - Remove unused script -> layout_traits dependency (from mbrubeck:dead-dep); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 59ea4a18ae934926d8c9731c4c3d3e85ff737fb5
2015-07-28 12:15:00 -06:00
Bogdan Cuza
6e1df04706 servo: Merge #6699 - Tidy check for FooMethods in components/script/dom/*.rs and color for tidy (from boghison:tidyspec); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 14ccb22e679722ed3374c8facec21adcf0f2b247
2015-07-28 08:56:39 -06:00
Till Schneidereit
1c2b3eacf2 servo: Merge #6662 - Implement Element.client{Top,Left,Width,Height} (from tschneidereit:client-geometry); r=glennw,pcwatson
This isn't done, but contains a working implementation of at least `clientTop`. Feedback would be much appreciated: it's probably far from ideal.

Implementing `clientLeft` is straight-forward, I think, but `clientWidth` and `clientHeight` require accessing the `border_box` - and I don't know how that works, yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: e0bd80f80715bdbdf30de1de9c79a99a41cfd99e
2015-07-27 20:45:05 -06:00
Michael Howell
6382375281 servo: Merge #6782 - Use empty Vec instead of None (from notriddle:empty-vec); r=jdm
Closes #6764

Source-Repo: https://github.com/servo/servo
Source-Revision: 2672f2bbe46fd833c6a84b70edaa99dcaf092b5c
2015-07-27 19:45:09 -06:00
Patrick Walton
e83405fec0 servo: Merge #6745 - devtools: Convert the developer tools to run over IPC (from pcwalton:devtools-ipc); r=jdm
This was a large, invasive change.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 4bc1db3fe85f2a1a04536f0f6045b53b1319f4bc
2015-07-27 11:09:38 -06:00