Summary: | REGRESSION (r58299): Replying on reddit.com no longer works | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alexey Proskuryakov <ap> | ||||||
Component: | CSS | Assignee: | Alexey Proskuryakov <ap> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | hyatt, jalada+bugzilla, mitz, s+webkit, visnupx, yuzo | ||||||
Priority: | P1 | Keywords: | InRadar, Regression | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Attachments: |
|
Description
Alexey Proskuryakov
2010-05-06 15:14:03 PDT
This happens because document.querySelectorAll(".login-popup:first") no longer raises an exception. Created attachment 55306 [details]
reduced test case
I think that this goes both ways. The new first, left and right classes are allowed outside @page rules, but also, other classes are allowed inside page rules, but they shouldn't. Correct (from the spec): page : PAGE_SYM S* IDENT? pseudo_page? S* '{' S* [ declaration | margin ]? [ ';' S* [ declaration | margin ]? ]* '}' S* ; pseudo_page : ':' [ "left" | "right" | "first" ] ; Wrong (CSSGrammar.y): page: PAGE_SYM maybe_space page_selector maybe_space ... page_selector: IDENT { ... | IDENT pseudo { ... | pseudo { ... | /* empty */ { Note that any pseudo is allowed in page rules by the grammar here, not just pseudo_page. Created attachment 55318 [details]
naive fix
Comment on attachment 55318 [details]
naive fix
r=me
Committed <http://trac.webkit.org/changeset/58922>. Add a FIXME comment, as suggested by Mitz. Comment on attachment 55318 [details] naive fix > + document.querySelectorAll(".login-popup:first"); I'd be happier if you included test cases for all three of the affected pseudo classes. Sorry for the regression and thank you for the fix. I'll address the grammar issue under a separate bug. *** Bug 38729 has been marked as a duplicate of this bug. *** *** Bug 38499 has been marked as a duplicate of this bug. *** *** Bug 38804 has been marked as a duplicate of this bug. *** |