Open Bug 1881220 Opened 3 months ago Updated 18 days ago

Text-overflow ellipsis incorrectly shown inside flex container, depending on length of text and font used

Categories

(Core :: Layout: Flexbox, defect, P3)

Firefox 122
Desktop
All
defect

Tracking

()

REOPENED
125 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox123 --- wontfix
firefox124 --- wontfix
firefox125 --- fixed

People

(Reporter: mozilla.org, Assigned: emilio)

References

(Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(2 files)

Attached file Simplified Test Case

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:122.0) Gecko/20100101 Firefox/122.0

Steps to reproduce:

Go to https://codepen.io/cssence/pen/QWoPoBB or open attached file in Firefox (e.g. version 122) on any OS, preferably Windows or MacOS.

Actual results:

text-overflow: ellipsis is shown in certain cases (depending on length of text and font being used), despite there being no size contraint.

Expected results:

Same as in Chromium and Safari, no text-overflow: ellipsis should occur.

The Bugbug bot thinks this bug should belong to the 'Core::Layout: Flexbox' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Layout: Flexbox
Product: Firefox → Core

:emilio, since you are the author of the regressor, bug 1841612, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

Flags: needinfo?(emilio)

The regressing bug regressed some calc() expressions like the one in the
test-case:

max-width: calc(100% - <some-fixed-length>);

Where floating point precision basically made us lose a little bit of
precision here and there.

Before bug 1841612, this worked because we'd operate in fixed point for
such simple expressions at least. Things could easily go equally south
for more complex things including e.g. rem().

Rounding seems like the better default for calc() since we basically
have no idea of what the output is going to be, and makes the answer
more likely to be precise.

Note that this only affects actual mixed calc() expressions: If things
resolve to a percentage we keep existing behavior.

Assignee: nobody → emilio
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(emilio)

Set release status flags based on info from the regressing bug 1841612

Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/09a1b473f8da
Change calc() resolution mode to always round than truncate-by-default. r=firefox-style-system-reviewers,boris
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/44811 for changes under testing/web-platform/tests

Emilio, could you please apply Priority/Severity ratings here? It'll help release management.

Flags: needinfo?(emilio)
Severity: -- → S3
Flags: needinfo?(emilio)
Priority: -- → P3
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 125 Branch
Upstream PR merged by moz-wptsync-bot

The patch landed in nightly and beta is affected.
:emilio, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox124 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(emilio)

This is not a particularly risk-free patch.

Flags: needinfo?(emilio)
Flags: in-testsuite+
Regressions: 1893127
Regressions: 1893438
Regressions: 1893787

Reopening because we're reverting the fix in bug 1893127.

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: