Some Unicode pictograms are not shown if they were first drawn with globalAlpha=0
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox-esr128 | --- | fixed |
firefox129 | --- | wontfix |
firefox130 | --- | fixed |
firefox131 | --- | fixed |
People
(Reporter: martynasma, Assigned: jfkthame)
References
(Regression)
Details
(Keywords: regression)
Attachments
(4 files)
625 bytes,
text/html
|
Details | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-esr128+
|
Details | Review |
Reproduce:
- Create a <canvas> element
- Set
context.globalAlpha = 0
. - Draw text which includes Unicode pictograms, e.g. "🕛".
- Set
context.globalAlpha = 1
. - Draw text which includes Unicode pictograms, e.g. "🕛".
Live demo:
https://codepen.io/team/amcharts/pen/ExBvOod/782ea4f2c0233491a115df464405c164?editors=0010
Actual outcome:
- The first text is all invisible (correct).
- Only regular characters are visible in the second text, Unicode pictograms (e.g. 🕛) are still invisible, even though they take up space. (bug)
Desired outcome:
- All text, including Unicode pictograms should have been visible.
Comment 1•6 months ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Graphics: Canvas2D' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•6 months ago
•
|
||
Can confirm.
Bisection:
Bug 1875670 - Add a cache for rasterized COLRv1 glyphs, because fully redrawing them on each use can be expensive. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D200139
Comment 3•6 months ago
|
||
Updated•6 months ago
|
Comment 4•6 months ago
|
||
Set release status flags based on info from the regressing bug 1875670
Updated•6 months ago
|
Assignee | ||
Comment 5•6 months ago
|
||
The reftest here currently fails on Android for what appears to be an
unrelated reason: reftest-analyzer shows that in the reference case,
all but the last line of text is completely missing.
I'm not sure what's failing there (but it fails similarly without this
patch, anyhow); we should investigate that as a separate bug.
Updated•6 months ago
|
Comment 7•6 months ago
|
||
Backed out for causing reftest failures on 1912431-emoji-globalAlpha.html
Assignee | ||
Updated•6 months ago
|
Comment 9•6 months ago
|
||
Backed out for causing failures at globalAlpha.html
Backout link: https://hg.mozilla.org/integration/autoland/rev/ba1282f96e4613a1e25525ba8abcdb58217a4e10
Failure log: https://treeherder.mozilla.org/logviewer?job_id=470141575&repo=autoland&lineNumber=2610
Assignee | ||
Updated•6 months ago
|
Comment 10•6 months ago
|
||
Comment 11•6 months ago
|
||
Backed out for reftest failure on 1912431-emoji-globalAlpha.html
Backout link: https://hg.mozilla.org/integration/autoland/rev/4a870b447bf201ab4e151d9f568af2aec2292d7a
Log link: https://treeherder.mozilla.org/logviewer?job_id=470161613&repo=autoland&lineNumber=5622
Assignee | ||
Comment 12•6 months ago
|
||
Sigh.... so many different backends, with subtly different rendering... :(. Tweaked the fuzz numbers again.
Comment 13•6 months ago
|
||
Comment 14•6 months ago
|
||
Backed out for causing reftest failures in 1912431-emoji-globalAlpha.html
- Backout link
- Push with failures
- Failure Log
- Failure line: REFTEST TEST-UNEXPECTED-PASS | gfx/tests/reftest/1912431-emoji-globalAlpha.html == gfx/tests/reftest/1912431-emoji-globalAlpha-ref.html | image comparison, max difference: 0, number of differing pixels: 0
Assignee | ||
Comment 15•6 months ago
|
||
Huh, so the Android failure (bug 1912718) doesn't always happen.
Comment 16•6 months ago
|
||
Comment 17•6 months ago
|
||
bugherder |
Comment 18•6 months ago
|
||
The patch landed in nightly and beta is affected.
:jfkthame, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox130
towontfix
.
For more information, please visit BugBot documentation.
Assignee | ||
Comment 19•6 months ago
|
||
The reftest here currently fails on Android for what appears to be an
unrelated reason: reftest-analyzer shows that in the reference case,
all but the last line of text is completely missing.
I'm not sure what's failing there (but it fails similarly without this
patch, anyhow); we should investigate that as a separate bug.
Original Revision: https://phabricator.services.mozilla.com/D219024
Updated•6 months ago
|
Comment 20•6 months ago
|
||
beta Uplift Approval Request
- User impact if declined: color glyphs (e.g. emoji) in <canvas> may be missing in some cases
- Code covered by automated testing: yes
- Fix verified in Nightly: no
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: n/a
- Risk associated with taking this patch: minimal
- Explanation of risk level: trivial fix when creating a cached glyph image
- String changes made/needed: none
- Is Android affected?: yes
Assignee | ||
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Comment 21•6 months ago
|
||
uplift |
Comment 22•6 months ago
|
||
Worth an ESR128 uplift also? Note that we would also need bug 1902253 for it to graft cleanly.
Assignee | ||
Comment 23•6 months ago
|
||
The reftest here currently fails on Android for what appears to be an
unrelated reason: reftest-analyzer shows that in the reference case,
all but the last line of text is completely missing.
I'm not sure what's failing there (but it fails similarly without this
patch, anyhow); we should investigate that as a separate bug.
Original Revision: https://phabricator.services.mozilla.com/D219024
Updated•6 months ago
|
Assignee | ||
Updated•6 months ago
|
Comment 24•6 months ago
|
||
esr128 Uplift Approval Request
- User impact if declined: color glyphs may fail to paint in canvas when globalAlpha has been used
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: no
- Steps to reproduce for manual QE testing: n/a
- Risk associated with taking this patch: minimal
- Explanation of risk level: trivial (one-liner) fix when generating cached glyph image
- String changes made/needed: none
- Is Android affected?: yes
Updated•6 months ago
|
Comment 25•6 months ago
|
||
uplift |
Updated•6 months ago
|
Description
•