Bug 118260

Summary: REGRESSION(r151510): CSS parser recovery for extra left parenthesis causes ignoring definitions beyond
Product: WebKit Reporter: zalan <zalan>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Critical CC: ahmad.saleem792, ap, bfulgham, darin, jonlee, kling, koivisto, rniwa, svillar, webkit-bug-importer
Priority: P2 Keywords: InRadar, Regression
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
test case none

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.
Comment 6 Ahmad Saleem 2022-08-20 06:21:31 PDT
I am unable to reproduce this bug in Safari Technology Preview 151 and it does not show "red" border and it is same across all other browsers (Chrome Canary 106 and Firefox Nightly 105). I am going to mark this as "RESOLVED WONTFIX" since all browsers are aligned.

Please reopen if you think this is still not correct intended beahvior or I am testing incorrectly. Thanks!