Closed Bug 478135 Opened 15 years ago Closed 5 years ago

"ASSERTION: bits don't correspond to style change reason" with removeAttribute('value')


(Core :: Layout, defect)

Not set



Tracking Status
firefox-esr60 --- wontfix
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- fixed


(Reporter: jruderman, Assigned: MatsPalmgren_bugz)


(Blocks 1 open bug)


(Keywords: assertion, testcase, Whiteboard: [fixed bug 288704])


(1 file)

Attached file testcase
###!!! ASSERTION: bits don't correspond to style change reason: 'aIntrinsicDirty != eStyleChange || aBitToAdd == NS_FRAME_IS_DIRTY', file /Users/jruderman/central/layout/base/nsPresShell.cpp, line 3126
nsBlockFrame::AttributeChanged makes exactly the sort of calls this assertion is supposed to catch.

As far as I can see, it shouldn't be using eStyleChange here.  In fact, it should probably not be doing anything at all; it would make more sense for the guts of RenumberLists to actually call FrameNeedsReflow on whatever bullets they change.  The only issue there is that our setup for marking lines dirty is really slow, so we don't actually want to make such calls....

On the other hand, there's also no point clearing all descendant intrinsic widths here.  Or we could just switch to NS_FRAME_IS_DIRTY for the flag; these attributes don't change much.

David, thoughts?
It seem like what this caller is doing is pretty reasonable, although I suppose we could make it use eResize and then do the marking of descendant intrinsics manually just like we set the bits manually.
Assignee: nobody → jdaggett
Assignee: jd.bugzilla → nobody
Depends on: 1457813

This assertion should be fixed now that bug 288704 removed RenumberLists.
However, the list item counter doesn't seem to update correctly now.
I'll fix that in bug 1544590, which includes a WPT for this bug.

Assignee: nobody → mats
Closed: 5 years ago
Depends on: 288704, 1544590
Resolution: --- → FIXED
Whiteboard: [fixed bug 288704]
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.