Closed Bug 1420528 Opened 7 years ago Closed 5 years ago

floated element is missing, after column-break in multicol

Categories

(Core :: Layout, defect, P3)

56 Branch
defect

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- wontfix
firefox-esr68 --- wontfix
firefox57 --- wontfix
firefox58 + wontfix
firefox59 + wontfix
firefox60 + wontfix
firefox61 --- wontfix
firefox62 --- wontfix
firefox68 --- wontfix
firefox69 --- wontfix
firefox70 --- fixed

People

(Reporter: ivan.kuckir, Assigned: dbaron)

References

(Regression)

Details

(Keywords: regression)

Attachments

(5 files)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36 Steps to reproduce: Go to https://www.photopea.com/ . Press More - Keyboard Shortcuts Actual results: You should see the list of shortcuts in this program. Each item contains the name of the shortcut on the left, and the actual shortcut (bold) on the right. Expected results: In firefox, some shortcuts (<span> elements) are missing: https://i.imgur.com/cqooghL.png . But they do exist in HTML and are rendered by other browsers (e.g. by Chrome).
Not yet investigated deeply but this is the same symptom as what I've encountered on my site and explained here: https://www.fxsitecompat.com/en-CA/docs/2017/certain-multi-column-layouts-may-balance-unevenly-or-lack-elements-randomly/
Blocks: 1308876
Component: Untriaged → Layout
Keywords: regression
Product: Firefox → Core
Status: UNCONFIRMED → NEW
Ever confirmed: true
[Tracking Requested - why for this release]: regression in 57
I can't test it now but this should actually be a regression in 56.
Oh, you're right.
So is it a bug or not? Maybe "floats" are forbidden in columns by W3C, or something ... If it is not a bug, can you recommend me some elegant solution?
It's just a bug in Firefox 56 and later.
Ah, silly me. I now see that you had already done so in the other bug.
OK so, a regression from 56 from bug 1308876. Is this something we think might be widespread? Tracking for 58/59 to make sure we have a chance to uplift any fix. David, can you help find someone to investigate?
Flags: needinfo?(dbaron)
Summary: HTML elements are not rendered sometimes → floated element is missing, after column-break in multicol
Attached file testcase 1 (deleted) —
Here's a reduced testcase (reduced from photopea.com). It just involves a float being pushed to the second column of a multicol, basically -- and the float doesn't end up painting.
Flags: in-testsuite?
Priority: -- → P3
Too late to fix for 58 but I'll leave this open for 59.
We can still take a patch for 59 but I'll make this fix optional based on the priority, and since it isn't a new regression.
Not going to make 59 at this point.
Not a new regression, I'll call this fix-optional for 60.
Gerald has been looking into some of these; I think the analysis from bug bug 1459937 that has led to bug 1474771 will likely help with many.
Flags: needinfo?(dbaron)
Regressed by: 1308876
No longer regressed by: 1308876
No longer blocks: 1308876
Regressed by: 1308876

This is not fixed by bug 1474771, so it needs further investigation.

Here's a try run with a fix.

Assignee: nobody → dbaron
Status: NEW → ASSIGNED
Attached file Bug 1420528 - Add reftest. (deleted) —

Note that I introduced a blank line to make the intent of the NOTE
clearer, which I had to research. I think it's clear it covers the
three tests below it based on
https://hg.mozilla.org/mozilla-central/rev/53489b3e14f1 and
https://bugzilla.mozilla.org/show_bug.cgi?id=967311#c0 .

Co-authored-by: L. David Baron <dbaron@dbaron.org>
Co-authored-by: Daniel Holbert <dholbert@cs.stanford.edu>

Interestingly, my current patch fixes the test when loaded in the browser, but not when loaded in the reftest harness.

While in the browser, the previous patch was sufficient to fix this
reftest, in the reftest harness both the previous patch and this patch are
needed. (I'm not sure why.) This patch alone doesn't fix the test in either
the browser or the reftest harness.

Here's a new try run.

Blocks: 1468654
Blocks: 1406291
Blocks: 1411799

So this patch series fixes this bug and three other regressions from bug 1308876.

I did a little more testing; it turns out that this bug is the only one of the four that behaves differently as a function of whether column-span is enabled. In particular:

  • this bug's testcase, with column-span enabled, is fixed by patch 2 on its own
  • this bug's testcase, with column-span disabled, is fixed by the combination of patch 2 and patch 3 (both are needed)
  • bug 1406291 is fixed by patch 3 on its own
  • bug 1411799 is fixed by patch 2 and patch 3 (both are needed)
  • bug 1468654 is fixed by patch 2 on its own

At a minimum I'll add more comments to the commit messages, although really I should probably add reftests for the other three bugs as well.

And I should also note I have additional patches on top of these to fix bug 1404868 (and hopefully other regressions as well).

Here's a new try run with additional tests (and revised commit messages).

Pushed by dbaron@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/df63a9466390 Add reftest. r=TYLin https://hg.mozilla.org/integration/autoland/rev/0e809359904a Add reftests for other bugs fixed by this bug. r=TYLin https://hg.mozilla.org/integration/autoland/rev/9d335538cabc When a frame that was incomplete doesn't fit, make sure we reflow it again. r=TYLin https://hg.mozilla.org/integration/autoland/rev/a5d545e31781 As with constrained block-size, reflow lines with floats when block-size was *previously* constrained. r=TYLin

For what it's worth, I suspect both of these fixes may have been too specific. I think bug 1404868 probably did a better job of fixing the issues with floats; bug 1406163 probably covers at least part of doing a better job of the problem of incomplete frames that didn't fit.

QA Whiteboard: [qa-70b-p2]
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: