Closed Bug 1789997 Opened 2 years ago Closed 2 years ago

Regression from 102->103 reflow does not work anymore

Categories

(Core :: DOM: Core & HTML, defect)

Firefox 104
defect

Tracking

()

VERIFIED FIXED
106 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox-esr102 --- unaffected
firefox104 --- wontfix
firefox105 --- verified
firefox106 --- verified

People

(Reporter: tobias.gomer, Assigned: emilio)

References

(Regression)

Details

(Keywords: hang, regression)

Attachments

(2 files)

Attached file noreflow.zip

Steps to reproduce:

I use the HTML and CSS in the appendix. Applying a classname to an element and retrieving style informations using window.getComputedStyle() did work fine in the past. Now the applying a class for the second time has no effect anymore.
Just load the noreflow.html. I test this on WIndow 11 with Firefox 104 & 103

Actual results:

The Javascript runs until Firefox supposes to end it. Using getComputedStyle (or accessing element.offsetHeight f.i.) does not trigger a reflow anymore.

Expected results:

Calling getComputedStyle should return the actual styles as used in the classes.
This is like other Browsers (Chrome, Safari, and Edge) do. And Firefox < 102.

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

Component: Untriaged → DOM: Core & HTML
Product: Firefox → Core

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

For more information, please visit auto_nag documentation.

Flags: needinfo?(emilio)
Assignee: nobody → emilio
Flags: needinfo?(emilio)

Comment on attachment 9293917 [details]
Bug 1789997 - Invalidate undisplayed style cache for attribute mutations on undisplayed children. r=boris,#style,#layout

Beta/Release Uplift Approval Request

  • User impact if declined: Trivial correctness fix.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: comment 0
  • List of other uplifts needed: none
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Trivial tweak.
  • String changes made/needed: none
  • Is Android affected?: Yes
Attachment #9293917 - Flags: approval-mozilla-beta?
Flags: qe-verify+
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c95663955748
Invalidate undisplayed style cache for attribute mutations on undisplayed children. r=boris
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/35861 for changes under testing/web-platform/tests
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 106 Branch
Upstream PR merged by moz-wptsync-bot

Comment on attachment 9293917 [details]
Bug 1789997 - Invalidate undisplayed style cache for attribute mutations on undisplayed children. r=boris,#style,#layout

Approved for 105.0rc1.

Attachment #9293917 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

Reproduced the issue with Firefox 106.0a1 (20220909212835) on Windows 10x64. The attached noreflow.html loads endlessly.
The issue is verified fixed with Firefox 106.0a1 (20220911214030) and Firefox 105.0b10 (20220911172111) from comment 11 on Windows 10x64, macOS 11 and Ubuntu 22. The attached noreflow.html is successfully loaded displaying Found 1687 classes on the page.

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: