Open Bug 1026820 Opened 10 years ago Updated 2 years ago

audit nsChangeHint_NeutralChange return paths in style struct CalcDifference methods

Categories

(Core :: CSS Parsing and Computation, defect)

defect

Tracking

()

People

(Reporter: heycam, Unassigned)

References

Details

After bug 931668, style struct CalcDifference methods return nsChangeHint_NeutralChange when there is a change to data on the struct but which doesn't need any other change processing. Some of these are suspicious (such as those in nsStyleFont::CalcDifference and the mTwipsPerPixel in nsStyleColumn), and we should audit all of them to make sure we're not missing out on some processing that should be happening.
Does this bug cover the audit that dbaron suggests in bug 1176782 comment 14? Or if that wasn't the original intention, perhaps it can be amended to cover that issue too? Otherwise, let me know and I will file a separate bug.
Flags: needinfo?(cam)
dbaron preferred a separate bug for that, so I filed bug 1203571.
Flags: needinfo?(cam)
Yeah, this is about checking that the places where we do return nsChangeHint_NeutralChange shouldn't be returning something else; that was about checking that we're not missing data differences that should instead be returning nsChangeHint_NeutralChange.
I think the ones in nsStyleFont::CalcDifference are bad -- maybe not all of them, but at least some. I think mListStyleType in nsStyleList::CalcDifference is also bad. I'm a bit suspicious of mScrollSnapCoordinate. I think the mTwipsPerPixel differences are OK since we should throw away all style data and rebuild it if mTwipsPerPixel changes, though I'm not sure of that. Otherwise I think things are probably OK.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.