• drott's avatar
    Unify glyph metrics to use the same Skia API · 9e47ba02
    drott authored
    Use identical glyph metrics based bounds in HarfBuzz callbacks as well
    as ShapeResult's glyph bounds calculation, except on Mac, due to Skia
    bug https://bugs.chromium.org/p/skia/issues/detail?id=5328
    
    * Using the same glyph bounds callback in HarfBuzz shaping and in
      ShapeResult's glyph bounds calculation enables reusing of the same
      cache in Skia, as opposed to using the cached glyph metrics based
      cache vs. using a second cache for path based metrics before.
    
    Local benchmarking of the blink_perf.layout shows 12.44%
    improvements for the character_fallback test and 1.8-5%
    improvements on chapter-reflow-once, line-layout and
    latin-complex-test. There are also some hits on flexbox-lots of
    data and flexbox-row-nowrap. I am not 100% convinced that the
    local benchmarks are accurate enough and would like to observe
    the results on the bot. Overall, we should see a layout speed
    improvement, perhaps even in the page cyclers.
    
    BUG=610313
    R=kojii,tzik
    
    Review-Url: https://codereview.chromium.org/1980913002
    Cr-Commit-Position: refs/heads/master@{#407755}
    9e47ba02
SimpleFontData.cpp 15.7 KB