Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(793)

Issue 2715773002: Add ShapeResult::RunInfo glyph iterators (Closed)

Created:
3 years, 10 months ago by f(malita)
Modified:
3 years, 9 months ago
Reviewers:
drott, eae
CC:
chromium-reviews, krit, drott+blinkwatch_chromium.org, blink-reviews-platform-graphics_chromium.org, dshwang, pdr+graphicswatchlist_chromium.org, jbroman, fmalita+watch_chromium.org, Rik, Stephen Chennney, Justin Novosad, blink-reviews, kinuko+watch, ajuma+watch_chromium.org, danakj+watch_chromium.org, rwlbuis, reed1
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add ShapeResult::RunInfo glyph iterators Introduce a couple of ShapeResult::RunInfo helper templates, to separate the glyph iteration logic from the current glyphBuffer routines. Refactor existing clients to use these helpers. The main objective is to externalize the glyph iteration logic (such that it can be reused for direct ShapeResultBuffer->text blob construction in the future), but the CL also includes a couple of tangential refactors: * simplify the character index range checks * de-templetize fillGlyphBufferForRun() and push the outer run loop into it (also renamed to fillGlyphBufferForResult and updated to return the total accumulated advance instead of advance delta) Note on the last point: the TextDirection template param was only used for index range checking; with the refactors above, we only branch on direction when the index is out-of-range - which is uncommon and doesn't warrant template parametrization. BUG=574136 R=drott@chromium.org,eae@chromium.org Review-Url: https://codereview.chromium.org/2715773002 Cr-Commit-Position: refs/heads/master@{#453215} Committed: https://chromium.googlesource.com/chromium/src/+/f90c9bae46bb1f944c1a6a9bff53e65e1cb29906

Patch Set 1 #

Patch Set 2 : cleanup #

Patch Set 3 : cleanup #

Patch Set 4 : de-templetize fillGlyphBufferForRun() #

Patch Set 5 : fillGlyphBufferForResult #

Unified diffs Side-by-side diffs Delta from patch set Stats (+106 lines, -65 lines) Patch
M third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.h View 1 2 3 4 1 chunk +7 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/ShapeResultBuffer.cpp View 1 2 3 4 4 chunks +46 lines, -57 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/ShapeResultInlineHeaders.h View 1 2 3 1 chunk +53 lines, -0 lines 0 comments Download

Messages

Total messages: 22 (17 generated)
f(malita)
Cluster Telemetry 10k numbers look good - if anything, there's a small (0.5-2%) improvement for ...
3 years, 10 months ago (2017-02-24 13:33:45 UTC) #15
nsphu.cnht
3 years, 10 months ago (2017-02-24 13:45:33 UTC) #16
eae
Nice cleanup! LGTM
3 years, 10 months ago (2017-02-25 01:20:52 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2715773002/80001
3 years, 9 months ago (2017-02-27 13:58:37 UTC) #19
commit-bot: I haz the power
3 years, 9 months ago (2017-02-27 15:22:11 UTC) #22
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/f90c9bae46bb1f944c1a6a9bff53...

Powered by Google App Engine
This is Rietveld 408576698