Establish property tree node isolation on containment |
|
Issue descriptionWhen we're in contain: paint, we should be able to establish a property tree node isolation, meaning the contain paint element is guaranteed to have property tree nodes that serve as ancestors of all descendants in the subtree. This, in turn, allows us to optimize updates when the property tree structure changes outside of the contain paint. That is, we don't have to update the tree structure below the contain paint element, if nothing has changed in the subtree.
,
Aug 22
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a75983ce848a502513d4be86e91afb7bfc8418fe commit a75983ce848a502513d4be86e91afb7bfc8418fe Author: Vladimir Levin <vmpstr@chromium.org> Date: Wed Aug 22 18:18:04 2018 Ensure that LayoutMenuList has LocalBorderBoxProperties. LayoutMenuList can have an overflow clip, but UpdateLocalBorderBoxContext doesn't check that, relying on other conditions to check if we need local border box properties. This patch changes it so that it also explicitly considers existence of the overflow clip when deciding whether to create local border box properites. This is needed for us to be able to get the ContentsProperties, which would include the overflow clip. Existence of ContentsProperties, or our ability to get them, depends on the existence of the LocalBorderBoxProperties. R=pdr@chromium.org, chrishtr@chromium.org Bug: 870521 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I1a6c08f94c3066c7524b2557b4f884e3fc7dd61a Reviewed-on: https://chromium-review.googlesource.com/1183851 Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: vmpstr <vmpstr@chromium.org> Cr-Commit-Position: refs/heads/master@{#585171} [modify] https://crrev.com/a75983ce848a502513d4be86e91afb7bfc8418fe/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc [modify] https://crrev.com/a75983ce848a502513d4be86e91afb7bfc8418fe/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc
,
Aug 24
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2c7bd7f4b6b155cd29ad883085191e36f57bc9ca commit 2c7bd7f4b6b155cd29ad883085191e36f57bc9ca Author: Vladimir Levin <vmpstr@chromium.org> Date: Fri Aug 24 00:34:51 2018 Skip empty-clip fragments when creating flow thread contexts. This patch ensures that when the fragmentainer iterator returns a fragment that has an empty clip, we skip generating a fragment for it. This is important since a fragment that has an empty clip can share the logical top with the subsequent fragment, meaning that we cannot use the logical top to uniquely identify a fragment. This patch addresses this issue. Furthermore, we typically skip painting fragments that have empty clips anyway (for obvious reasons), so this should not impact painted contents. R=chrishtr@chromium.org, wangxianzhu@chromium.org Bug: 870521 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I9f2f6311e0c3c75e4a8d114f13476ce8774e8218 Reviewed-on: https://chromium-review.googlesource.com/1187234 Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org> Cr-Commit-Position: refs/heads/master@{#585671} [modify] https://crrev.com/2c7bd7f4b6b155cd29ad883085191e36f57bc9ca/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc [modify] https://crrev.com/2c7bd7f4b6b155cd29ad883085191e36f57bc9ca/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc
,
Sep 6
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/17957e83e387cb9bce164932fa3fa02cafdeaffb commit 17957e83e387cb9bce164932fa3fa02cafdeaffb Author: Vladimir Levin <vmpstr@chromium.org> Date: Thu Sep 06 20:18:32 2018 Add code to ignore parent alias clips in PaintChunksToCcLayer conversion This patch adds the ability to create parent alias clips, with the code to skip those when generating display item lists. Also adds tests. R=trchen@chromium.org, chrishtr@chromium.org Bug: 870521 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: Ia60e89a7c74bcda785c8b8cce971eda48d2e0fd6 Reviewed-on: https://chromium-review.googlesource.com/1208717 Commit-Queue: vmpstr <vmpstr@chromium.org> Reviewed-by: Tien-Ren Chen <trchen@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#589268} [modify] https://crrev.com/17957e83e387cb9bce164932fa3fa02cafdeaffb/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc [modify] https://crrev.com/17957e83e387cb9bce164932fa3fa02cafdeaffb/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc [modify] https://crrev.com/17957e83e387cb9bce164932fa3fa02cafdeaffb/third_party/blink/renderer/platform/graphics/paint/clip_paint_property_node.cc [modify] https://crrev.com/17957e83e387cb9bce164932fa3fa02cafdeaffb/third_party/blink/renderer/platform/graphics/paint/clip_paint_property_node.h
,
Oct 11
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a971ede805e09dbf5632a1c5366b92512fe8254a commit a971ede805e09dbf5632a1c5366b92512fe8254a Author: Vladimir Levin <vmpstr@chromium.org> Date: Thu Oct 11 00:43:12 2018 Make non-root layout views have isolation nodes. This patch establishes an isolation boundary for layout views with an exception of local roots, which are already isolated by the virtue of being the roots. It also unaliases a new more places in PaintArtifactCompositor and PropertyTreeManager. These areas were exposed by layout tests with iframe isolation nodes. R=chrishtr@chromium.org, pdr@chromium.org, wangxianzhu@chromium.org Bug: 870521 Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I3bed0ffe02e31004ca1ebae53ba76bc08d4e3735 Reviewed-on: https://chromium-review.googlesource.com/c/1263432 Reviewed-by: Philip Rogers <pdr@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: vmpstr <vmpstr@chromium.org> Cr-Commit-Position: refs/heads/master@{#598597} [add] https://crrev.com/a971ede805e09dbf5632a1c5366b92512fe8254a/third_party/blink/perf_tests/paint/complex-iframe-filtered.html [modify] https://crrev.com/a971ede805e09dbf5632a1c5366b92512fe8254a/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc [modify] https://crrev.com/a971ede805e09dbf5632a1c5366b92512fe8254a/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc [modify] https://crrev.com/a971ede805e09dbf5632a1c5366b92512fe8254a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.cc [modify] https://crrev.com/a971ede805e09dbf5632a1c5366b92512fe8254a/third_party/blink/renderer/platform/graphics/compositing/property_tree_manager.cc |
|
►
Sign in to add a comment |
|
Comment 1 by pdr@chromium.org
, Aug 3