2a016bad67
At the time Chromium is painting, we're passing node IDs along with painting commands to enable tagging. However, this assumes that all nodes will end up in the structure tree, which we might not want. Instead, allow the client to prune the structure tree later before telling Skia to generate the PDF, but keep all of the node IDs to be matched up with. As an example, suppose the doc looks like this: root id=1 paragraph id=2 div id=3 text1 id=4 link id=5 text2 id=6 The pruned tree passed to Skia would look like this: root id=1 paragraph id=2 extra_ids=3,4 link id=5 extra_ids=6 We need to pass the extra node IDs into Skia so that when content is tagged with id=4, we know to map that to the paragraph node with id=2 instead. Note that the resulting PDF document will *not* have any of these extra IDs, they're all remapped and consolidated. While it's not strictly necessary that this is done in Skia, it's easiest to implement it here. Doing the same upstream would require replaying an SkPicture and rewriting all of the node IDs. Bug: chromium:607777 Change-Id: I0ecb62651e60b84cc5b9d053d7f7d3b9efda1470 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/272462 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org> |
||
---|---|---|
.. | ||
SkPDFDocument.h | ||
SkXPSDocument.h |