[Webkit-unassigned] [Bug 151468] New: circle's r, cx, and cy should be parsed via fast path

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Nov 19 17:19:50 PST 2015


            Bug ID: 151468
           Summary: circle's r, cx, and cy should be parsed via fast path
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: SVG
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: rniwa at webkit.org
                CC: akling at apple.com, bdakin at apple.com, dino at apple.com,
                    koivisto at iki.fi, sabouhallawa at apple.com,
                    zimmermann at kde.org

When a circle element's r, cx, and cy attributes are specified without unit, we end up parsing via yyparse.
We should be using the fast path instead.

This shows up as 10% of CPU time while loading the internal perf dashboard.
We fail because parseSimpleLengthValue in CSSParser.cpp has a check for isStrictParserMode which returns false for SVG elements:

    if (unit == CSSPrimitiveValue::CSS_NUMBER) {
        if (number && isStrictParserMode(cssParserMode))
            return CSSParser::ParseResult::Error;
        unit = CSSPrimitiveValue::CSS_PX;

I don't know this code or SVG well enough to tell why this early exit is needed.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20151120/750ba9b5/attachment.html>

More information about the webkit-unassigned mailing list