Implement subsequence caching for SVG content |
||||||||
Issue descriptionSVG content and its subtree paints atomically. Therefore we should be able to add subsequence caching markers in LayoutSVGRoot.
,
Nov 10 2016
I think this will help with issue 656320.
,
Nov 11 2016
,
Nov 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bb1c8b9d3e4acb60fb489f878963e2ccbb936b61 commit bb1c8b9d3e4acb60fb489f878963e2ccbb936b61 Author: chrishtr <chrishtr@chromium.org> Date: Sat Nov 12 00:20:53 2016 Cache display items from SVGImage contents. It works as follows: 1. SkPictureBuilder now allows an existing PaintController to be passed in the constructor. 2. SVGImage stores a local PaintController for painting image contents. 3. When painting frames that do not invalidate the SVGImage contents, the PaintController for the image will have the cached DisplayItems from it, and subsequence caching will allow the LayoutView of the Page belonging to the SVGImage to be reused. 4. If any invalidation happens on the SVGImage, the usual caching behavior of SVG will result in the PaintController for the SVG noticing and not caching DisplayItems or subsequences as appropriate. (*) (*) this is easy now, because of the changes made earlier this year to use global invalidation cache epochs rather than PaintController-specific ones. BUG= 663953 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2500533003 Cr-Commit-Position: refs/heads/master@{#431695} [modify] https://crrev.com/bb1c8b9d3e4acb60fb489f878963e2ccbb936b61/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp [modify] https://crrev.com/bb1c8b9d3e4acb60fb489f878963e2ccbb936b61/third_party/WebKit/Source/core/svg/graphics/SVGImage.h [modify] https://crrev.com/bb1c8b9d3e4acb60fb489f878963e2ccbb936b61/third_party/WebKit/Source/platform/graphics/paint/SkPictureBuilder.cpp [modify] https://crrev.com/bb1c8b9d3e4acb60fb489f878963e2ccbb936b61/third_party/WebKit/Source/platform/graphics/paint/SkPictureBuilder.h
,
Nov 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a77dfb5865c1fc52c2094acba37fea629e26ccf5 commit a77dfb5865c1fc52c2094acba37fea629e26ccf5 Author: chrishtr <chrishtr@chromium.org> Date: Mon Nov 14 23:37:28 2016 Allow subsequence caching for SVG roots that have PaintLayers. SVG subtrees paint atomically, which is all that is needed to get this feature. BUG= 663953 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Review-Url: https://codereview.chromium.org/2498763002 Cr-Commit-Position: refs/heads/master@{#431973} [modify] https://crrev.com/a77dfb5865c1fc52c2094acba37fea629e26ccf5/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp [modify] https://crrev.com/a77dfb5865c1fc52c2094acba37fea629e26ccf5/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp
,
Nov 14 2016
,
Nov 15 2016
,
Nov 17 2016
Need to de-flake: paint/invalidation/svg/image-animation-with-zoom.html
,
Nov 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8934714bb524f1a32b6d5434fea0ac59660cf6ff commit 8934714bb524f1a32b6d5434fea0ac59660cf6ff Author: chrishtr <chrishtr@chromium.org> Date: Fri Nov 18 17:39:28 2016 Don't paint SVG image documents unless actually painting. BUG= 663953 TEST=paint/invalidation/svg/image-animation-with-zoom.html Review-Url: https://codereview.chromium.org/2509113004 Cr-Commit-Position: refs/heads/master@{#433228} [modify] https://crrev.com/8934714bb524f1a32b6d5434fea0ac59660cf6ff/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
,
Nov 18 2016
,
Nov 19 2016
Need to merge the commit from comment 9 into M56, which branched at revision 433059.
,
Nov 19 2016
Your change meets the bar and is auto-approved for M56 (branch: 2924)
,
Nov 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d10f5177f9eb5cb97c2eb94aa6bd427da0374831 commit d10f5177f9eb5cb97c2eb94aa6bd427da0374831 Author: Chris Harrelson <chrishtr@chromium.org> Date: Sun Nov 20 00:08:44 2016 Don't paint SVG image documents unless actually painting. BUG= 663953 TEST=paint/invalidation/svg/image-animation-with-zoom.html Review-Url: https://codereview.chromium.org/2509113004 Cr-Commit-Position: refs/heads/master@{#433228} (cherry picked from commit 8934714bb524f1a32b6d5434fea0ac59660cf6ff) Review URL: https://codereview.chromium.org/2520703002 . Cr-Commit-Position: refs/branch-heads/2924@{#12} Cr-Branched-From: 3a87aecc31cd1ffe751dd72c04e5a96a1fc8108a-refs/heads/master@{#433059} [modify] https://crrev.com/d10f5177f9eb5cb97c2eb94aa6bd427da0374831/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
,
Nov 20 2016
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by chrishtr@chromium.org
, Nov 10 2016Status: Assigned (was: Available)