Closed Bug 422868 Opened 12 years ago Closed 11 years ago
CSSScanner calls Pushback(-1) sometimes
There are two places in nsCSSScanner that can cause a Pushback(-1). The first is if a '@' is immediately followed by EOF (AT_KEYWORD token parsing). The second is if a ''|', '~', '^', '$', or '*' is immediately followed by EOF (INCLUDES and DASHMATCH token parsing). The upshot is that instead of getting EOF after the symbol token, we end up getting another ident token following the symbol token in these two situations (the PRUnichar(65536) in the pushback buffer is treated as non-ascii, hence part of an ident). I have no idea how to test this with current trunk. I suppose one way would be to attach a console listener and listen for the exact CSS error reported? I could do that if you like. It really doesn't matter much as things stand, though, since all these cases would just get thrown out, whatever the reason. Any sane test suite for bug 416317 will catch the second of these cases, though, since querySelectorAll("*") fails due to it being parsed as "*X" where 'X' is 0xFFFF. I figured it'd make sense to spin this little change out into its own bug for clarity's sake. I wasn't sure whether I could assert in Pushback() that the thing being pushed back is != PRUnichar(-1). If I can, I'll add the assert before checkin.
Comment on attachment 309340 [details] [diff] [review] Fix r+sr=dbaron
Fix checked in.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
11 years ago
Target Milestone: --- → mozilla1.9.1a1
You need to log in before you can comment on or make changes to this bug.