Reimplement the about:welcome progress bar animation with a different technique
Categories
(Firefox :: Messaging System, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox110 | --- | fixed |
People
(Reporter: aminomancer, Assigned: aminomancer, NeedInfo)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
In bug 1804098, we encountered a problem with subpixel rounding of transformed elements. Each step in the progress bar is adjacent to another and there are no margins or borders, so there should be no visible space between them. And normally this layout works perfectly. But when using transform
the potential arises for tiny discrepancies in (CS) subpixel rounding to result in visible layout differences, like a 1 device pixel space between two steps. We worked around this issue by giving each step a -1px inline margin, so they overlap. This works because the layout discrepancies cannot be more than 1px, as they result from subpixel rounding discrepancies. But it's still a kind of hacky solution.
Instead of having a separate element for each step, I think we should have one element for the "filled" space and one element for the "unfilled" space, and then just increment the flex value from 0 to 1 by multiples of 1/n (where n = # of steps). This would be analogous to the flexy behavior in the tabstrip. Getting rid of transform wherever possible is nice anyway, since it causes some anti-aliasing artifacts even if we didn't have this subpixel rounding issue.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 1•2 years ago
|
||
I discovered that this will also allow us to animate the progress bar movement when navigating about:welcome via history (e.g. back/forward buttons)
Assignee | ||
Comment 2•2 years ago
|
||
Updated•2 years ago
|
Comment 4•2 years ago
|
||
Backed out for causing mochitest failures on browser_aboutwelcome_configurable_ui.js
- Backout link
- Push with failures
- Failure Log
- Failure line: TEST-UNEXPECTED-FAIL | browser/components/newtab/test/browser/browser_aboutwelcome_configurable_ui.js | Test timed out -
Updated•2 years ago
|
Updated•2 years ago
|
Comment 6•2 years ago
|
||
bugherder |
Description
•