Commit ed1ca7b7 authored by Hayato Ito's avatar Hayato Ito Committed by Commit Bot

Add assert to make sure that a node was detached, if necessary, after UpdateStyleAndLayoutTree

We should never leave any node which has a LayoutObject, but doesn't have a parent in a flat tree
after having run UpdateStyleAndLayoutTree. That means we forget to detach a node which should be
detached.

Update TestExpectations because some tests would hit this assertion when IncrementalShadowDOM is
enabled.

Bug: 776656
Change-Id: I273b9ddd083766fe687aedb178fc6e0c65248fde
Reviewed-on: https://chromium-review.googlesource.com/920329
Commit-Queue: Hayato Ito <hayato@chromium.org>
Reviewed-by: default avatarTakayoshi Kochi <kochi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537268}
parent 7983fe99
......@@ -521,20 +521,20 @@ crbug.com/635619 virtual/layout_ng/external/wpt/css/CSS2/positioning/position-re
crbug.com/776656 virtual/incremental-shadow-dom/external/wpt/shadow-dom/untriaged/styles/test-003.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-1-and-click.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-1.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-1.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-10-and-click.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-10.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-2-and-click.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-2.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-2.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-3-and-click.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-3.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-3.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-5.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-6-and-click.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-6.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-6.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-7-and-click.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-7.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-7.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-8-and-click.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-8.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-add-summary-8.html [ Crash Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-remove-summary-1-and-click.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-remove-summary-1.html [ Failure ]
crbug.com/776656 virtual/incremental-shadow-dom/html/details_summary/details-remove-summary-2-and-click.html [ Failure ]
......
......@@ -2115,6 +2115,13 @@ static void AssertLayoutTreeUpdated(Node& root) {
DCHECK(!node.ChildNeedsDistributionRecalc());
DCHECK(!node.NeedsStyleInvalidation());
DCHECK(!node.ChildNeedsStyleInvalidation());
// Make sure there is no node which has a LayoutObject, but doesn't have a
// parent in a flat tree. If there is such a node, we forgot to dettach a
// node. DocumentNode is only an exception.
DCHECK((node.IsDocumentNode() || !node.GetLayoutObject() ||
FlatTreeTraversal::Parent(node)))
<< node;
if (ShadowRoot* shadow_root = node.GetShadowRoot())
AssertLayoutTreeUpdated(*shadow_root);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment