Closed Bug 861489 Opened 12 years ago Closed 11 years ago

"ABORT: wrong rule: 'n->GetRule() == aOldAnimRule'" with :link, CSS animation

Categories

(Core :: CSS Parsing and Computation, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla27

People

(Reporter: jruderman, Assigned: dbaron)

References

Details

(Keywords: assertion, testcase)

Attachments

(3 files)

Attached file testcase (deleted) —
###!!! ABORT: wrong rule: 'n->GetRule() == aOldAnimRule', file layout/style/nsStyleSet.cpp, line 674
Attached file stack (deleted) —
Well, aOldAnimRule is a mozilla::css::AnimValuesStyleRule while n->GetRule() is a mozilla::css::StyleRule... None of the rulenodes up the tree from aOldRuleNode have anything other than a StyleRule hanging off them, in fact. aOldRuleNode seems to be the "visited rulenode" from nsStyleSet::GetContext. In general, it looks like both the animation rule and the mozilla::css::ImportantRule that the non-visited rulenode has are missing from the visited rulenode?
Flags: needinfo?(dbaron)
(In reply to Boris Zbarsky [:bz] from comment #2) > In general, it looks like both the animation rule and the > mozilla::css::ImportantRule that the non-visited rulenode has are missing > from the visited rulenode? Tpshe mozilla::css::ImportantRule is supposed to be mising, since it comes from the :link rule in the testcase. But the animation rule being missing is a problem.
And the problem here is that SkipAnimationRules no longer works correctly when !important rules are present (as the FIXME comment in it, in my tree only, suggests). So we get into trouble when the :link style has an !important rule and the :visited one doesn't.
Blocks: 783714
Flags: needinfo?(dbaron)
Assignee: nobody → dbaron
Status: NEW → ASSIGNED
OS: Mac OS X → All
Hardware: x86_64 → All
And I have Jesse's test in a separate patch, as a crashtest. I've confirmed that it aborts in the harness without the patch, and works with the patch.
Comment on attachment 806346 [details] [diff] [review] Fix SkipAnimationRule to do the right thing in the presence of new cascading rules. r=me
Attachment #806346 - Flags: review?(bzbarsky) → review+
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: