diff options
author | pdr <pdr@chromium.org> | 2016-03-15 16:13:39 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-15 23:15:28 +0000 |
commit | a3a50c140c60eb242df3dd4df06fe55cad117c75 (patch) | |
tree | b6f3d4cfce5a0f2dc74e51110d3160a101d3029a /chromeos/network/network_configuration_handler.h | |
parent | 22a56b37020ba32af0cc9ae3803828e9eab8e1be (diff) | |
download | chromium_src-a3a50c140c60eb242df3dd4df06fe55cad117c75.zip chromium_src-a3a50c140c60eb242df3dd4df06fe55cad117c75.tar.gz chromium_src-a3a50c140c60eb242df3dd4df06fe55cad117c75.tar.bz2 |
Iteratively compute SVG per-character glyph advances
With [1], HarfBuzz's per-glyph data is used directly in SVG text layout.
This patch improves on [1] by iteratively computing all character
advances in a single pass instead of calling the more expensive
ShapeResultsBuffer::getCharacterRange for each character.
This patch also fixes a minor bug in RTL combining markers. A run such
as "ــلا" which has an Arabic ligature followed
by two combining markers would incorrectly size the character advances.
With this patch, Blink's behavior matches Gecko's (with the exception
of how ligature positions are reported, see the TODO in
SVGTextMetricsCalculator::updateSubrunRangesForCurrentPosition). A test
has been added which covers several new combining marker edge cases.
This patch improves the SVGCubics performance benchmark by another 17%.
[1] https://crrev.com/304ec1544273ed8d62c693da6dd2c63727805cdd
BUG=589525
Review URL: https://codereview.chromium.org/1794943005
Cr-Commit-Position: refs/heads/master@{#381346}
Diffstat (limited to 'chromeos/network/network_configuration_handler.h')
0 files changed, 0 insertions, 0 deletions