Commit Graph

577 Commits

Author SHA1 Message Date
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
ef7c0d2e17 servo: Merge #3675 - Add support for local font faces. Improves fonts on rust lang and guide (from glennw:local-fonts); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 48ce107d7275c08273cea6dca3523d0eee23eea7
2014-10-14 11:33:34 -06:00
Patrick Walton
58bfe948cb servo: Merge #3654 - layout: Rewrite clipping to be per-display-item instead of having a separate ClipDisplayItem (from pcwalton:clip-reform); r=mrobinson
We push down clipping areas during absolute position calculation. This
makes display items into a flat list, improving cache locality. It
dramatically simplifies the code all around.

Because we need to push down clip rects even for absolutely-positioned
children of non-absolutely-positioned flows, this patch alters the
parallel traversal to compute absolute positions for
absolutely-positioned children at the same time it computes absolute
positions for other children. This doesn't seem to break anything either
in theory (since the overall order remains correct) or in practice. It
simplifies the parallel traversal code quite a bit.

See the relevant Gecko bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=615734

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: fd70b366aeada7f8cb4b2457c04fd07f0ea9b143
2014-10-14 00:42:35 -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
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
Patrick Walton
4bd9850e8c servo: Merge #3599 - layout: Implement z-index (from pcwalton:z-index); r=glennw
r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: c4ac93b315f058d9a061b20ce64cacbead339f86
2014-10-08 23:33:33 -06:00
Martin Robinson
024f4dc09d servo: Merge #3567 - Account for RenderLayer position when optimizing display list (from mrobinson:optimizer); r=zwarich
The page_rect passed to DisplayListOptimizer is relative to the
RenderLayer origin, but the display list components are relative to the
page origin. Before passing the page rect to the display list, we
translate it by the RenderLayer position.

Source-Repo: https://github.com/servo/servo
Source-Revision: a6cd13c89054b605e1000bc3475153fbd2fde7bf
2014-10-03 16:27:25 -06:00
Patrick Walton
9d4a5b6ac1 servo: Merge #3560 - gfx: Use subpixel positioning for glyphs (from pcwalton:subpixel-glyph-positioning); r=mbrubeck
Improves text rendering significantly.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: adb428a725293fd639a0f188a32f3111ffca4d5b
2014-10-02 09:27:26 -06:00
Patrick Walton
2eba5fa0dd servo: Merge #3549 - gfx: Fix imprecision in float_to_fixed (from pcwalton:fix-float-to-fixed); r=zwarich
Improves text rendering a lot.

r? @zwarich

Source-Repo: https://github.com/servo/servo
Source-Revision: 622a6fb113081175bcc144e113e592dc2cf4b142
2014-10-01 23:18:23 -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
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
Ms2ger
205d685b7a servo: Merge #3466 - Remove redundant into_string() calls.; r=jdm (from Ms2ger:into_string)
Source-Repo: https://github.com/servo/servo
Source-Revision: 3b842c4f064607575f5c83b6f7ca5fa6492752ec
2014-09-24 07:40:17 +05: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
Manish Goregaokar
431ec41351 servo: Merge #3435 - Reorganize macros crate; r=jdm (from Manishearth:macro_reorg)
Source-Repo: https://github.com/servo/servo
Source-Revision: 27f3bcd7183d836bd454e687706b4e76d6d3b312
2014-09-23 17:53:37 +05:00
Simon Sapin
78f2bf8bfa servo: Merge #3437 - Use HTTPS for Cargo dependencies (from SimonSapin:https-deps)
Source-Repo: https://github.com/servo/servo
Source-Revision: c228b81ca8e851b3fd4e161ea83fc1d0913d516d
2014-09-21 11:00:34 +01: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
Clark Gaebel
603e2d1c80 servo: Merge #3379 - Added more complex profiling metadata (from cgaebel:bucketed-timing)
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b251db7323dce3b7838709c7d2dfb685d8b24a9
2014-09-18 09:12:34 -07:00
Matt Brubeck
5c59759b72 servo: Merge #3395 - Fix unit test failures. r=jdm (from mbrubeck:doctest)
Source-Repo: https://github.com/servo/servo
Source-Revision: 8aeb90e8c34a6872cf418643fef40e67382737e2
2014-09-17 17:05:29 -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
Jack Moffitt
788c9e2676 servo: Merge #3327 - Reinstate errors for unused variables and imports (from metajack:cargo-profiles)
Source-Repo: https://github.com/servo/servo
Source-Revision: 6c179127a311d2c1dcd4441098a176faafe51f52
2014-09-14 09:56:58 -04: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
Bryan Bell
d5e9a1f337 servo: Merge #3197 - Better handling of iframes in the compositor tree (from mrobinson:iframes)
Source-Repo: https://github.com/servo/servo
Source-Revision: 443bcc4d30940113b9507aeafd19ff16a937b4c9
2014-09-12 11:34:58 -07:00
Glenn Watson
ee17c60758 servo: Merge #3304 - Print debug message instead of fail when unable to load web font. Fixes #3301 (from glennw:allow-font-failure)
Source-Repo: https://github.com/servo/servo
Source-Revision: a2ab6f97991aa877a19ed24976694d451ac450cf
2014-09-12 10:12:51 -04:00
Glenn Watson
5f140fab01 servo: Merge #3256 - Improve quality of font rendering on Linux (and Android) (from glennw:font-fixes)
Source-Repo: https://github.com/servo/servo
Source-Revision: 6eeac023a939efe140b8bbdb0c32c437e7db5ffd
2014-09-09 18:39:27 -06: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