Closed Bug 1995280 Opened 8 months ago Closed 8 months ago

`position-area` grid should be based on union of anchor and containing block rect

Categories

(Core :: CSS Parsing and Computation, enhancement)

enhancement
Points:
1

Tracking

()

RESOLVED FIXED
146 Branch
Tracking Status
firefox146 --- fixed

People

(Reporter: dshin, Assigned: dshin)

References

(Blocks 1 open bug)

Details

(Whiteboard: [anchorpositioning:m2])

Attachments

(3 files)

position-area, even if it uses the scrollable block (bug 1989292), the position-area grid can and will move around w.r.t the absolute containing block, if the anchor is inside a scroller that is inside the abs-cb
When the anchor spills out of the abs-cb, the grid should extend to it so that it can receive a consistent size.

See testcase - the anchor is almost off the viewport. In this case, the positioned element should still be positioned & sized against the full anchor, not what is visible.

... And separate out default anchor lookup to support it. This avoids having to
carry around a lot of frames and reference data into
AdjustAbsoluteContainingBlockRectForPositionArea.

Assignee: nobody → dshin
Status: NEW → ASSIGNED
Pushed by dshin@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/ca2157db60a3 https://hg.mozilla.org/integration/autoland/rev/23080d4b391a Refactor position-area adjustment to take the anchor rect. r=layout-anchor-positioning-reviewers,layout-reviewers,emilio https://github.com/mozilla-firefox/firefox/commit/bea800de3bb2 https://hg.mozilla.org/integration/autoland/rev/a799136b24b4 position-area uses the union of CB rect & anchor rect. r=layout-anchor-positioning-reviewers,layout-reviewers,emilio
Status: ASSIGNED → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 146 Branch
Points: --- → 1
Whiteboard: [anchorpositioning:triage] → [anchorpositioning:m2]
QA Whiteboard: [qa-triage-done-c147/b146]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: