Bug 1696029 [wpt PR 27866] - [GridNG] Separation of legacy and NG when there is a...
commita9a586130a96d63579cf2f71c3149279b32cd277
authorAna SollanoKim <ansollan@microsoft.com>
Wed, 10 Mar 2021 21:11:22 +0000 (10 21:11 +0000)
committermoz-wptsync-bot <wptsync@mozilla.com>
Mon, 15 Mar 2021 08:34:05 +0000 (15 08:34 +0000)
treee349598b375ab3ccbae9e4617dbeab227e8efe01
parentb4625aba0f5507ed9ba4ffa8135934d6f25318c2
Bug 1696029 [wpt PR 27866] - [GridNG] Separation of legacy and NG when there is a position change, a=testonly

Automatic update from web-platform-tests
[GridNG] Separation of legacy and NG when there is a position change

The logic for invalidating the grid when there is a change in its style
needs to different in legacy and NG. A previous change
https://chromium-review.googlesource.com/c/chromium/src/+/2713389
attempted to change the object that was getting invalidated from the
parent to the containing block. However, this approach will only work
for NG.

Changes in the properties listed in GridStyleChanged already force a
full layout on this box due to how the properties are specified in
third_party/blink/renderer/core/style/computed_style_diff_functions.json5
For out-of-flow elements with grid container as containing block, we
currently need to run the entire algorithm for placing and sizing.

Legacy grid needed the extra invalidation |DirtyGrid()| of the cached
state on LayoutGrid before re-running layout on the grid container.

Bug: 11831221183192
Change-Id: Icc5280e7c25802858b55fc0ace4fc2f16359e09e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2728287
Reviewed-by: Kurt Catti-Schmidt <kschmi@microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: Daniel Libby <dlibby@microsoft.com>
Commit-Queue: Ana Sollano Kim <ansollan@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#859177}

--

wpt-commits: e5b144368951eb417299e38f4aba2cfd125ef6d5
wpt-pr: 27866
testing/web-platform/tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-002.html
testing/web-platform/tests/css/css-grid/abspos/grid-positioned-item-dynamic-change-003.html [new file with mode: 0644]