Closed
Bug 753835
Opened 13 years ago
Closed 13 years ago
[Azure] Text-shadow artifacts at descenders
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
mozilla15
People
(Reporter: Fanolian+BMO, Assigned: bas.schouten)
References
Details
Attachments
(4 files)
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/15.0 Firefox/15.0a1
Build ID: 20120510030517
Steps to reproduce:
Go to https://developer.mozilla.org/en/CSS/text-shadow, scroll to the examples.
Actual results:
In the second example, shadow artifacts appear at the descenders.
Another STR:
1. Set gfx.content.azure.enabled to True.
2. Add the following CSS in Stylish (blank style), or both userChrome.css and userContent.css:
* { text-shadow: 0px 0px 1px #909090 !important; }
3. Go to https://en.wikipedia.org/wiki/Descender
NB1: The artifact is present only if the blur-radius is exactly 1px.
NB2: The artifact is present at default zoom level only.
-----------
The above text-shadow also creates artifacts on tabs with some page titles only.
Assignee | ||
Comment 3•13 years ago
|
||
I suspect this is an artifact from not having EXTEND_NONE. Anyone who by any chance knows how these shadows are drawn back onto the final surface?
nsTextFrame::PaintOneShadow calls nsContextBoxBlur::DoPaint calls gfxAlphaBoxBlur::Paint calls gfxContext::Mask. Mask is called with a solid-color source and the blurred alpha as the mask surface.
Assignee | ||
Comment 5•13 years ago
|
||
Since mask is unbound my theory about EXTEND_NONE is probably correct, I'll look into adding a rectangular clip. That should fix this usecase without much of a performance cost.
You mean add a 1px border to the mask surface and clip to the original mask extents when drawing into the mask?
Assignee | ||
Comment 7•13 years ago
|
||
This patch should fix the issue.
Assignee: nobody → bas.schouten
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Attachment #623381 -
Flags: review?(roc)
Assignee | ||
Comment 8•13 years ago
|
||
(In reply to Robert O'Callahan (:roc) (Mozilla Corporation) from comment #6)
> You mean add a 1px border to the mask surface and clip to the original mask
> extents when drawing into the mask?
This solution seems easier. But I could do that if you'd have a strong preference.
Attachment #623381 -
Flags: review?(roc) → review+
Comment 9•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla15
You need to log in
before you can comment on or make changes to this bug.
Description
•