Perform SVG text chunk processing on-the-fly
Instead of building a vector of chunks, and then process that vector,
process the chunks as they are formed. The chunks themselves are
independent units, so this is reasonably straight-forward. The main
change is that instead of creating and adding an SVGTextChunk to a
vector, the data used to create the chunk is passed to a handler
method. Because of how <textPath> is handled, this handler currently
needs to be a virtual method. Because of that, a SVGTextChunkBuilder
is subclassed to SVGTextPathChunkBuilder for the text-on-path
processing.
Using the PerfTestRunner.measurePageLoadTime harness with
separate-x.svg from the bug give the following results locally:
Before: After:
avg 100.5 ms -> 89.5 ms
median 100.5 ms -> 88.7 ms
stdev 2.1 ms -> 3.2 ms
BUG=486669
Review URL: https://codereview.chromium.org/1155293005
git-svn-id: svn://svn.chromium.org/blink/trunk@196040 bbb929c8-8fbe-4397-9dbb-9b2b20218538
3 files changed