Commit Graph

4406 Commits

Author SHA1 Message Date
David Zbarsky
37af7f07c4 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
868cce00b8 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
11ef44d7d1 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
a77654c4c2 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
Patrick Walton
eec46242dc servo: Merge #6981 - gfx: Fix Core Text font instantiation for Web fonts on Mac (from pcwalton:github-font-fallback); r=metajack
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 11acfbc29fd3412c18b6bf62e51faef5c2435fd3
2015-08-05 06:11:36 -06:00
Patrick Walton
3f034006da servo: Merge #6980 - layout: Take borders into account when positioning inline fragments on their baselines (from pcwalton:inline-border-baseline); r=glennw
Improves the Rust GitHub page.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: cc70e2f91fcfbc04ca9f02f109ab9894c0eccf9c
2015-08-05 05:03:43 -06:00
Josh Matthews
7a2b43ae8d 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
Patrick Walton
f9d9b5d1a1 servo: Merge #6976 - layout: Place list item markers correctly in the block direction (from pcwalton:vertical-marker-placement); r=mbrubeck
r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 56a9eab2a0974f3e08d1d32afb0b2b2c0038db5f
2015-08-05 00:57:19 -06:00
r0e
f1ca75c83b 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
Matt Brubeck
4972f3ccca servo: Merge #6979 - Fix crash caused by negative numbers in list counters (from mbrubeck:counter); r=pcwalton
Fixes #6818.  The test still fails because of #6978.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: b9f00190e1364fb1b9ab8dc089593910c3e34d41
2015-08-04 18:37:10 -06:00
David Zbarsky
aa9a39b034 servo: Merge #6954 - Implement strokeRect with zero-width or zero-height rects (from dzbarsky:stroke_rect); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: eecd9752093540220eb52308b8fb3ceba0939e3c
2015-08-04 16:38:57 -06:00
Manish Goregaokar
e0cbb5fff4 servo: Merge #6945 - If let is not an issue for lints (from Manishearth:fixedme); r=jdm
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: b7e592443f56f3ca61e12c9e777c55ac2a3ebcd0
2015-08-04 14:38:31 -06:00
Patrick Walton
4ecaa5ce11 servo: Merge #6940 - layout: When repairing styles for incremental reflow, only repair styles of nodes that represent the dirty node, *including its pseudo-element* (from pcwalton:inline-pseudo-repair-jumpiness); r=mbrubeck
r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 56d3426431d98a6f43698f33bb7ce4d3ad67adeb
2015-08-04 12:53:26 -06:00
Patrick Walton
10bcc61257 servo: Merge #6947 - layout: Don't use the block container inline size as the initial computed table inline size (from pcwalton:table-center); r=glennw
Makes google.com fully centered.

r? @glennw
cc @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 220557008318350b444ba1917a3b07e03d30bec5
2015-08-04 11:36:09 -06:00
Simon Sapin
4f271271e1 servo: Merge #6950 - Add a comment to explain the struct pattern trick (from servo:struct-pattern); r=glennw
https://github.com/servo/servo/issues/6912#issuecomment-127429643

Source-Repo: https://github.com/servo/servo
Source-Revision: 0565df859684560b525b0361476d334f79db8474
2015-08-04 05:50:27 -06:00
Patrick Walton
9c986f84a3 servo: Merge #6946 - layout: If the container of a block formatting context has margins in the inline direction, subtract those from the inline size of preceding floats (from pcwalton:block-formatting-context-margins); r=mbrubeck
Makes the content area on http://reddit.com/r/rust visible.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 672b38e83ac0eb70c6e5b625752e7e3a57029176
2015-08-04 02:41:40 -06:00
David Zbarsky
8b5d35a4ff 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
Patrick Walton
85f65924cf servo: Merge #6938 - construct: When repairing styles for incremental reflow, only repair styles of nodes that represent the dirty node (from pcwalton:inline-repair-jumpiness); r=mbrubeck
Fixes jumpiness on many pages; e.g. the WPT results pages.

For some reason, this would not reproduce with an automated test.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 94cd76df61c1ea14199c9683603b548377aced3b
2015-08-03 23:37:47 -06:00
Matt Brubeck
02442b6fc1 servo: Merge #6937 - Store Harfbuzz callback functions in a static var (from mbrubeck:hb_funcs); r=glennw
r? gw

Source-Repo: https://github.com/servo/servo
Source-Revision: d77f9415c5c64d18f31a1af45d2a9197373daa38
2015-08-03 22:40:35 -06:00
Josh Matthews
2f1aaef81d 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
Bogdan Cuza
2c11e45f89 servo: Merge #6932 - Implement HeapSizeOf for Url. Fixes #6912 (from boghison:memrs); r=SimonSapin
Fixes #6912

Source-Repo: https://github.com/servo/servo
Source-Revision: c2497fcd49933f3782d529b891f4c8bb5de198c4
2015-08-03 19:31:26 -06:00
Glenn Watson
b4bfd1bd03 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
9cb8f6d6fa 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
142f47ff7e 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
9312160d09 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
d66f8c44ec 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
38ace83751 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
c7c0062e0b 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
b53f75c1eb 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
f08bfd6445 servo: Merge #6895 - layout: Tie transitions to the DOM node and finish them instantly when new styles are set (from pcwalton:better-transitions); r=glennw
Tying transitions to the DOM node avoids quadratic complexity when
updating them.

Finishing transitions instantly when styles are updated makes our
behavior more correct.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: ffe4bd25a495efd672986f090150b165811b6708
2015-08-02 15:04:54 -06:00
Sam Gibson
34d2f0c3a8 servo: Merge #6722 - Obey Strict-Transport-Security header (from samfoo:sts-headers); r=jdm
Resolves #6703.

Done:

* [x] When STS headers received, add the host to the HSTS list

Todo:

* [ ] Persist the in-memory list so that it's reloaded on the next browser boot
* [ ] Add tests to `http_loader::load` - it's pretty well completely untested right now, but it's a bit gnarly to untangle and without mocking, it's hard to deal with the dependency on making a real network request. Writing a mock request object should be doable for testing, but there's a lot going on in the function right now.

Source-Repo: https://github.com/servo/servo
Source-Revision: f1c26c59f177570a697c420308fb89d9773c7468
2015-08-02 11:14:02 -06:00
Patrick Walton
e69b59f7ca 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
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