Commit Graph

25 Commits

Author SHA1 Message Date
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
Ms2ger
e139ba90a7 servo: Merge #3676 - Don't borrow CharacterData.data from layout (from Ms2ger:no-text-borrow); r=Manishearth
This should fix the most frequent intermittent wpt failure.

Source-Repo: https://github.com/servo/servo
Source-Revision: 083bf27b7536a8ae825ce87df4344f9e3cbc1a10
2014-10-14 03:36:36 -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
Patrick Walton
47c280c684 servo: Merge #3639 - Use Gecko's simpler Bloom filter instead of one based on hash (from pcwalton:rewrite-bloom-filter); r=zwarich
stretching.

This preserves the usage of the Bloom filter throughout style recalc,
but the implementation is rewritten. Provides a 15% improvement on
Guardians of the Galaxy.

Source-Repo: https://github.com/servo/servo
Source-Revision: e048f3f940e124d45b43a53a850177c45907822d
2014-10-10 20:27:39 -06:00
Clark Gaebel
0cd95a4fa4 servo: Merge #3638 - Factors out DOM traversal, keeping the code in parallel free of traversal-specific logic (from cgaebel:parallel-dom-traversal)
Source-Repo: https://github.com/servo/servo
Source-Revision: be6cde93224c3ad266f5f98c4f4e670062146124
2014-10-10 19:08:49 -04: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
Patrick Walton
ed019bf63d servo: Merge #3600 - layout: Mark the styles of elements with pseudos as unshareable (from pcwalton:pseudo-unshareable); r=mbrubeck
Makes multiple `<br>` elements work, since those are implemented via
`before` pseudos.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 15b508ac10d0e98ba10474b6ab091017ae95804e
2014-10-09 00:06:32 -06:00
Tim Taubert
f15d9faaa2 servo: Merge #3584 - Support [*|attr], attribute selectors in any namespace (fixes #1558) (from ttaubert:issue/1558-attr-ns-selectors); r=Manishearth
This implements basic support for attribute selectors with namespace prefixes. I would have added a more sophisticated test covering various selectors but it seems that we don't have an XML parser yet and thus no XHTML support?

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: f49c730720a51d14dacefe9815faf50216b36b91
2014-10-08 03:12:34 -06:00
Cameron Zwarich
e4683d9b2b servo: Merge #3592 - Remove trailing whitespace (from zwarich:trailing-whitespace); r=Manishearth
The Mach test runner doesn't actually make these failures yet, which is
tracked by #3482.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae946a9b762d66f01f669ff526eff5c0eaaa3404
2014-10-07 04:57:29 -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
2dfdae3733 servo: Merge #3520 - Implement basic form control support (from jdm:formcontrols); r=pcwalton
So far the changes to layout seem fairly well-contained; I think this is worth integrating to give us a browser that is easier to dogfood (and allows us to work on things like form submission much easier), especially since the long-term viability of WebComponents-as-forms is not assured.

Source-Repo: https://github.com/servo/servo
Source-Revision: f80096069592b864221abe112eaf2ecb6c444fda
2014-10-01 16:45:29 -06:00
Cameron Zwarich
c71169cdfc servo: Merge #3540 - Convert TNode / TElement to use self parameters rather than &self (from zwarich:more-jsref); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 09e9abc047e03b81b8a4aa90d13efa184d0a732f
2014-09-30 22:36: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
Cameron Zwarich
4150491f96 servo: Merge #3501 - Remove the 'static lifetime parameters from TElement methods (from zwarich:telement-lifetimes)
Reviewed-by: jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c9c8d63727560ab88a8b739f5ac305b8a02410d2
2014-09-27 17:09:28 -06:00
Patrick Walton
af820be1f4 servo: Merge #3492 - layout: Support any display property in generated content, and allow (from pcwalton:clear-generated-content-table)
Reviewed-by: glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 33e2a7b3625c82e83c7767e81266c2a23f509bed
2014-09-26 22:24:32 -06: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
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
Patrick Walton
04c97f274a servo: Merge #3399 - Handle generated content with display: block correctly during flow (from pcwalton:fix-generated-content-iteration)
Source-Repo: https://github.com/servo/servo
Source-Revision: b8f34bbc5170f78e4939b1d647f8d8498e3c2fb6
2014-09-19 12:27:32 -07:00
Patrick Walton
3367860bc2 servo: Merge #3401 - layout: Remove layout/extra.rs (from pcwalton:refactor-layout)
Source-Repo: https://github.com/servo/servo
Source-Revision: f139eb51763091165136c88a7b9931fc09ebe2cc
2014-09-19 10:51:02 -04: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
Clark Gaebel
2ce9a1478b servo: Merge #3212 - Added a bloom filter to CSS selector matching (from cgaebel:style-resolution-bloom-filter)
Source-Repo: https://github.com/servo/servo
Source-Revision: ad02534c10d85cc011908fe6b2ba06cfcdcb226c
2014-09-15 22:27:24 -06:00
Gilles Leblanc
fd1820eb39 servo: Merge #3213 - Make use of the list of Atoms in the class attribute in selector matchin (from gilles-leblanc:issue-3111)
Source-Repo: https://github.com/servo/servo
Source-Revision: 97cabf204e2793fa54bcf58375af4ed8ee8c6ae4
2014-09-12 08:50:07 -04: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