LayoutNG inline outline initial implementation
I think that this patch is a good starting point for outline implementation. It implements a basic outline painting algorithm: - Outlines are painted by containing self painting fragment. - Outlines are computed as: traverse fragment's descendants combine outlines for fragments with common layout objects paint combined outlines, using first fragment as DisplayItem There are many problems: - All descendant fragments are traversed for each outline paint, even if there are no outlines to be painted. Fix: detect outline existence while descendants are being painted, and only call this code if there are outlines. There are 119 tests in our test suite that trigger inline outline paint code. With this patch, we get 4 regressions: fast/history/visited-link-hover-outline-color.html paint/invalidation/overflow/inline-block-overflow-repaint.html paint/invalidation/overflow/inline-box-overflow-repaint.html cause: improper invalidation fast/inline/nested-text-descendants.html cause: inline text position 15 additional tests pass. Bug: 714962 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_layout_ng;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Icccd225abac7e38fd9a871ee2914ff8d235474e3 Reviewed-on: https://chromium-review.googlesource.com/887633 Commit-Queue: Aleks Totic <atotic@chromium.org> Reviewed-by:Koji Ishii <kojii@chromium.org> Reviewed-by:
Emil A Eklund <eae@chromium.org> Cr-Commit-Position: refs/heads/master@{#532270}
Showing
This diff is collapsed.
Please register or sign in to comment