Commit graph

478 commits

Author SHA1 Message Date
bors-servo
83196ddb26 auto merge of #3697 : pcwalton/servo/get-layout-font-group, r=glennw
Seems to be a 38% layout win on a site I tested with a lot of text.

Other browser engines typically do not duplicate the information in the font style struct. `FontStyle` actually predates @SimonSapin's CSS selector matching library. It's time to get rid of it!

r? @glennw
2014-10-16 15:06:19 -06:00
Keegan McAllister
9da7679367 Use html5ever for HTML parsing 2014-10-16 13:06:34 -07:00
bors-servo
5be4f40bef auto merge of #3699 : Ms2ger/servo/jsstring_to_str, r=jdm
This appears to be a more sensible location for them.

Relevant to #433.
2014-10-16 08:45:19 -06:00
bors-servo
b80b18f1cb auto merge of #3698 : ema-fox/servo/remove-monocache, r=jdm 2014-10-16 07:33:21 -06:00
Ms2ger
b60a601f56 Move jsstring_to_str and jsid_to_str to conversions.rs.
This appears to be a more sensible location for them.

Relevant to #433.
2014-10-16 10:42:09 +02:00
Emanuel Rylke
62595ff448 Remove unused implementation of MonoCache 2014-10-16 08:39:51 +02:00
bors-servo
1de2fb3721 auto merge of #3695 : saneyuki/servo/cell, r=jdm
#3050
2014-10-16 00:03:18 -06:00
bors-servo
9af0900060 auto merge of #3684 : Manishearth/servo/dom_struct, r=jdm
This attribute implies #[jstraceable], #[privatize], and #[must_root].
2014-10-15 23:24:20 -06:00
Patrick Walton
a6fcec468f layout: Remove FontStyle in favor of using the font style struct
directly, and optimize `get_layout_font_group()` to use a small vector.

Seems to be a 38% layout win on a site I tested with a lot of text.
2014-10-15 22:17:57 -07:00
Manish Goregaokar
38cbf86c8f Make auto-derived JSTraceable have #[inline] methods 2014-10-16 10:20:20 +05:30
Manish Goregaokar
3f2cbb275b Use #[dom_struct] everywhere 2014-10-16 10:20:18 +05:30
Manish Goregaokar
c45550de73 Add unifying #[dom_struct] attribute (fixes #3667) 2014-10-16 10:18:56 +05:30
bors-servo
84b2fe54b9 auto merge of #3694 : saneyuki/servo/node, r=jdm
`Node.unsafe_get_flags()` returns `*const NodeFlags`, but `NodeFlags` has only `u8` length.
So We should just returns a raw value instead of any pointers.
2014-10-15 22:45:19 -06:00
bors-servo
a6001329b8 auto merge of #3693 : ehsan/servo/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.
2014-10-15 22:06:19 -06:00
bors-servo
f3066c70da auto merge of #3689 : cgaebel/servo/working-incremental-flow-construction, r=pcwalton
This implements fragment merging, in order to incrementally reflow linebroken
text. This makes the `whitespace_pre.html` reftest pass with incremental reflow
turned on with `-i`.
2014-10-15 21:27:20 -06:00
bors-servo
f94228d9f9 auto merge of #3662 : mukilan/servo/worker_timer, r=jdm
Closes issue #3236
2014-10-15 20:48:22 -06:00
Tetsuharu OHZEKI
2bdcc0e2c0 Use DOMRefCell<T> for HTMLInputElement's field that is borrowed from other tasks. 2014-10-16 11:17:00 +09:00
Tetsuharu OHZEKI
0d447394b2 Removes Node.unsafe_get_flags().
`Node.unsafe_get_flags()` returns `*const NodeFlags`,
but `NodeFlags` has only `u8` length.
We should just returns a raw value instead of any pointers.
2014-10-16 11:04:17 +09:00
bors-servo
b83352f7eb auto merge of #3692 : cgaebel/servo/fix-incremental-append-style, r=pcwalton
@pcwalton r?
2014-10-15 20:00:20 -06:00
Ehsan Akhgari
840d949d97 Throw DataCloneError from worker postMessage if structured clone fails
This fixes #3248.
2014-10-15 21:57:40 -04:00
Tetsuharu OHZEKI
ab90c718eb Add the comment about to use mem::transmute() for values contained in DOMRefCell. 2014-10-16 10:48:23 +09:00
bors-servo
d54fb041ba auto merge of #3691 : Ms2ger/servo/cycle-comments, r=jdm
The tracing setup has ensured that the cycles can be collected for a long time
now.
2014-10-15 18:42:20 -06:00
Mukilan Thiyagarajan
0d7e13f646 Issue #3236 - Implement timers (setTimeout/setInterval) for workers 2014-10-16 05:59:44 +05:30
Clark Gaebel
481adcd654 Fix whitespace_pre with incremental reflow turned on.
This implements fragment merging, in order to incrementally reflow linebroken
text. This makes the `whitespace_pre.html` reftest pass with incremental reflow
turned on with `-i`.
2014-10-15 16:04:21 -07:00
Clark Gaebel
0a541fc83c Fix append_style reftests with incremental reflow turned on.
@pcwalton r?
2014-10-15 15:47:11 -07:00
Ms2ger
55e01157e7 Remove obsolete comments about cycles.
The tracing setup has ensured that the cycles can be collected for a long time
now.
2014-10-16 00:43:30 +02:00
Clark Gaebel
76ed7484eb Use the Deref traits for FlowRefs.
This patch switches FlowRefs to using the Deref and DerefMut traits, instead of
the custom `get` and `get_mut` functions.
2014-10-15 11:04:05 -07:00
Ms2ger
d9202f8169 Remove the reflector field from Document.
This field became unused in commit 99a36cbeb6.
2014-10-15 16:03:22 +02:00
Tetsuharu OHZEKI
b42a91d0e9 Use DOMRefCell<T> in CharacterData. 2014-10-15 13:44:02 +09:00
Tetsuharu OHZEKI
fb98384fa5 Use DOMRefCell<T> in Element. 2014-10-15 13:44:02 +09:00
Tetsuharu OHZEKI
2d5d1e36ad Use DOMRefCell<T> in Attr. 2014-10-15 13:41:03 +09:00
Tetsuharu OHZEKI
80593d9cc5 Add DOMRefCell<T> for safe borrowing in layout.
This type simply wraps `RefCell<T>` to add the special method,
and introduce the method to return the pointer of the value contained in
itself, for used in layout task.
2014-10-15 13:41:03 +09:00
bors-servo
f1c050531f auto merge of #3655 : kaseyc/servo/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
2014-10-14 22:00:28 -06:00
bors-servo
0487671dab auto merge of #3672 : mrobinson/servo/background-color, r=zwarich
Instead of relying on a scene-wide background color, all layers can now
have their own background color.
2014-10-14 21:27:26 -06:00
Kasey Carrothers
6d91e92c90 Add a to_js method to the casting trait code in CodegenRust.py
Replace the manual checks and calls to transmute_copy in /layout/wrapper.rs with calls to to_js

Fixes #3616
2014-10-14 19:06:53 -07:00
bors-servo
7eaeaeeb21 auto merge of #3668 : cgaebel/servo/sequential-reflow, r=pcwalton
Now that DOM/Flow traversals have been refactored out, the `recalc_style_for_subtree`
function in `css/matching.rs` can be removed, in lieu of just running the standard
`recalc_style_for_node` and `construct_flows` traversals sequentially. Now we
no longer have the maintenance headache of duplicating selector matching logic
in two places! \o/

This passes reftests with both default arguments, and with `-y 1`.

r? @pcwalton
2014-10-14 19:33:28 -06:00
bors-servo
3eb6b17137 auto merge of #3610 : glennw/servo/media-queries, r=SimonSapin 2014-10-14 18:36:29 -06:00
Clark Gaebel
7368d42225 Removes duplicate CSS selector matching logic.
Now that DOM/Flow traversals have been refactored out, the `recalc_style_for_subtree`
function in `css/matching.rs` can be removed, in lieu of just running the standard
`recalc_style_for_node` and `construct_flows` traversals sequentially. Now we
no longer have the maintenance headache of duplicating selector matching logic
in two places! \o/

r? @pcwalton
2014-10-14 16:28:29 -07:00
bors-servo
56989b8dec auto merge of #3640 : cgaebel/servo/incremental-flow-construction, r=pcwalton
This also hides the not-yet-working parts of incremental reflow behind a runtime
flag. As I get the failing reftests passing, I'll send pull requests for them one
by one.
2014-10-14 16:51:30 -06:00
Glenn Watson
c7d81fdde6 Implement media queries parser and matching. Improves mobile first sites like bootstrap3. 2014-10-15 07:36:31 +10:00
Patrick Walton
c7e619dfe7 layout: Rewrite intrinsic inline-size and automatic table layout to
match L. David Baron's work-in-progress specification.

    http://dbaron.org/css/intrinsic/

Column spans are not yet supported.

This effectively adds support for percentage widths, and it also fixes
many bugs, improving the layout of Google and Wikipedia.
2014-10-14 14:17:57 -07:00
bors-servo
0aeecfc41d auto merge of #3622 : pcwalton/servo/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.
2014-10-14 14:06:36 -06:00
Patrick Walton
5f8d3f72d8 layout: Introduce support for legacy presentational attributes to selector
matching, and use it for `<input size>` and `<td width>`.

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.
2014-10-14 12:44:09 -07:00
bors-servo
96fae78f94 auto merge of #3634 : mrobinson/servo/scrolling-doc, r=jdm 2014-10-14 13:30:36 -06:00
bors-servo
8077edc062 auto merge of #3623 : pcwalton/servo/use-atoms-2, r=jdm
75% improvement in style recalc for Guardians of the Galaxy.
2014-10-14 12:42:35 -06:00
Clark Gaebel
f552e2f750 try to reset flows which need reflow, since reflow isn't yet idempotent 2014-10-14 10:33:46 -07:00
bors-servo
48ce107d72 auto merge of #3675 : glennw/servo/local-fonts, r=pcwalton 2014-10-14 11:33:34 -06:00
Patrick Walton
ee2ccc4f87 script: Use atom comparison in more places, especially for attributes.
75% improvement in style recalc for Guardians of the Galaxy.
2014-10-14 10:32:40 -07:00
Martin Robinson
fbd0b6f9d0 Allow individual layers to render their own background color
Instead of relying on a scene-wide background color, all layers can now
have their own background color.
2014-10-14 09:59:07 -07:00
Manish Goregaokar
79cb1af12a Address review comments 2014-10-14 21:24:36 +05:30