[SPv2] UpdateAuxiliaryObjectProperties introduced a O(n^2) to the PrePaint tree walk |
||||||
Issue descriptionupdateAuxiliaryObjectProperties calls enclosingLayer which walks back up the ancestor chain to the nearest layer. One way around this would be to cache enclosingLayer on the way down, but I'd like to avoid bloating PrePaintTreeWalkContext more than we have to.
,
Jan 19 2018
Is this still an issue?
,
Jan 19 2018
,
Jan 19 2018
This bug is SPv2 only. The fix seems simple: just let EnclosingLayer() return the parent layer if the object has layer.
,
Jan 19 2018
It's actually just replacing it with: ToLayoutBoxModelObject(current)->Layer() since the code early-outs if there is no PaintLayer.
,
Jan 19 2018
I have a quick fix in case you haven't already got one...
,
Jan 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0d801437338e54b9f79640f53e6e9c695ec82b4c commit 0d801437338e54b9f79640f53e6e9c695ec82b4c Author: Chris Harrelson <chrishtr@chromium.org> Date: Fri Jan 19 21:28:05 2018 [CI] Replace enclosingLayer with explicit lookup of layer. This emphasizes the fact that the enclosingLayer call is actually cheap because the object in question is guaranteed to have one, by the logic earlier in the method. Bug:682032 Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: Ifaba3ba951acf52380a52fe1111f20d5ad2d61cd Reviewed-on: https://chromium-review.googlesource.com/876731 Reviewed-by: Stephen Chenney <schenney@chromium.org> Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#530615} [modify] https://crrev.com/0d801437338e54b9f79640f53e6e9c695ec82b4c/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp
,
Jan 19 2018
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by sheriffbot@chromium.org
, Jan 19 2018Status: Untriaged (was: Available)