Closed Bug 1596184 Opened 5 years ago Closed 3 years ago

Remove nsStackFrame

Categories

(Core :: Layout, task)

task
Points:
3

Tracking

()

RESOLVED FIXED
94 Branch
Tracking Status
firefox94 --- fixed

People

(Reporter: ntim, Assigned: emilio)

References

Details

(Whiteboard: [proton-cleanups])

Attachments

(2 files)

Blocks: 1675427

Bug 1610597 re-introduced nsStackFrame and display: -moz-stack only for the notificationbox. The underlying issue is bug 1614447. This bug will be used to remove the remaining front-end usage of display: -moz-stack and possibly its platform code.

Blocks: 1610597
No longer blocks: 1675427
Depends on: 1614447
Summary: Remove remaining `display: -moz-stack` usages → Remove `legacy-stack` from the notificationbox
Component: Layout → Notifications and Alerts
Product: Core → Toolkit

testcase:

// info long
gHighPriorityNotificationBox.appendNotification(
"heiasdlfmasdljnfvjkxac v ka scvkpnxpkdnx mllkasnckacx l aslvkxkcnxcalm m,x zklsnck;xnz mk;scnlmcx ajladnsfkl acvlma cxklansd flm clma xcKLN SVACLKV LCKXV M KS DCL XLMA XCKASNCKNASVKLNADSKLFNKLADSFNMLCX VLM VCKPN VKXCA NKASDNCJOV LJKDS VKSDNKADSNVKDSNVLKDSNVLKM CXVKL CXLKV LKCXVNKLXZCNVDLKASNFKL CML LKAS CKL XCKLANVKCX  CDSKXMZXLMCNLKXCNVM LK CLKCX KLCVKLNCXVKC XVKL XZCLKMV LMXZCV LMCXZ VLKCXVKCXZ  OKCX VKNXCKNVCKLCXNVKLCXNVLKVCXN LKCX VKLCVNLKMCVX KLVCNKCX VKLCXNVLKCX KCLX VKCXVMNKCXZNVKCLXNVKLCZXNVLKZCXVN KLXCV KXLZNVKLCXNVKLCVXCVX".repeat(4), "verylong", null, 3)

// critical very very long
gHighPriorityNotificationBox.appendNotification(
"heiasdlfmasdljnfvjkxac v ka scvkpnxpkdnx mllkasnckacx l aslvkxkcnxcalm m,x zklsnck;xnz mk;scnlmcx ajladnsfkl acvlma cxklansd flm clma xcKLN SVACLKV LCKXV M KS DCL XLMA XCKASNCKNASVKLNADSKLFNKLADSFNMLCX VLM VCKPN VKXCA NKASDNCJOV LJKDS VKSDNKADSNVKDSNVLKDSNVLKM CXVKL CXLKV LKCXVNKLXZCNVDLKASNFKL CML LKAS CKL XCKLANVKCX  CDSKXMZXLMCNLKXCNVM LK CLKCX KLCVKLNCXVKC XVKL XZCLKMV LMXZCV LMCXZ VLKCXVKCXZ  OKCX VKNXCKNVCKLCXNVKLCXNVLKVCXN LKCX VKLCVNLKMCVX KLVCNKCX VKLCXNVLKCX KCLX VKCXVMNKCXZNVKCLXNVKLCZXNVLKZCXVN KLXCV KXLZNVKLCXNVKLCVXCVX".repeat(12), "verylong", null, 7)

// very critical very long
gHighPriorityNotificationBox.appendNotification(
"heiasdlfmasdljnfvjkxac v ka scvkpnxpkdnx mllkasnckacx l aslvkxkcnxcalm m,x zklsnck;xnz mk;scnlmcx ajladnsfkl acvlma cxklansd flm clma xcKLN SVACLKV LCKXV M KS DCL XLMA XCKASNCKNASVKLNADSKLFNKLADSFNMLCX VLM VCKPN VKXCA NKASDNCJOV LJKDS VKSDNKADSNVKDSNVLKDSNVLKM CXVKL CXLKV LKCXVNKLXZCNVDLKASNFKL CML LKAS CKL XCKLANVKCX  CDSKXMZXLMCNLKXCNVM LK CLKCX KLCVKLNCXVKC XVKL XZCLKMV LMXZCV LMCXZ VLKCXVKCXZ  OKCX VKNXCKNVCKLCXNVKLCXNVLKVCXN LKCX VKLCVNLKMCVX KLVCNKCX VKLCXNVLKCX KCLX VKCXVMNKCXZNVKCLXNVKLCZXNVLKZCXVN KLXCV KXLZNVKLCXNVKLCVXCVX".repeat(8), "verylong", null, 8)

expected behaviour: all notifications are open and the most critical one is topmost (in terms of z-index), all notifications always stretch to the size of the largest one.

This is just one out of many attempts to fix this (this is notably the suggested workaround in bug 1614447), but doesn't work. I believe dholbert suggested to make the parent which has a different size a block, but unfortunately we can't do that here, because the notificationbox can be appended anywhere.

I've tried/considered these:

  • making all/some children use non-XUL layouts
  • height: max-content
  • possibly think about not relying on the stack/CSS grid, though that's not really possible here.

I did notice the first solution combined with triggering some kind of XUL reflow with the inspector did intermittently work:

  • height is too small
  • add -moz-box-orient: vertical on <stack> using the inspector
  • height is bigger
  • toggle it off using the inspector
  • height is still big
Blocks: 1597027
Component: Notifications and Alerts → Layout
Product: Toolkit → Core
Summary: Remove `legacy-stack` from the notificationbox → Remove nsStackFrame
Depends on: 1711519
No longer depends on: 1614447
Severity: normal → N/A
Whiteboard: [proton-cleanups]
Points: --- → 3

There are no legacy-stack uses anymore.

Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ba73f7aecc51
Get rid of nsStackFrame. r=layout-reviewers,mats
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 94 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: