[LayoutNG] Add |PostLayoutChildren()|
This patch adds |PostLayoutChildren()|, and use it for the fix made at r661990 (crrev.com/c/1621796). When subtree layout occurs, ancestors of the subtree root may keep the reference to the old fragments. The new collection |PostLayoutChildren()| returns the latest fragments. Changing all uses of |Children()| to this does not work: 1. Some callers expect fragments being built during the layout, not the latest post-layout. Simply replacing breaks such callers. 2. This collection is not as fast as I wish it to be. Need to optimize/cache |IsRelayoutBoundary()| before using this in more performance critical work. 3. The best way to handle this situation isn't clear yet. Instead of this on-the-fly replacement, we may want to find all refences and patch them, as we tried in crrev.com/c/1622907. Maybe we need to support more generations. This is an architectual decision to be discussed more. This addition makes it easier to apply to other places if needed, and makes merging easier if we need to after the branch point, but where to apply is in future investigation. Bug: 965639 Change-Id: Idd4b539e88465cf0b810ae249fdcb87c0b19ae45 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1624010Reviewed-by:Aleks Totic <atotic@chromium.org> Reviewed-by:
Emil A Eklund <eae@chromium.org> Reviewed-by:
Yoshifumi Inoue <yosin@chromium.org> Commit-Queue: Koji Ishii <kojii@chromium.org> Cr-Commit-Position: refs/heads/master@{#662988}
Showing
Please register or sign in to comment