Closed Bug 1486688 Opened 6 years ago Closed 6 years ago

[wpt-sync] Sync PR 12714 - [LayoutNG] Fix legacy initiated abspos invalidation

Categories

(Core :: CSS Parsing and Computation, enhancement, P4)

enhancement

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 12714 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/12714
Details from upstream follow.

Aleks Totic <atotic@chromium.org> wrote:
>  [LayoutNG] Fix legacy initiated abspos invalidation
>  
>  Bug:
>  
>  LayoutBlock::LayoutPositionedObject had a static position check whether
>  child reflow was necessary:
>    if (.... ||
>         (!IsLayoutNGBlockFlow() &&
>          NeedsLayoutDueToStaticPosition(positioned_object))))
>      layout_scope.SetChildNeedsLayout(positioned_object);
>  This check would skip reflow for all NGBlockFlow children.
>  This is incorrect. If child abspos layout was initiated by Legacy,
>  we should check static position.
>  
>  Fix:
>  There was no way to tell in current code whether child abspos layout
>  was initiated by legacy.
>  Added a flag is_legacy_initiated_out_of_flow_layout_.
>  Flag was added to LayoutBlock per ikilpatrick recommendation.
>  Flag is set to true in LayoutNGBlockFlow::UpdateOutOfFlowBlockLayout
>  Flag is set to false in NGOutOfFlowLayout.
>  
>  With this fix, checkboxes on code review page are correct.
>  
>  Bug: 863865
>  Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng
>  Change-Id: Ifc55ac03b76dd1aa2113181681bca1b5a2832fb2
>  Reviewed-on: https://chromium-review.googlesource.com/1190723
>  WPT-Export-Revision: ba6551676ab7b95020dd5551c121a56c03bf6467
Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Whiteboard: [wptsync downstream] → [wptsync downstream error]
Whiteboard: [wptsync downstream error] → [wptsync downstream]
Ran 1 tests
PASS   : 1
Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/cd2b67d1e1e5
[wpt PR 12714] - [LayoutNG] Fix legacy initiated abspos invalidation, a=testonly
https://hg.mozilla.org/mozilla-central/rev/cd2b67d1e1e5
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.