Summary: | REGRESSION: ToT crashes applying first-letter pseudo-property | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | mitz | ||||||
Component: | Layout and Rendering | Assignee: | Dave Hyatt <hyatt> | ||||||
Status: | VERIFIED FIXED | ||||||||
Severity: | Blocker | CC: | eric, webkit-bugs | ||||||
Priority: | P1 | ||||||||
Version: | 420+ | ||||||||
Hardware: | Mac | ||||||||
OS: | OS X 10.4 | ||||||||
Attachments: |
|
Description
mitz
2005-11-19 16:18:52 PST
Created attachment 4737 [details]
testcase for first-letter regression
ToT crashes when applying styles to the first-letter pseudo-property of an
element. This example uses a paragraph tag, but the result is the same with any
tag tested.
Looks like a regression from 2005-11-17 David Hyatt <hyatt@apple.com> Add support for getMatchedCSSRules, an API that can be used to inspect the set of rules that match on an element. From Obj-C you see all rules (user agent, author, user). From JS you just see author rules. (Rolling out the patch eliminates this bug). This is the culprit (from that patch): --- cssstyleselector.cpp 2 Nov 2005 08:52:40 -0000 1.220 +++ cssstyleselector.cpp 17 Nov 2005 21:28:10 -0000 1.221 @@ -377,8 +378,16 @@ sortMatchedRules(0, m_matchedRuleCount); // Now transfer the set of matched rules over to our list of decls. - for (unsigned i = 0; i < m_matchedRuleCount; i++) - addMatchedDeclaration(m_matchedRules[i]->rule()->declaration()); + if (style) { + for (unsigned i = 0; i < m_matchedRuleCount; i++) + addMatchedDeclaration(m_matchedRules[i]->rule()->declaration()); + } else { + for (unsigned i = 0; i < m_matchedRuleCount; i++) { + if (!m_ruleList) + m_ruleList = new CSSRuleListImpl(); + m_ruleList->append(m_matchedRules[i]->rule()); + } + } } *** Bug 5781 has been marked as a duplicate of this bug. *** Created attachment 4750 [details]
Hyatt's original patch.
I rolled out hyatt's patch (which I have attached). Removing keyword(s) cause bug is fixed. Removing keyword(s) since bug is fixed. Removing keyword(s) since bug is fixed. Removing Regression keyword from bugs already fixed. |