Bug 176198 - tab-size: 0px asserts
Summary: tab-size: 0px asserts
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-08-31 17:07 PDT by Simon Fraser (smfr)
Modified: 2017-11-15 13:11 PST (History)
5 users (show)

See Also:


Attachments
Testcase (140 bytes, text/html)
2017-08-31 17:08 PDT, Simon Fraser (smfr)
no flags Details
Patch (3.92 KB, patch)
2017-10-30 11:18 PDT, Simon Fraser (smfr)
koivisto: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2017-08-31 17:07:55 PDT
"tab-size: 0px asserts" triggers an assertion in CSSPrimitiveValue::operator unsigned() const:

template<> inline CSSPrimitiveValue::operator unsigned() const
{
    if (primitiveType() == CSS_NUMBER)
        return value<unsigned>();

    ASSERT_NOT_REACHED();
    return 0;
}
Comment 1 Simon Fraser (smfr) 2017-08-31 17:08:22 PDT
Created attachment 319544 [details]
Testcase
Comment 2 Simon Fraser (smfr) 2017-10-30 11:18:42 PDT
Created attachment 325360 [details]
Patch
Comment 3 Antti Koivisto 2017-10-30 11:20:33 PDT
Comment on attachment 325360 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=325360&action=review

> Source/WebCore/css/parser/CSSPropertyParser.cpp:1116
> +static RefPtr<CSSValue> consumeTabSize(CSSParserTokenRange& range, CSSParserMode)
>  {
> -    RefPtr<CSSPrimitiveValue> parsedValue = consumeInteger(range, 0);
> -    if (parsedValue)
> -        return parsedValue;
> -    return consumeLength(range, cssParserMode, ValueRangeNonNegative);
> +    return consumeInteger(range, 0);

You could add a FIXME mentioning we lack support for length values.
Comment 4 Simon Fraser (smfr) 2017-10-30 11:24:41 PDT
https://trac.webkit.org/changeset/224193/webkit
Comment 5 Simon Fraser (smfr) 2017-10-30 11:26:26 PDT
Filed bug 179022 to support tab-size with units.
Comment 6 Radar WebKit Bug Importer 2017-11-15 13:11:55 PST
<rdar://problem/35568975>