Commit Graph

30 Commits

Author SHA1 Message Date
Ms2ger
ea9d5af641 servo: Merge #5967 - Remove unused imports (from Ms2ger:warnings); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 0ec6d80b6ed61c6950b8e5f50d04f994f0021101
2015-05-07 03:50:17 -05:00
Simon Sapin
25523c4789 servo: Merge #5951 - Clean up the Au API (from SimonSapin:au-cleanup); r=mbrubeck
Fix #5943.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 1721cf45ed59306a69f3ade08feca065804c3804
2015-05-05 15:08:12 -05:00
Simon Sapin
b72bb5e7d5 servo: Merge #5935 - Upgrade Rust (from servo:rustup_2015-04-25); r=Ms2ger
r? everybody

Source-Repo: https://github.com/servo/servo
Source-Revision: 49aed6555dbc008c1a378c5cbb303f5467232b6b
2015-05-05 09:11:30 -05:00
Ms2ger
f3c2bbdd16 servo: Merge #5827 - Use as_slice less (from Ms2ger:slice); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 79be3b967668e46a4289f4fc8fce2b4f457cab23
2015-04-24 12:12:53 -05:00
Josh Matthews
90d006ea26 servo: Merge #5477 - Warning patrol (from jdm:warnfix); r=kmcallister
Source-Repo: https://github.com/servo/servo
Source-Revision: 3294778b371799f6594ba6e39986685c001b017c
2015-04-01 17:30:41 -06: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
Mikko Perttunen
c790f2ffd2 servo: Merge #5153 - Handle font load errors in FontContext (from cyndis:check-font-result); r=jdm
Thread font load errors from platform font loading code to
FontContext::get_layout_font_group_for_style, and cache the failure
result, instead of panicing the thread when a font fails to load.

Before this patch, a failed font load would panic a LayoutTask,
causing a cascade of panics, eventually aborting the whole engine
during a panic within panic.

On my Arch Linux machine almost every page would crash in this manner,
including e.g. reddit.com and cnn.com. Mosf of the requested fonts would
load fine but some single variant of Helvetica would fail always. Not sure
how to create a test for this as it seems pretty system-specific.

Cheers,
cyndis

Source-Repo: https://github.com/servo/servo
Source-Revision: 4bd5aed5005b1a8dba828a178ea9af4277d0d4a7
2015-03-06 10:31:05 -07:00
Ms2ger
155838196e servo: Merge #4766 - Import the util crate as util rather than servo_util (from Ms2ger:util); r=Manishearth
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27e0f16407629422b5e047e067d458142372c97e
2015-01-29 05:12:49 -07:00
Patrick Walton
fa04d8167b servo: Merge #4524 - gfx: Implement font-stretch per CSS3-FONTS § 3.3 in the Core Text font backend (from pcwalton:font-stretch); r=glennw
r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 3736396c63ad3f84349132ea9c0bb0f5fc045f01
2015-01-28 13:57:58 -07:00
Deokjin Kim
33ebca4679 servo: Merge #4660 - Support 'font-style: oblique' (from deokjinkim:font_style); r=jdm
'oblique' font-style is not supported now.
When I checked freetype.h, same macro is used for italic and oblique.

  /*    FT_STYLE_FLAG_ITALIC ::                                            */
  /*      Indicates that a given face style is italic or oblique.          */

So, when font style is 'oblique', enable flag for italic.
With tests/html/test_italic_bold.html, it works well.

Source-Repo: https://github.com/servo/servo
Source-Revision: c2076d707e85c0b197c6fde286b1799a80de4d80
2015-01-28 11:51:53 -07:00
Ms2ger
dfc91abf3f servo: Merge #4682 - Move to to_owned rather than into_string (from servo:to_owned); r=jdm
into_string has been removed from Rust.

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebc7c32d5ce58ada3f9d8ffdb60cc025eb5997
2015-01-20 07:54:46 -07:00
Patrick Walton
084ac081fc servo: Merge #4557 - layout: Implement filter per CSS-FILTERS § 5 (from pcwalton:filter); r=mbrubeck
`blur` and `drop-shadow` are not yet supported, because the
`text-shadow` PR makes some fundamental changes to blur rendering that
are needed first.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: ffdbf29db28ba334e8baf8d35141b5e8ad289459
2015-01-09 09:03:48 -07:00
Ms2ger
b3c7f9d2ca servo: Merge #4554 - Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19 (from servo:rustup_20141221); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d7148c79f9124779a910fd5291c5fa0543b2dae
2015-01-08 08:00:57 -07:00
Ms2ger
2979891740 servo: Merge #4542 - Prepare for the rust upgrade (from servo:pre-rustup_20141221); r=saneyuki
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.

Source-Repo: https://github.com/servo/servo
Source-Revision: ba8cf6b0e6145265f9472d4855f078d8b5943fe7
2015-01-04 12:39:47 -07:00
Manish Goregaokar
8e0ed407b9 servo: Merge #4485 - Replace most to_string calls by into_string calls (from servo:into_string); r=Ms2ger
`str::to_string()` goes through a `Formatter`, `str::into_string()` is a direct copy and is apparently 5× faster.

This is a rebase of the boring and bitrot-prone parts of #4366.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9857ea26cb9ee262654bee97322dbbf373486bff
2014-12-27 06:51:44 -07:00
Tetsuharu OHZEKI
91421a9ceb servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#4275

* This changeset rename "render"/"rendering" to "paint"/"painting" under `components/`.
* This does not rename words which are used as general browser's working.
  * So this doesn't change `reftest.rs`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b486b12109ab765ecee4cbcc684e5d99e8ad5ad
2014-12-08 10:28:10 -07:00
Glenn Watson
71f726977a servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00
Glenn Watson
ba8ee908e0 servo: Merge #3794 - Cache last fontgroup. Style recalc on wikipedia/rust 66ms -> 41ms (from glennw:font-content-opt); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 3910bc942fd04a8d263067916c51f53e3355fdff
2014-10-23 21:09:29 -06:00
Patrick Walton
8ef2ea6253 servo: Merge #3765 - util: Make some minor formatting cleanups to profiling and gfx (from pcwalton:profiler-cleanups); r=cgaebel
The only real user-visible change this effects is to trim URLs to 30 characters so they don't make huge lines on the terminal.

r? @cgaebel

Source-Repo: https://github.com/servo/servo
Source-Revision: a6f0159cb85e3b84a826c41ae5ad1b6aea09d7cc
2014-10-22 14:45:35 -06:00
Patrick Walton
b1af1ceca1 servo: Merge #3762 - gfx: Paint in parallel in CPU rendering mode (from pcwalton:parallel-painting); r=zwarich
r? @larsbergstrom @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 22d6aaf36980cdcb0202acc2576dfe742aafe885
2014-10-22 08:51:34 -06:00
Glenn Watson
d22b664cfb servo: Merge #3769 - Convert internal font code to store pt size as Au (from glennw:font-au); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 4b508195ace7490fda08f6d40fe64165feb91edd
2014-10-22 03:30:36 -06:00
Patrick Walton
19177725a9 servo: Merge #3722 - Overhaul flow construction with several performance improvements (from pcwalton:flow-construction-overhaul); r=glennw
This is a grab bag of performance improvements that significantly improve style recalculation, layout, and painting on a few static pages.

Let me know if you'd like me to split this PR up.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 156ca98236a57ee52ff5b68741bc7783ba073612
2014-10-21 10:06:37 -06:00
Glenn Watson
e4537dd960 servo: Merge #3711 - Remove render backend option as it doesn't work and confuses people (from glennw:cleanup-opts); r=pcwalton
r? @pcwalton @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: a983debaf16d788d500ce12262dc0b9b511b1e8e
2014-10-19 18:00:30 -06:00
Patrick Walton
4a3d80aa08 servo: Merge #3697 - layout: Remove FontStyle in favor of using the font style struct directly, and optimize get_layout_font_group() to use a small vector (from pcwalton: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

Source-Repo: https://github.com/servo/servo
Source-Revision: 83196ddb26b5611bccfa2d709396daeff259bcd1
2014-10-16 15:06:19 -06:00
Glenn Watson
bf9dd8e95a servo: Merge #3663 - Fix selection of fallback fonts. Fixes monospace fonts in rust guide (from glennw:font-fallback); r=pcwalton
Previously, any font template that could not be found would return an item from the last resort font family. Now, the last resort font family is only searched if the entire list of supplied font families is empty.

Source-Repo: https://github.com/servo/servo
Source-Revision: d04733cf595edf8ed5f0eaa414355f9cdc3d9c10
2014-10-13 20:24:37 -06:00
Glenn Watson
0c66868669 servo: Merge #3459 - Add support for small-caps font-variant (from glennw:small-caps)
Source-Repo: https://github.com/servo/servo
Source-Revision: 98222cf24cd64c246fc25b9009f3c198bf33dcbf
2014-09-24 09:49:05 +10: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
Glenn Watson
667bc8eb20 servo: Merge #3362 - Fix font flickering due to missed check in font cache (from glennw:fix-layout-fonts)
Source-Repo: https://github.com/servo/servo
Source-Revision: 7a5f15f13723a6c510ed05ad7875eb10b290dea2
2014-09-16 17:57:36 +10:00
Glenn Watson
3b5aaa9bb1 servo: Merge #3298 - Reduce number of font instances and shaper structures created (from glennw:fix-font-cache)
Source-Repo: https://github.com/servo/servo
Source-Revision: 883fc2e404855440c0165be1b8c28ca692f01830
2014-09-13 05:51:00 +10: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