New issue
Advanced search Search tips

Issue 916768 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 922381

Blocking:
issue 471333
issue 524134
issue 921245



Sign in to add a comment

[CompositeAfterPaint] Implement InspectorLayerTreeAgent

Project Member Reported by wangxianzhu@chromium.org, Dec 19

Issue description

Currently InspectorLayerTreeAgent uses graphics layer tree which doesn't exist in CompositeAfterPaint. Need to switch it to cc layers.


 
Blocking: 524134
Cc: flackr@chromium.org
Labels: -Pri-3 Pri-2
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Available)
Components: Blink>Compositing
Components: Platform>DevTools>Performance
caseq@ what do you think about removing blink::InspectorLayerTreeAgent or keeping it as another code path besides Performance/Frames/Layers?

The following is copied from my pose to devtools team:

It seems that DevToolsMenu -> More tools -> Layers uses blink::InspectorLayerTreeAgent. I didn't find it because I thought the "Console" menu contains all items of "More tools" and didn't notice that "Layers" is an exception.

The Layers panel seems to have some features that the Performance/Frames/Layers doesn't have, e.g. real time layer tree update and DOM ids. However, I wonder how many people are using the Layers panel and if it can be substituted with Performance/Frames/Layers. If we remove blink::InspectorLayerTreeAgent, we can just have one code path for layer information instead of two. To me Performance/Frames/Layers seems a good substitution of the Layers panel. (Actually I didn't know these features before I started to work on the related code in blink. I always used frame viewer in about:tracing for the same information).

What do you think about removing blink::InspectorLayerTreeAgent?
Cc: pfeldman@chromium.org paulir...@chromium.org
Paul, do you think we can nuke the Layers panel?
Is the proposal to remove Layers panel (with realtime updates) but keep the layer snapshots and paint profiler accessible from Perf panel?
I think so -- these are not based on the InspectorLayerTreeAgent, execept for some bits of the paint profiler. Not sure how relevant the Paint Profiler is nowadays, considering slimming paint and then GPU rasterization -- maybe Xianzhu can comment on that.
Yes. The main reason is that the Layers panel needs a new implementation of InspectorLayerTreeAgent for CompositeAfterPaint, while Performance/Frames/Layers which is based on cc::LayerImpl works just fine CompositeAfterPaint. Do you have usage data of the Layers panel? If many people are using it, perhaps we'd better keep it. Otherwise we can save some work.
> Not sure how relevant the Paint Profiler is nowadays

I don't perf audit as much as I used to, but paint cost (rasterization cost specifically?) rarely comes up as a bottleneck. So I'm pretty comfortable setting Paint Profiler out to pasture.


> do you think we can nuke the Layers panel?

I do still find a lot of justification for exploring the Layer Tree. "Update Layer Tree" is often quite expensive and comparing DOM against Layers is the only technique I know to reduce cost.  

Getting live updates however isn't very important. So I think the Layers panel would deliver all the same value if the user had to request a new snapshot. (It'd also solve the perf issues).  With that change to the UX, could the layers panel migrate to cc::LayerImpl, perhaps via capturing a short trace?
I don't think we can remove the useful tool without offering a replacement. I just searched for "devtools layers panel" and found a bunch of useful videos and tutorials. What is the cost of switching it to the cc layers? Can cc layers still be used in an actionable manner to improve rendering performance?
Thanks for replies. Now I know that the Layers panel is still useful and I agree to keep it.

Actually I already have a CL to migrate InspectorLayerTreeAgent to cc::Layer: https://chromium-review.googlesource.com/c/chromium/src/+/1391351 which already works for common cases. Will continue to make it fully work.

cc::Layer and blink::GraphicsLayers are almost 1:1 mapping so they provide the same manner for rendering performance. In CompositeAfterPaint we no longer have GraphicsLayers.
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 9

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

commit c511695d39c66782d29f51c1bd7b2457dc8634b8
Author: Philip Rogers <pdr@chromium.org>
Date: Wed Jan 09 00:21:24 2019

Continue using cc::Layer::SetPosition with BlinkGenPropertyTrees

Because the inspector still has cc::Layer::position dependencies (see:
https://crbug.com/916768), we need to continue setting
cc::Layer::SetPosition with BlinkGenPropertyTrees. This patch restores
two callsites that were skipped in https://crrev.com/620350 and
https://crrev.com/620545.

Bug:  911664 , 916768
Change-Id: Ie715282b40e40a51002adf07e933ff31b1e8f2fe
Reviewed-on: https://chromium-review.googlesource.com/c/1401233
Commit-Queue: Philip Rogers <pdr@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620956}
[modify] https://crrev.com/c511695d39c66782d29f51c1bd7b2457dc8634b8/third_party/blink/renderer/core/frame/visual_viewport.cc
[modify] https://crrev.com/c511695d39c66782d29f51c1bd7b2457dc8634b8/third_party/blink/renderer/platform/graphics/graphics_layer.cc

Blocking: 921245
Project Member

Comment 13 by bugdroid1@chromium.org, Jan 16 (6 days ago)

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

commit e0e0e3b5f844cbe32fea55f63300b8f727f50282
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Wed Jan 16 07:38:57 2019

Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer

This prepares for CompositeAfterPaint because GraphicsLayer will
disappear.

- Move compositing_reasons, owner_node_id and paint_count from
  GraphicsLayer into cc::Layer.

- Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer.

- To support layer lists, cheat devtools front-end by setting
  drawsContent to true for the root layer, to let devtools can find
  the contentRoot correctly.

Bug:  920698 ,916768
Change-Id: I0f1c7c73a5c1a5c491f5d0986d8f38558a67540f
Reviewed-on: https://chromium-review.googlesource.com/c/1391351
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623147}
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/cc/layers/layer.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/cc/layers/layer.h
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/cc/layers/picture_layer.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.h
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/frame/frame_overlay.h
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/frame/local_frame_view.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/frame/local_frame_view.h
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/inspector/inspector_layer_tree_agent.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/inspector/inspector_layer_tree_agent.h
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/inspector/inspector_overlay_agent.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/inspector/inspector_overlay_agent.h
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/core/probe/core_probes.pidl
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/platform/graphics/graphics_layer.cc
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/renderer/platform/graphics/graphics_layer.h
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/web_tests/http/tests/devtools/layers/layer-canvas-log-expected.txt
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/web_tests/http/tests/devtools/layers/layer-tree-model-expected.txt
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/web_tests/http/tests/devtools/layers/layers-3d-view-hit-testing-expected.txt
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/web_tests/http/tests/devtools/layers/layers-3d-view-hit-testing.js
[modify] https://crrev.com/e0e0e3b5f844cbe32fea55f63300b8f727f50282/third_party/blink/web_tests/inspector-protocol/layers/paint-profiler-expected.txt
[delete] https://crrev.com/4cfcfb7e679f7b406834b73c9e9cabde1e82a3f3/third_party/blink/web_tests/platform/win7/virtual/threaded/http/tests/devtools/tracing/timeline-paint/layer-tree-expected.txt

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 16 (6 days ago)

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

commit 619972bd959e47fecd4f16dc8bde0eaed0137efa
Author: Arthur Sonzogni <arthursonzogni@chromium.org>
Date: Wed Jan 16 09:15:35 2019

Revert "Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer"

This reverts commit e0e0e3b5f844cbe32fea55f63300b8f727f50282.

Reason for revert: compile failure on android. 
See https://crbug.com/922381

Original change's description:
> Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer
> 
> This prepares for CompositeAfterPaint because GraphicsLayer will
> disappear.
> 
> - Move compositing_reasons, owner_node_id and paint_count from
>   GraphicsLayer into cc::Layer.
> 
> - Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer.
> 
> - To support layer lists, cheat devtools front-end by setting
>   drawsContent to true for the root layer, to let devtools can find
>   the contentRoot correctly.
> 
> Bug:  920698 ,916768
> Change-Id: I0f1c7c73a5c1a5c491f5d0986d8f38558a67540f
> Reviewed-on: https://chromium-review.googlesource.com/c/1391351
> Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
> Reviewed-by: vmpstr <vmpstr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#623147}

TBR=wangxianzhu@chromium.org,vmpstr@chromium.org,pdr@chromium.org,caseq@chromium.org

Change-Id: Ic057ee027b663c6d9905b62d25ec74aa9851ba5d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  920698 , 916768, 922381
Reviewed-on: https://chromium-review.googlesource.com/c/1412023
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623166}
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/cc/layers/layer.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/cc/layers/layer.h
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/cc/layers/picture_layer.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.h
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/frame/frame_overlay.h
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/frame/local_frame_view.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/frame/local_frame_view.h
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/inspector/inspector_layer_tree_agent.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/inspector/inspector_layer_tree_agent.h
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/inspector/inspector_overlay_agent.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/inspector/inspector_overlay_agent.h
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/core/probe/core_probes.pidl
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/platform/graphics/graphics_layer.cc
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/renderer/platform/graphics/graphics_layer.h
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/web_tests/http/tests/devtools/layers/layer-canvas-log-expected.txt
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/web_tests/http/tests/devtools/layers/layer-tree-model-expected.txt
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/web_tests/http/tests/devtools/layers/layers-3d-view-hit-testing-expected.txt
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/web_tests/http/tests/devtools/layers/layers-3d-view-hit-testing.js
[modify] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/web_tests/inspector-protocol/layers/paint-profiler-expected.txt
[add] https://crrev.com/619972bd959e47fecd4f16dc8bde0eaed0137efa/third_party/blink/web_tests/platform/win7/virtual/threaded/http/tests/devtools/tracing/timeline-paint/layer-tree-expected.txt

Comment 15 by wangxianzhu@chromium.org, Jan 16 (6 days ago)

Status: Fixed (was: Assigned)

Comment 16 by wangxianzhu@chromium.org, Jan 16 (6 days ago)

Status: Assigned (was: Fixed)

Comment 17 by wangxianzhu@chromium.org, Jan 16 (6 days ago)

Blockedon: 922381
Project Member

Comment 18 by bugdroid1@chromium.org, Jan 17 (6 days ago)

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

commit b86841965a5b084cb9f6a1ffe8a4042911e28ff3
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Thu Jan 17 00:51:13 2019

Reland "Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer"

This reverts commit 619972bd959e47fecd4f16dc8bde0eaed0137efa.

Original change's description:
> Revert "Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer"
>
> This reverts commit e0e0e3b5f844cbe32fea55f63300b8f727f50282.
>
> Reason for revert: compile failure on android.
> See https://crbug.com/922381
>
> Original change's description:
> > Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer
> >
> > This prepares for CompositeAfterPaint because GraphicsLayer will
> > disappear.
> >
> > - Move compositing_reasons, owner_node_id and paint_count from
> >   GraphicsLayer into cc::Layer.
> >
> > - Let InspectorLayerTreeAgent use cc::Layer instead of GraphicsLayer.
> >
> > - To support layer lists, cheat devtools front-end by setting
> >   drawsContent to true for the root layer, to let devtools can find
> >   the contentRoot correctly.
> >
> > Bug:  920698 ,916768
> > Change-Id: I0f1c7c73a5c1a5c491f5d0986d8f38558a67540f
> > Reviewed-on: https://chromium-review.googlesource.com/c/1391351
> > Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
> > Reviewed-by: Philip Rogers <pdr@chromium.org>
> > Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
> > Reviewed-by: vmpstr <vmpstr@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#623147}
>
> TBR=wangxianzhu@chromium.org,vmpstr@chromium.org,pdr@chromium.org,caseq@chromium.org
>
> Change-Id: Ic057ee027b663c6d9905b62d25ec74aa9851ba5d
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  920698 , 916768, 922381
> Reviewed-on: https://chromium-review.googlesource.com/c/1412023
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Arthur Sonzogni <arthursonzogni@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#623166}

TBR=wangxianzhu@chromium.org,vmpstr@chromium.org,pdr@chromium.org,caseq@chromium.org,arthursonzogni@chromium.org

Change-Id: I555434b005dcd8cf2000effe860012c419a675e4
Bug:  920698 , 916768, 922381
Reviewed-on: https://chromium-review.googlesource.com/c/1414765
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623474}
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/cc/layers/layer.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/cc/layers/layer.h
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/cc/layers/picture_layer.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.h
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/frame/frame_overlay.h
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/frame/local_frame_view.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/frame/local_frame_view.h
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/inspector/inspector_layer_tree_agent.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/inspector/inspector_layer_tree_agent.h
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/inspector/inspector_overlay_agent.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/inspector/inspector_overlay_agent.h
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/paint/compositing/composited_layer_mapping.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/core/probe/core_probes.pidl
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/platform/graphics/graphics_layer.cc
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/renderer/platform/graphics/graphics_layer.h
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/tools/blinkpy/presubmit/audit_non_blink_usage.py
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/web_tests/http/tests/devtools/layers/layer-canvas-log-expected.txt
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/web_tests/http/tests/devtools/layers/layer-tree-model-expected.txt
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/web_tests/http/tests/devtools/layers/layers-3d-view-hit-testing-expected.txt
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/web_tests/http/tests/devtools/layers/layers-3d-view-hit-testing.js
[modify] https://crrev.com/b86841965a5b084cb9f6a1ffe8a4042911e28ff3/third_party/blink/web_tests/inspector-protocol/layers/paint-profiler-expected.txt
[delete] https://crrev.com/a88fb569a28da1f4a3c45dfc792e43c981637848/third_party/blink/web_tests/platform/win7/virtual/threaded/http/tests/devtools/tracing/timeline-paint/layer-tree-expected.txt

Comment 19 by wangxianzhu@chromium.org, Jan 17 (6 days ago)

Status: Fixed (was: Assigned)

Comment 20 by wangxianzhu@chromium.org, Jan 18 (4 days ago)

Status: Assigned (was: Fixed)
I've just done the first step. We still need to let layers agent work for CompositeAfterPaint.

Sign in to add a comment