Closed
Bug 326550
Opened 19 years ago
Closed 19 years ago
The dots in the focus outline do not match non-cairo builds (draw focus using something other than XOR)
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.9alpha1
People
(Reporter: polidobj, Assigned: masayuki)
References
Details
(Keywords: regression, Whiteboard: cairo)
Attachments
(4 files)
(deleted),
image/png
|
Details | |
(deleted),
text/html
|
Details | |
(deleted),
image/png
|
Details | |
(deleted),
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060208 Firefox/1.6a1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060208 Firefox/1.6a1
The focus outline that surrounds a selected link is not the same in Cairo builds as it is in regular trunk builds.
Reproducible: Always
Steps to Reproduce:
1. Select a link e.g. by tabbing to it
2.
3.
Actual Results:
The link will have a focus outline around it that has spread out dots.
Expected Results:
The dots shouldn't be spread out as much.
Reporter | ||
Updated•19 years ago
|
Whiteboard: cairo
Comment 1•19 years ago
|
||
Can you add 2 screenshots to show the difference Brian ?
Reporter | ||
Comment 2•19 years ago
|
||
The top is trunk and the bottom is cairo. Sorry but the difference in the words is the top one is bold. That's the bold is not bold bug.
Updated•19 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 3•19 years ago
|
||
The difference is not in the spacing of the dots, but in their color. With a non-Cairo build, all the dots are the same color, an inverse of the background color. With a Cairo build, the dots alternate white and black, which on a white background gives the appearance of more widely spaced dots, and on a dark background looks rather ugly. I'll attach a testcase and comparison screenshot.
Comment 4•19 years ago
|
||
Comment 5•19 years ago
|
||
Notice that the pixels of the focus outline in the non-Cairo build are not black or white but an inverse color to the background.
Comment 6•19 years ago
|
||
oh. I bet this these are The Other place that uses InvertRect. There is a hack in the tree right now that alternates black and white for InvertRect.
We should draw focus using something other than XOR...
Reporter | ||
Updated•19 years ago
|
Summary: The dots in the focus outline do not match trunk builds (they are spread out more) → The dots in the focus outline do not match trunk builds(draw focus using something other than XOR)
Comment 7•19 years ago
|
||
I've noticed that the tab focus rect looks shit (i.e. cairo hack version), but the focus rects for buttons and radios are fine.
I have to say that the XOR effect is the best I've ever seen for drawing focus rects, and it's standard across all controls and apps on Windows (except tabs & links in Cairo Gecko ;) ).
Updated•19 years ago
|
Summary: The dots in the focus outline do not match trunk builds(draw focus using something other than XOR) → The dots in the focus outline do not match trunk builds (draw focus using something other than XOR)
Summary: The dots in the focus outline do not match trunk builds (draw focus using something other than XOR) → The dots in the focus outline do not match trunk builds(draw focus using something other than XOR)
Updated•19 years ago
|
Flags: blocking1.9a1?
Assignee | ||
Comment 8•19 years ago
|
||
Bug 287813 was fixed, by that one, |nsThebesRenderingContext::InvertRect| is using XOR, but it's not works fine on my enviromenent(Win2k + CVS build). The outline is always drawn black (not inverted) on the web contents.
Comment 9•19 years ago
|
||
That sounds like the expected behavior based on bug 287813 comment 51.
Comment 10•19 years ago
|
||
Yes, it is the expected result from that bug's fix. Now the actual XOR op needs fixing so it really does do XOR, which is what I proposed this bug be used for.
Assignee | ||
Comment 11•19 years ago
|
||
Blake:
Can this fix too?
Assignee | ||
Comment 12•19 years ago
|
||
We should use current color when the outline-color is invert.
CSS3 spec said:
http://www.w3.org/TR/css3-ui/#outline-color
> Conformant UAs may ignore the 'invert' value on platforms that do not support color inversion of the pixels on the screen. If the UA does not support the 'invert' value then the initial value of the 'outline-color' property is the 'currentColor' [CSS3COLOR] keyword.
Current cairo doesn't support XOR drawing.
Assignee: nobody → masayuki
Status: NEW → ASSIGNED
Attachment #219606 -
Flags: superreview?(roc)
Attachment #219606 -
Flags: review?(roc)
vlad, pav, this is the way you guys want to go?
Sure, that sounds like a fine approach to me. If we figure out how to do invert reasonably at some point we can always change it back; for example, we can always "manually" invert if we're rendering to a surface backed by an in-memory bitmap, e.g. on windows with a DIB.
Attachment #219606 -
Flags: superreview?(roc)
Attachment #219606 -
Flags: superreview+
Attachment #219606 -
Flags: review?(roc)
Attachment #219606 -
Flags: review+
Assignee | ||
Comment 15•19 years ago
|
||
checked-in.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•19 years ago
|
Flags: blocking1.9a1?
Target Milestone: --- → mozilla1.9alpha
Comment 16•19 years ago
|
||
This is wrong. If we don't support inversion, we shouldn't parse the 'invert' keyword.
Comment 17•19 years ago
|
||
I filed bug 335394 on removing support for 'invert'.
I think this caused SeaMonkey trunk crash bug 335474.
Updated•19 years ago
|
Keywords: regression
Comment 19•19 years ago
|
||
Note also that this change makes outlines a lot less accessible, since it's pretty easy to write HTML that will have invisible focus outlines with this patch.
Comment 20•19 years ago
|
||
Note that we happen to be now talking about making the focus outline a lot easier to see, via bug 251198. CC'ing Mark Pilgrim, who's dealing with a11y issues in UI.
Comment 21•19 years ago
|
||
Well,that is all wonderfull, but in the meantime, could we have the null checks required added to this patchto prevent the crash reported in bug 335474, or have this patch backed out????
Assignee | ||
Comment 22•19 years ago
|
||
(In reply to comment #21)
> Well,that is all wonderfull, but in the meantime, could we have the null checks
> required added to this patchto prevent the crash reported in bug 335474, or
> have this patch backed out????
The crach will be fixed by the patch of bug 335394. I'm waiting dbaron's review.
Updated•19 years ago
|
Summary: The dots in the focus outline do not match trunk builds(draw focus using something other than XOR) → The dots in the focus outline do not match non-cairo builds (draw focus using something other than XOR)
You need to log in
before you can comment on or make changes to this bug.
Description
•