Commit Graph

34 Commits

Author SHA1 Message Date
Gilles Leblanc
8eb8e0ead3 servo: Merge #3720 - Edits dom/bindings/DESIGN.md (from gilles-leblanc:fix-grammatical-errors); r=jdm
This corrects and improves the dom/bindings/DESIGN.md document and also
corrects a grammatical error in a tests/reftest.rs message.

Source-Repo: https://github.com/servo/servo
Source-Revision: 65856dd00a7da07ece8d3e1e63bc495943266a24
2014-10-18 00:24:25 -06:00
Keegan McAllister
a8be3c4e6b servo: Merge #3670 - Use html5ever for HTML parsing (from kmcallister:h5e-take2); r=jdm
r? @Ms2ger, @jdm

The parser is now a JS-managed object and we use hooks in html5ever to trace its internal state.  This should be memory-safe even if arbitrary JavaScript can run during a parse.  Please let me know if you think of a reason it wouldn't be!

I think the likely outcome of a garbage collection during parsing is a dynamic `RefCell` borrow failure, but I'm going to look into that after this lands.  It should be safe to trace the parser while it's mutably borrowed, as long as it's not shared between threads, so we can probably switch to `UnsafeCell`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d3b107568ab965b518b8003b702a5db993fa7d0
2014-10-16 14:15:21 -06:00
Ms2ger
a3e10f96d9 servo: Merge #3699 - Move jsstring_to_str and jsid_to_str to conversions.rs (from Ms2ger:jsstring_to_str); r=jdm
This appears to be a more sensible location for them.

Relevant to #433.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5be4f40bef05c749bdb5353541abae21a826f6b6
2014-10-16 08:45:19 -06:00
Ehsan Akhgari
21cf951a82 servo: Merge #3693 - Throw DataCloneError from worker postMessage if structured clone fails (from ehsan:3248); r=jdm
This fixes #3248.

r? @jdm.  Please review for mistakes mercilessly!  Also, I got a host of test failures when running the worker tests, not sure if these tests are expected to pass locally or not.

Source-Repo: https://github.com/servo/servo
Source-Revision: a6001329b8186ca655d8c09c29e5167782ad43cb
2014-10-15 22:06:19 -06:00
Tetsuharu OHZEKI
171511657e servo: Merge #3574 - Introduce a custom DOMRefCell<T> (from saneyuki:cell); r=jdm
#3050

Source-Repo: https://github.com/servo/servo
Source-Revision: 7c1054e6ab97dd199dee371c3b6ca5d559070804
2014-10-14 23:12:24 -06:00
Kasey Carrothers
1d2b9fbee6 servo: Merge #3655 - Add a to_js method to the casting trait code in CodegenRust.py (from kaseyc:add_to_js_method); r=jdm
Replace the manual checks and calls to transmute_copy in /layout/wrapper.rs with calls to to_js/

Fixes #3616

Source-Repo: https://github.com/servo/servo
Source-Revision: f1c050531f3e3669275f1fc50d92724609eba59b
2014-10-14 22:00:28 -06:00
Patrick Walton
07c968075f servo: Merge #3622 - layout: Introduce support for legacy presentational attributes to selector matching, and use it for <input size> and <td width> (from pcwalton:html4ever); r=jdm
This implements a general framework for legacy presentational attributes
to the DOM and style calculation, so that adding more of them later will
be straightforward.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0aeecfc41d5f0c637960fcddf87cc2db3e5efeea
2014-10-14 14:06:36 -06:00
Patrick Walton
9f1038ee7a servo: Merge #3623 - script: Use atom comparison in more places, especially for attributes (from pcwalton:use-atoms-2); r=jdm
75% improvement in style recalc for Guardians of the Galaxy.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8077edc0622b04aeb26d42ced86ea285c9cac0e7
2014-10-14 12:42:35 -06:00
Tim Taubert
e87471af27 servo: Merge #3666 - Privatize DOM (fixes #3644) (from ttaubert:issue/3644-privatize-dom); r=Manishearth
This PR removes public fields from all (hope I didn't miss any) DOM structs. Should |Page| be privatized as well? This PR additionally introduces a #[privatize] lint to ensure nobody accidentally re-introduces a public field.

All changesets compile separately if applied in the same order. Hope that helps reviewing but I can of course squash them before merging.

Source-Repo: https://github.com/servo/servo
Source-Revision: f350879574194bb612eac88e21d0920e9827afa7
2014-10-13 22:00:37 -06:00
Ms2ger
5807e210bd servo: Merge #3632 - Remove support for {return,native,concrete}Type overrides in Bindings.conf (from Ms2ger:bindings-conf); r=Manishearth
We have no reason to support non-default type names, and this commit corrects
the computations for callbacks (which needed the override until now).

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ded2bb1ecb7da791c1296c2a2415f49705f8334
2014-10-13 17:00:47 -06:00
Clark Gaebel
c0d7a56ba4 servo: Merge #3590 - Incremental Style Recalc (from cgaebel:slow-incremental-reflow-rebase); r=pcwalton
This patch puts in the initial framework for incremental reflow. Nodes' styles
are no longer recalculated unless the node has changed.

I've been hacking on the general problem of incremental reflow for the past
couple weeks, and I've yet to get a full implementation that actually passes all
the reftests + wikipedia + cnn. Therefore, I'm going to try to land the different
parts of it one by one.

This patch only does incremental style recalc, without incremental flow
construction, inline-size bubbling, reflow, or display lists. Those will be coming
in that order as I finish them.

At least with this strategy, I can land a working version of incremental reflow,
even if not yet complete.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 85b277655f07db1cb99c4d3dee93804735ed0470
2014-10-09 11:21:32 -06:00
Tim Taubert
1b867d1d8a servo: Merge #3620 - Remove unnecessary deref()s (fixes #3586) (from ttaubert:issue/3586-remove-derefs); r=Manishearth
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 510f8a817f8144dd5046886d4ca7c612f19a3d08
2014-10-09 07:12:37 -06:00
Manish Goregaokar
052cbff92f servo: Merge #3518 - Purge Traceable and Untraceable from Servo (from Manishearth:trace-cleanup); r=jdm
Now that we use `JSTraceable` (defined in `script`), we can create arbitrary implementations on non-`script` types (eg `Url` or `RequestHeaderCollection`) where in the past we had to rely on `Traceable` and `Untraceable` to achieve cross-crate impls of `Encodable`.

This removes the two completely. They can be reintroduced if required, though the `untraceable!` macro should suffice.

Fixes #3469

Source-Repo: https://github.com/servo/servo
Source-Revision: b34df7c343579f200d2e67e21fc566842a4e4a91
2014-10-06 10:15:33 -06:00
Josh Matthews
5bcc29c13a servo: Merge #3531 - Implement MutNullableJS for mutable, nullable member pointers to DOM objects (from Ms2ger:MutNullableJS); r=Ms2ger
Extracted from #3527.

Source-Repo: https://github.com/servo/servo
Source-Revision: bae5440689c67f425f94ec27bf0f61ff955dc290
2014-10-01 09:09:28 -06:00
Keegan McAllister
8578d570cb servo: Merge #3530 - Use string-cache's Namespace type, backed by Atom (from kmcallister:namespace-atom); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 698b916c097ae0272a31a680cba7fc6dbd03ca3d
2014-09-30 02:42:23 -06:00
Simon Sapin
b3423c8393 servo: Merge #3487 - Upgrade Rust and enable style crate rustdoc (from servo:rustup-20140923); r=Ms2ger
The biggest language change is that enum variants now also reserve (for future use) a name in the type namespace, which must not collide with other types. Some things were renamed, and others qualified as `module::name`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7409685589c550ee7a9f94182f511acddab4c6fd
2014-09-29 10:45:27 -06:00
Rohan Prinja
d35bd7be7d servo: Merge #3508 - trace keys as well (from wenderen:JSTraceable.key)
Reviewed-by: Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 42205675b31db21b1b8ef04bf4def912ecac69b5
2014-09-27 23:21:28 -06:00
Cameron Zwarich
d12bfba8c2 servo: Merge #3497 - Add an extended_deref method to JSRef (from zwarich:extended-deref)
Reviewed-by: Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c10948736f1f7a8e6d6dcb1987a92818fb1f4003
2014-09-27 12:48:30 -06:00
Cameron Zwarich
5757ae9676 servo: Merge #3493 - Improve the correctness of Root lifetimes (from zwarich:root-lifetimes)
Reviewed-by: jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 86eec63a02161de84f2404ff2292d3a8d1273784
2014-09-26 19:57:33 -06:00
Cameron Zwarich
93fe906d1b servo: Merge #3480 - Fix trailing whitespace tidy errors (from zwarich:trailing-whitespace)
Reviewed-by: larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: c2d6d8084c7afc2b865a09cb4847fb1a815ef607
2014-09-25 17:00:34 -06:00
Ms2ger
1837bf51e7 servo: Merge #3477 - Move global_object_for_js_object to global.rs (from Ms2ger:global)
Reviewed-by: jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d95b88c83043017cde8edb37b1e29352ccd15e5f
2014-09-25 14:48:32 -06:00
Manish Goregaokar
f9ff33e0ec servo: Merge #3468 - Replace our usage our Encodable with JSTraceable; r=jdm (from Manishearth:jstraceable)
Source-Repo: https://github.com/servo/servo
Source-Revision: 95a4731c0eec0cfb2fb70af534757bc7ca63e407
2014-09-24 20:55:41 +05:00
Ms2ger
10bba75344 servo: Merge #3443 - Remove the glob import for UnionTypes; r=jdm (from Ms2ger:uniontypes)
Source-Repo: https://github.com/servo/servo
Source-Revision: fd5c6e8512d379751cca1bf82ea735adacdf681e
2014-09-21 22:34:27 +02:00
Ms2ger
76a2ee8a3d servo: Merge #3441 - Don't use a glob import for codegen::{PrototypeList, RegisterBindings}; r=Manishearth (from Ms2ger:glob-import)
Source-Repo: https://github.com/servo/servo
Source-Revision: e7748216dfb315a286491d2635f6f20ac6842ff8
2014-09-21 16:13:25 +02:00
Simon Sapin
e245f210fb servo: Merge #3438 - Upgrade Rust (from servo:rustup)
Source-Repo: https://github.com/servo/servo
Source-Revision: 045328c8e94f5bdfcd67105c5dfa9209f4cd501c
2014-09-20 15:35:08 -07:00
Cameron Zwarich
60b0bd5f8d servo: Merge #3433 - More progress in the &JSRef -> JSRef conversion (from zwarich:jsref-self-helpers)
Source-Repo: https://github.com/servo/servo
Source-Revision: d6ba37c68c34a3748a789caeca225083275757e5
2014-09-20 12:55:21 -07:00
Tetsuharu OHZEKI
582d2f0c2b servo: Merge #3418 - Replace manual Encodable implementation for LayoutDataRef with Untraceable (from saneyuki:untrace)
Source-Repo: https://github.com/servo/servo
Source-Revision: de67710934ac89de0cf21911dc57dcda7cb0fae1
2014-09-20 16:40:06 +09:00
Cameron Zwarich
d6fa87d24b servo: Merge #3422 - First steps of &JSRef -> JSRef conversion (from zwarich:jsref)
Source-Repo: https://github.com/servo/servo
Source-Revision: e9ad87e27eb30cfacd66b575e104ee2784f95591
2014-09-19 19:28:32 -07:00
Chris Paris
b90f6202df servo: Merge #3253 - Implement TreeWalker (from ChrisParis:TreeWalker)
Source-Repo: https://github.com/servo/servo
Source-Revision: 6d6726178a02836b3089fe0dd13cd67d74fdc276
2014-09-19 10:54:26 -04:00
Cameron Zwarich
e125d86af8 servo: Merge #3416 - Remove uses of &mut JSRef (from zwarich:remove-jsref-mut)
Source-Repo: https://github.com/servo/servo
Source-Revision: d7ffe7a19864689735fa96b34c7a26baf97910a3
2014-09-18 22:25:48 -07:00
Josh Matthews
a3fc1dd4dc servo: Revert "script: Use atom comparison in more places, especially for attributes." for persistent test failures.
This reverts commit 874db261046d6155b1942efa106d2e0014295d6d.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9607b468bc50496c0de3706d22efaa6fdc68b089
2014-09-18 09:20:19 -04:00
Patrick Walton
3834566a2b servo: Merge #3316 - script: Use atom comparison in more places, especially for attributes (from pcwalton:use-atoms)
Source-Repo: https://github.com/servo/servo
Source-Revision: 787a68336524fb9585922b9ed319a8b194fb8ee1
2014-09-17 13:19:00 -07:00
Manish Goregaokar
1a1910fec1 servo: Merge #3374 - Add lint for ensuring proper rooting of JS<T>; r=jdm (from Manishearth:lint_unrooted_jsmanaged)
Source-Repo: https://github.com/servo/servo
Source-Revision: 11ba79894a13ddaee4bfcdd64d23fd4b54a041f3
2014-09-17 17:47:19 +05:00
Jack Moffitt
132ee35633 servo: Merge #3230 - Cargoify servo (from servo:cargoify)
Source-Repo: https://github.com/servo/servo
Source-Revision: b1305bb7d051f83850c51bb0da0ccc86a5e07922
2014-09-09 08:18:18 -06:00