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

Issue 2515493002: Refactor HarfBuzzShaper to not retain font data (Closed)

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

Description

Refactor HarfBuzzShaper to not retain font data First part in a suite of changes to allow shaping of individual segments in a TextRun using a single HarfBuzzShaper instance with the prospective objective to support continuous text shaping across DOM node boundaries. This change removes the Font argument from the constructor and moves all font setup plus associated feature detection to the shapeResults method. By moving the font and font feature settings from the constructor to the shapeResults call each segment may specify a different font and features while sharing the same normalized text buffer and thus allowing segments to use the surrounding text as context while shaping. Additionally it moves ownership of the holes queue and font feature list from the class itself to the shapeResults method thereby simplifying the life cycle management for those collections and ensures that the feature settings list and the holes queue are both reset between each segment. TEST=HarfBuzzShaperTest.cpp BUG=666758 R=drott@chromium.org Committed: https://crrev.com/185f262ceb59340af223f08a89491beb71f30a2c Cr-Commit-Position: refs/heads/master@{#433222}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+319 lines, -304 lines) Patch
M third_party/WebKit/Source/platform/fonts/shaping/CachingWordShapeIterator.cpp View 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.h View 4 chunks +16 lines, -44 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaper.cpp View 14 chunks +274 lines, -244 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzShaperTest.cpp View 7 chunks +27 lines, -14 lines 0 comments Download

Messages

Total messages: 16 (10 generated)
eae
4 years, 1 month ago (2016-11-17 18:44:21 UTC) #4
drott
So you're going for TextRun paragraphText; HarfBuzzShaper shaper(paragraphText); RefPtr<ShapeResult> result = shaper.shapeRange(font, startIndex, endIndex); of ...
4 years, 1 month ago (2016-11-18 16:14:28 UTC) #7
eae
On 2016/11/18 16:14:28, drott wrote: > So you're going for > > TextRun paragraphText; > ...
4 years, 1 month ago (2016-11-18 16:23:02 UTC) #8
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/2515493002/1
4 years, 1 month ago (2016-11-18 16:44:55 UTC) #12
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 1 month ago (2016-11-18 17:06:00 UTC) #14
commit-bot: I haz the power
4 years, 1 month ago (2016-11-18 17:08:23 UTC) #16
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/185f262ceb59340af223f08a89491beb71f30a2c
Cr-Commit-Position: refs/heads/master@{#433222}

Powered by Google App Engine
This is Rietveld 408576698