Commit Graph

5 Commits

Author SHA1 Message Date
James Gilbertson
8a584c6fcf servo: Merge #5361 - Implement CSS Device Adaption Level 1 (from luniv:css-device-adapt); r=mbrubeck
Spec: http://dev.w3.org/csswg/css-device-adapt/

Currently, the actual viewport is used by the layout task as part of the reflow, and the compositor uses the zoom constraints. I'm not sure if anywhere else currently needs access to the constraints (i.e. there's no CSSOM as far as I can tell).

I did not implement sections 9 (viewport <META>) or 10 (handling 'auto' for 'zoom').

Source-Repo: https://github.com/servo/servo
Source-Revision: ccf1e6b9a701cf4ff010fa1f1b4ba9d656d962af
2015-05-06 12:41:09 -05:00
Patrick Walton
f855998d89 servo: Merge #5278 - gfx: Perform more aggressive caching in FontContext::get_layout_font_group_for_style() (from pcwalton:font-group-caching); r=glennw
There are several optimizations here:

* We make font families atoms, to allow for quicker comparisons.

* We precalculate an FNV hash of the relevant fields of the font style
  structure.

* When obtaining a platform font group, we first check pointer equality
  for the font style. If there's no match, we go to the FNV hash. Only
  if both caches miss do we construct and cache a font group. Note that
  individual fonts are *also* cached; thus there are two layers of
  caching here.

15% improvement in total layout thread time for Facebook Timeline.

r? @glennw (since you last worked on `get_layout_font_group_for_style()` IIRC)

Source-Repo: https://github.com/servo/servo
Source-Revision: ba0d28e0023fce2003d64b9caf97fcdbeb7cdb28
2015-04-01 10:00:52 -06:00
Simon Sapin
eca1a51218 servo: Merge #5010 - Move selector matching to an external library, for use outside Servo (from SimonSapin:external-selectors); r=larsberg
The new library is https://github.com/servo/rust-selectors. It’s not quite ready for other users (the API needs work), but this is a first step.

https://github.com/servo/rust-selectors/pull/2 should also be reviewed.

Fixes #3669.

Source-Repo: https://github.com/servo/servo
Source-Revision: 91abf5557b1a324d6568ce08cfb92cdffca10e41
2015-02-23 08:39:47 -07:00
Simon Sapin
ba695b5444 servo: Merge #4757 - Bring CSS parse error reporting back (from servo:newnewnewcss); r=mbrubeck
(Still off by default. Enable with `RUST_LOG=style`.)

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 172aed535be3c34775824dac64ad2b91fc379ad5
2015-01-30 15:27:53 -07:00
Simon Sapin
e407980ca5 servo: Merge #4689 - Port to the new cssparser (from servo:newnewnewcss); r=larsbergstrom
https://github.com/servo/rust-cssparser/pull/68

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 59bca2962c19f653eec835fc54caf1a3eadcb906
2015-01-21 14:27:48 -07:00