Bug 1348481 Part 4: Fix a dangerous typo in StyleSetInlines (replaced one variable with another) and add assert to catch the problem it created.
MozReview-Commit-ID: L2tfMt7TM60
--- a/layout/style/ServoStyleSet.cpp
+++ b/layout/style/ServoStyleSet.cpp
@@ -638,16 +638,17 @@ ServoStyleSet::ReplaceSheets(SheetType a
nsresult
ServoStyleSet::InsertStyleSheetBefore(SheetType aType,
ServoStyleSheet* aNewSheet,
ServoStyleSheet* aReferenceSheet)
{
MOZ_ASSERT(aNewSheet);
MOZ_ASSERT(aReferenceSheet);
MOZ_ASSERT(aNewSheet->IsApplicable());
+ MOZ_ASSERT(aNewSheet != aReferenceSheet, "Can't place sheet before itself.");
size_t idx = FindLocalIndexOfSheetOfType(aReferenceSheet, aType);
if (idx == NO_RAW_INDEX) {
return NS_ERROR_INVALID_ARG;
}
size_t referenceRawIndex = mSheets[aType][idx].rawIndex;
size_t oldRawIndex = RemoveSheetOfType(aNewSheet, aType);
--- a/layout/style/StyleSetHandleInlines.h
+++ b/layout/style/StyleSetHandleInlines.h
@@ -183,17 +183,17 @@ StyleSetHandle::Ptr::ReplaceSheets(Sheet
nsresult
StyleSetHandle::Ptr::InsertStyleSheetBefore(SheetType aType,
StyleSheet* aNewSheet,
StyleSheet* aReferenceSheet)
{
FORWARD_CONCRETE(
InsertStyleSheetBefore,
(aType, aNewSheet->AsGecko(), aReferenceSheet->AsGecko()),
- (aType, aReferenceSheet->AsServo(), aReferenceSheet->AsServo()));
+ (aType, aNewSheet->AsServo(), aReferenceSheet->AsServo()));
}
int32_t
StyleSetHandle::Ptr::SheetCount(SheetType aType) const
{
FORWARD(SheetCount, (aType));
}