[layout] Process top-layer elements last in OutOfFlowLayoutPart.
We had a couple of issues with top-layer elements. The primary cause
of these issues is that we treated top-layer elements like other
OOF-positioned elements. This had a few side-effects - primarily
that they were "interleaved" with other OOF-positioned elements.
As top-layer elements bypass the standard add/remove logic they can
be inserted/removed directly to the top-layer, which would result
in an invalid candidate in the OOF-positioned logic.
The fix is to process the top-layer elements at the end of the
OutOfFlowLayoutPart one-by-one, once all the side effects are complete.
Bug: 352005194, 358664966
Change-Id: Ib2c1219e831af364971a3c370e35190684a249e1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5797905
Reviewed-by: Morten Stenshorne mstensho@chromium.org
Commit-Queue: Ian Kilpatrick ikilpatrick@chromium.org
Cr-Commit-Position: refs/heads/main@{#1347470}