Closed Bug 1215596 Opened 4 years ago Closed 4 years ago

outline: auto; results in ASSERTION: Unhandled border style!!: 'Not Reached', file nsCSSRenderingBorders.cpp

Categories

(Core :: Layout, defect)

42 Branch
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla44
Tracking Status
firefox44 --- fixed

People

(Reporter: BenWa, Assigned: BenWa)

References

Details

Attachments

(2 files)

Reproducible:

add |outline: auto;| to something with a debug build.
https://drafts.csswg.org/css-ui/#outline

> In addition, in CSS3, outline-style accepts the value auto. The auto value permits the user agent to 
> render a custom outline style, typically a style which is either a user interface default for the
> platform, or perhaps a style that is richer than can be described in detail in CSS, e.g. a rounded edge
> outline with semi-translucent outer pixels that appears to glow. As such, this specification does not
> define how the outline-color is incorporated or used (if at all) when rendering auto style outlines. User
> agents may treat auto as solid.
Bug 1026641 put this behind a preference.
Blocks: 1026641
Bug 1215596 - Don't try to render 'outline: auto' if pref off. r=roc
Attachment #8675028 - Flags: review?(roc)
Assignee: nobody → bgirard
Comment on attachment 8675028 [details]
MozReview Request: Bug 1215596 - outline: auto; will render as outline: solid; when disabled. r=roc

https://reviewboard.mozilla.org/r/22323/#review19949

::: layout/base/nsCSSRenderingBorders.cpp:759
(Diff revision 1)
> +    return;

I don't think this is the right fix. I don't think we should reach here with NS_STYLE_BORDER_STYLE_AUTO if the pref is disabled (or even if it's enabled, actually, since 'auto' should be rendered by our theme engine).

I think the correct fix is for nsCSSRendering::PaintOutline to convert NS_STYLE_BORDER_STYLE_AUTO to NS_STYLE_BORDER_STYLE_SOLID when the pref is disabled. Currently we only do that conversion when the pref is enabled but outline:auto is not supported by the theme enggine.
Attachment #8675028 - Flags: review?(roc)
Yea, I followed what I felt was the intention of the patch which was to not render.

I think given the spec it make sense to just treat it as solid like you said given that we still accept the CSS value. I'll write up that up.
Summary: ASSERTION: Unhandled border style!!: 'Not Reached', file nsCSSRenderingBorders.cpp → outline: auto; results in ASSERTION: Unhandled border style!!: 'Not Reached', file nsCSSRenderingBorders.cpp
Comment on attachment 8675028 [details]
MozReview Request: Bug 1215596 - outline: auto; will render as outline: solid; when disabled. r=roc

Bug 1215596 - outline: auto; will render as outline: solid; when disabled. r=roc
Attachment #8675028 - Attachment description: MozReview Request: Bug 1215596 - Don't try to render 'outline: auto' if pref off. r=roc → MozReview Request: Bug 1215596 - outline: auto; will render as outline: solid; when disabled. r=roc
Attachment #8675028 - Flags: review?(roc)
Comment on attachment 8675028 [details]
MozReview Request: Bug 1215596 - outline: auto; will render as outline: solid; when disabled. r=roc

https://reviewboard.mozilla.org/r/22323/#review19951
Attachment #8675028 - Flags: review?(roc) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/16814bfd4e1a30c48110aa555f2107d192fc89a4
Bug 1215596 - outline: auto; will render as outline: solid; when disabled. r=roc
https://hg.mozilla.org/mozilla-central/rev/16814bfd4e1a
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla44
Attached image yahoo-mail-ff44.jpg
Is it normal that Yahoo Mail displays a blue rectangle after a link in email has been clicked in FF44+?
You need to log in before you can comment on or make changes to this bug.