Stop using XUL layout for scrollbars.
Categories
(Core :: Layout: Scrolling and Overflow, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox113 | --- | fixed |
People
(Reporter: emilio, Assigned: emilio)
References
(Blocks 1 open bug)
Details
(Keywords: perf-alert)
Attachments
(1 file)
Assignee | ||
Comment 1•1 year ago
|
||
This rewrites scrollbar layout to work with regular reflow rather than
box layout.
Overall it's about the same amount of code (mostly because
nsScrollbarFrame::Reflow is sorta hand-rolled), but it cleans up a bit
and it is progress towards removing XUL layout altogether, without
getting into much deeper refactoring.
The setup of abusing the available size in ReflowInput to make sizing
decisions on the children feels a bit funky, but I think scrollbars are
special enough that it probably doesn't matter much... Otherwise I
would've had to rewrite the thumb sizing code which is a bit gnarly.
This also blocks some other performance improvements and refactorings I
want to make in this code.
Assignee | ||
Comment 2•1 year ago
|
||
https://treeherder.mozilla.org/jobs?repo=try&revision=71649249479899d414b9acd4aa078a4a93888923
Gah, so Linux and macOS are green, but it seems I still need some work to do on Windows / Android, for some reason.
Updated•1 year ago
|
Assignee | ||
Comment 3•1 year ago
|
||
(It's fully green now fwiw)
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7da2469ac949 Stop using XUL layout for scrollbars. r=jwatt
Comment 5•1 year ago
|
||
Backed out for causing assertion failures in layout/generic/crashtests/369038-1.xhtml
Backout link: https://hg.mozilla.org/integration/autoland/rev/e89a49f86a0642a75cabc4f06a62d9841ad54e65
Updated•1 year ago
|
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5ab63cda14e8 Stop using XUL layout for scrollbars. r=jwatt
Assignee | ||
Updated•1 year ago
|
Pushed by emilio@crisal.io: https://hg.mozilla.org/integration/autoland/rev/6885642f5246 Remove a crashtest.
Pushed by emilio@crisal.io: https://hg.mozilla.org/integration/autoland/rev/897bab3fdfc6 Remove a crashtest using <slider> without a scrollbar.
Comment 9•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/5ab63cda14e8
https://hg.mozilla.org/mozilla-central/rev/6885642f5246
https://hg.mozilla.org/mozilla-central/rev/897bab3fdfc6
Comment 10•1 year ago
|
||
== Change summary for alert #37912 (as of Fri, 31 Mar 2023 00:56:37 GMT) ==
Improvements:
Ratio | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|
12% | perf_reftest_singletons scrollbar-styles-1.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 327.24 -> 287.24 |
12% | perf_reftest_singletons scrollbar-styles-1.html | linux1804-64-shippable-qr | e10s fission stylo webrender | 444.93 -> 392.41 |
10% | perf_reftest_singletons scrollbar-styles-1.html | macosx1015-64-shippable-qr | e10s fission stylo webrender | 330.34 -> 297.01 |
10% | perf_reftest_singletons scrollbar-styles-1.html | windows10-64-shippable-qr | e10s fission stylo webrender | 490.52 -> 442.27 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=37912
Comment 11•1 year ago
|
||
(In reply to Sandor Molnar from comment #5)
Backed out for causing assertion failures in layout/generic/crashtests/369038-1.xhtml
Backout link: https://hg.mozilla.org/integration/autoland/rev/e89a49f86a0642a75cabc4f06a62d9841ad54e65
== Change summary for alert #37953 (as of Sat, 01 Apr 2023 06:57:26 GMT) ==
Regressions:
Ratio | Test | Platform | Options | Absolute values (old vs new) |
---|---|---|---|---|
0.12% | installer size | osx-aarch64-shippable | aarch64 nightly | 84,599,407.12 -> 84,702,245.17 |
For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=37953
Updated•1 year ago
|
Description
•