New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 596983 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 591199



Sign in to add a comment

Subsequence caching does not work in spv2

Project Member Reported by pdr@chromium.org, Mar 22 2016

Issue description

Our subsequence caching implementation for spv1 is not sufficient for spv2 because paint properties need to be considered in the caching logic.

@WangXianzhu, I'm assigning this to you but I don't think we should work on it quite yet. Once we have the new spv1 paint invalidation system in place, this may be easier to implement.
 
Blockedon: 591199
Cc: trchen@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/95cfc911f623ea4e98e29e74350898fadda14af8

commit 95cfc911f623ea4e98e29e74350898fadda14af8
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Wed Jul 13 03:00:23 2016

Find cached display items directly during painting

Instead of adding CachedDisplayItems in the new display item list and
replace them with real cached display items during commit, now find and
add the real cached display items during painting directly.

The main purpose is to let PaintChunker work for cached subsequences.

Also has other benefits:
- Avoid another display list during commit;
- Avoid creating CachedDisplayItems.

BUG= 596983 , 510908 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2107103002
Cr-Commit-Position: refs/heads/master@{#404938}

[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/LayoutObjectDrawingRecorderTest.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/README.md
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/blink_platform.gypi
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/ContiguousContainer.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h
[delete] https://crrev.com/cedaf8d293f3ab120e383f0e5adcb00b4d8710b2/third_party/WebKit/Source/platform/graphics/paint/CachedDisplayItem.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/PaintController.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/README.md
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/SubsequenceRecorder.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/SubsequenceRecorder.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 13 2016

Labels: merge-merged-2795
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/95cfc911f623ea4e98e29e74350898fadda14af8

commit 95cfc911f623ea4e98e29e74350898fadda14af8
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Wed Jul 13 03:00:23 2016

Find cached display items directly during painting

Instead of adding CachedDisplayItems in the new display item list and
replace them with real cached display items during commit, now find and
add the real cached display items during painting directly.

The main purpose is to let PaintChunker work for cached subsequences.

Also has other benefits:
- Avoid another display list during commit;
- Avoid creating CachedDisplayItems.

BUG= 596983 , 510908 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2107103002
Cr-Commit-Position: refs/heads/master@{#404938}

[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/LayoutObjectDrawingRecorderTest.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/core/paint/README.md
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/blink_platform.gypi
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/ContiguousContainer.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/GraphicsLayer.h
[delete] https://crrev.com/cedaf8d293f3ab120e383f0e5adcb00b4d8710b2/third_party/WebKit/Source/platform/graphics/paint/CachedDisplayItem.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/PaintController.h
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/README.md
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/SubsequenceRecorder.cpp
[modify] https://crrev.com/95cfc911f623ea4e98e29e74350898fadda14af8/third_party/WebKit/Source/platform/graphics/paint/SubsequenceRecorder.h

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 15 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/63b12484f2c59ba177a21aba09b8a4edd38e6ea1

commit 63b12484f2c59ba177a21aba09b8a4edd38e6ea1
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Fri Jul 15 18:52:10 2016

New PaintController under-invalidation checking

This is a follow-up of https://codereview.chromium.org/2107103002/
which broke the original under-invalidation checking in
PaintController.

BUG= 596983 , 510908 

Review-Url: https://codereview.chromium.org/2114653003
Cr-Commit-Position: refs/heads/master@{#405805}

[modify] https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1/third_party/WebKit/LayoutTests/fast/repaint/resources/text-based-repaint.js
[modify] https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1/third_party/WebKit/LayoutTests/fast/repaint/resources/window-resize-repaint.js
[modify] https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1/third_party/WebKit/LayoutTests/resources/run-after-layout-and-paint.js
[modify] https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h
[modify] https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1/third_party/WebKit/Source/platform/graphics/paint/PaintController.h

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f2f05c78616f02157cd1414905a8692f227d9a64

commit f2f05c78616f02157cd1414905a8692f227d9a64
Author: grt <grt@chromium.org>
Date: Mon Jul 18 14:47:10 2016

Revert of New PaintController under-invalidation checking (patchset #7 id:120001 of https://codereview.chromium.org/2114653003/ )

Reason for revert:
NOTREACHED being hit in checkUnderInvalidation on WebKit Win7 (dbg); see https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7%20%28dbg%29/builds/6481.

Original issue's description:
> New PaintController under-invalidation checking
>
> This is a follow-up of https://codereview.chromium.org/2107103002/
> which broke the original under-invalidation checking in
> PaintController.
>
> BUG= 596983 , 510908 
>
> Committed: https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1
> Cr-Commit-Position: refs/heads/master@{#405805}

TBR=chrishtr@chromium.org,pdr@chromium.org,wangxianzhu@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 596983 , 510908 

Review-Url: https://codereview.chromium.org/2156053002
Cr-Commit-Position: refs/heads/master@{#405988}

[modify] https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64/third_party/WebKit/LayoutTests/fast/repaint/resources/text-based-repaint.js
[modify] https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64/third_party/WebKit/LayoutTests/fast/repaint/resources/window-resize-repaint.js
[modify] https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64/third_party/WebKit/LayoutTests/resources/run-after-layout-and-paint.js
[modify] https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h
[modify] https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64/third_party/WebKit/Source/platform/graphics/paint/PaintController.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ecaad1e063c8e6c7033733a040250e38d1ddee28

commit ecaad1e063c8e6c7033733a040250e38d1ddee28
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Mon Jul 18 16:54:55 2016

Reland of New PaintController under-invalidation checking (patchset #1 id:1 of https://codereview.chromium.org/2156053002/ )

Reason for revert:
The original CL is to discover such bugs. Will mark the test failure in the reland.

Original issue's description:
> Revert of New PaintController under-invalidation checking (patchset #7 id:120001 of https://codereview.chromium.org/2114653003/ )
>
> Reason for revert:
> NOTREACHED being hit in checkUnderInvalidation on WebKit Win7 (dbg); see https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7%20%28dbg%29/builds/6481.
>
> Original issue's description:
> > New PaintController under-invalidation checking
> >
> > This is a follow-up of https://codereview.chromium.org/2107103002/
> > which broke the original under-invalidation checking in
> > PaintController.
> >
> > BUG= 596983 , 510908 
> >
> > Committed: https://crrev.com/63b12484f2c59ba177a21aba09b8a4edd38e6ea1
> > Cr-Commit-Position: refs/heads/master@{#405805}
>
> TBR=chrishtr@chromium.org,pdr@chromium.org,wangxianzhu@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG= 596983 , 510908 
>
> Committed: https://crrev.com/f2f05c78616f02157cd1414905a8692f227d9a64
> Cr-Commit-Position: refs/heads/master@{#405988}

TBR=chrishtr@chromium.org,pdr@chromium.org,grt@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 596983 , 510908 

Review-Url: https://codereview.chromium.org/2162603002
Cr-Commit-Position: refs/heads/master@{#406016}

[modify] https://crrev.com/ecaad1e063c8e6c7033733a040250e38d1ddee28/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/ecaad1e063c8e6c7033733a040250e38d1ddee28/third_party/WebKit/LayoutTests/fast/repaint/resources/text-based-repaint.js
[modify] https://crrev.com/ecaad1e063c8e6c7033733a040250e38d1ddee28/third_party/WebKit/LayoutTests/fast/repaint/resources/window-resize-repaint.js
[modify] https://crrev.com/ecaad1e063c8e6c7033733a040250e38d1ddee28/third_party/WebKit/LayoutTests/resources/run-after-layout-and-paint.js
[modify] https://crrev.com/ecaad1e063c8e6c7033733a040250e38d1ddee28/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h
[modify] https://crrev.com/ecaad1e063c8e6c7033733a040250e38d1ddee28/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/ecaad1e063c8e6c7033733a040250e38d1ddee28/third_party/WebKit/Source/platform/graphics/paint/PaintController.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/808643f3e84e993f05d2d2afdf1bab56217291b0

commit 808643f3e84e993f05d2d2afdf1bab56217291b0
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Fri Jul 22 20:21:09 2016

Reuse existing paint property node is possible

This is required by subsequence caching for spv2. When we copy a cached
subsequence, we won't do actual paint and will use the existing
PaintChunkProperties which points to the paint property nodes created
during the previous paint. We are sure that the values of these property
nodes didn't change since the previous paint because we can use the
cached subsequence.

To meet this requirement, when building the paint property tree, instead
of rebuilding the whole tree by creating all new nodes, we should reuse
the existing nodes if their values don't change. The reused nodes should
be placed in the new tree.

In the future we may also reuse a whole subtree of property nodes.

BUG= 596983 

Review-Url: https://codereview.chromium.org/2144823006
Cr-Commit-Position: refs/heads/master@{#407243}

[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/core/paint/ObjectPaintProperties.h
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.cpp
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilder.h
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/paint/ClipPaintPropertyNode.h
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/paint/EffectPaintPropertyNode.h
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/paint/GeometryMapperTest.cpp
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/paint/PaintArtifactToSkCanvasTest.cpp
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/paint/PaintChunkerTest.cpp
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/paint/PropertyTreeStateTest.cpp
[modify] https://crrev.com/808643f3e84e993f05d2d2afdf1bab56217291b0/third_party/WebKit/Source/platform/graphics/paint/TransformPaintPropertyNode.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dbea1f7009644ea416e5e0129bc255b946a88f73

commit dbea1f7009644ea416e5e0129bc255b946a88f73
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Tue Jul 26 02:03:10 2016

Use index instead of iterator into DisplayItemList in PaintController

he problem of an iterator is that it will be invalid when the vector
reallocates buffer. An index won't be invalid as long as we don't
add/remove any item before the index.

An examples that we had used indices before this CL is
DisplayItemIndicesByClientMap which maps DisplayItemClient to indices
of display items. Iterators don't work because the map is built when we
are adding items into the list. Once the list reallocates the underlying
buffer, all existing iterators might become invalid.

Another example is
m_underInvalidationCheckingBegin/m_underInvalidationCheckingEnd.
Before this CL we had to reset them in appendDebugDrawingAfterCommit()
when the list changes. (I had a hard time debugging a flaky crash caused
by an invalid iterator before adding the reset code.)

Because we have to use indices, if we use iterators we have to convert
between them.

The main purpose of this CL is for https://codereview.chromium.org/2176573004/
which requires us to find a cached chunk by index of a display item.
Otherwise we would add another place converting iterator to index.

This CL doesn't expose indices across public api boundary.

Run 1093 of ct (https://ct.skia.org/chromium_perf_runs/) showed no performance
impact.

BUG= 596983 

Review-Url: https://codereview.chromium.org/2176683003
Cr-Commit-Position: refs/heads/master@{#407683}

[modify] https://crrev.com/dbea1f7009644ea416e5e0129bc255b946a88f73/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/dbea1f7009644ea416e5e0129bc255b946a88f73/third_party/WebKit/Source/platform/graphics/paint/PaintController.h

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 27 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/599b19c6d8dfff6ab923aec291587c5df04741f7

commit 599b19c6d8dfff6ab923aec291587c5df04741f7
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Wed Jul 27 00:13:36 2016

Enable subsequence caching for spv2

When copying subsequences, copy paint chunk properties from cached chunks
to new chunks.

BUG= 596983 

Review-Url: https://codereview.chromium.org/2176573004
Cr-Commit-Position: refs/heads/master@{#407983}

[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp
[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.h
[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.cpp
[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.h
[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/platform/graphics/paint/PaintChunk.h
[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/platform/graphics/paint/PaintChunker.h
[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/599b19c6d8dfff6ab923aec291587c5df04741f7/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment