Bug 118260 - REGRESSION(r151510): CSS parser recovery for extra left parenthesis causes ignoring definitions beyond
Summary: REGRESSION(r151510): CSS parser recovery for extra left parenthesis causes ig...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Critical
Assignee: Nobody
URL:
Keywords: InRadar, Regression
Depends on:
Blocks:
 
Reported: 2013-07-01 12:10 PDT by zalan
Modified: 2013-07-08 14:18 PDT (History)
7 users (show)

See Also:


Attachments
test case (368 bytes, text/html)
2013-07-01 12:10 PDT, zalan
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description zalan 2013-07-01 12:10:04 PDT
with the following CSS

.foo {
    background: rgba(255,255,255,1.0)
	    -moz-linear-gradient(top,
	    rgba(170,175,178,0.8) 15%,
	    (rgba(255,255,255,0.5) 65%
	);
}

div { 
    border: 1px solid red;
}

the extra '(' right before the second rgb causes ignoring the div { border: 1px.....
Comment 1 zalan 2013-07-01 12:10:57 PDT
Created attachment 205828 [details]
test case
Comment 2 zalan 2013-07-01 12:13:03 PDT
<rdar://problem/14321487>
Comment 3 zalan 2013-07-01 12:15:32 PDT
regressed at http://trac.webkit.org/changeset/151510
Comment 4 Sergio Villar Senin 2013-07-02 01:25:23 PDT
Taking a look...
Comment 5 Sergio Villar Senin 2013-07-02 04:57:48 PDT
Actually I'm not sure this is a regression. In the "Rules for handling parsing errors" section of the CSS specs it mentions:

"User agents must close all open constructs (for example: blocks, parentheses, brackets, rules, strings, and comments) at the end of the style sheet."

So I understand from this paragraph that the new behavior is the desired one (actually no browser supports the test case you attached as all of them look for the matching closing parenthesis till the end of the stylesheet). Adding some more experienced people so we could have another opinion.