Bug 1470420: Make InsertChildSheet infallible. r=xidorn

MozReview-Commit-ID: 4bkwzSZ2ByZ
This commit is contained in:
Emilio Cobos Álvarez 2018-06-22 14:23:09 +02:00
Родитель 35b0e15ead
Коммит c3f12726ac
2 изменённых файлов: 8 добавлений и 12 удалений

Просмотреть файл

@ -1249,20 +1249,17 @@ Loader::InsertSheetInTree(StyleSheet& aSheet, nsIContent* aLinkingContent)
* restore CSSStyleSheet::InsertStyleSheetAt, which was removed in
* bug 1220506.)
*/
nsresult
Loader::InsertChildSheet(StyleSheet* aSheet, StyleSheet* aParentSheet)
void
Loader::InsertChildSheet(StyleSheet& aSheet, StyleSheet& aParentSheet)
{
LOG(("css::Loader::InsertChildSheet"));
MOZ_ASSERT(aSheet, "Nothing to insert");
MOZ_ASSERT(aParentSheet, "Need a parent to insert into");
// child sheets should always start out enabled, even if they got
// cloned off of top-level sheets which were disabled
aSheet->SetEnabled(true);
aParentSheet->PrependStyleSheet(aSheet);
aSheet.SetEnabled(true);
aParentSheet.PrependStyleSheet(&aSheet);
LOG((" Inserting into parent sheet"));
return NS_OK;
}
/**
@ -2228,8 +2225,8 @@ Loader::LoadChildSheet(StyleSheet* aParentSheet,
PrepareSheet(sheet, empty, empty, aMedia, IsAlternate::No);
}
rv = InsertChildSheet(sheet, aParentSheet);
NS_ENSURE_SUCCESS(rv, rv);
MOZ_ASSERT(sheet);
InsertChildSheet(*sheet, *aParentSheet);
if (state == eSheetComplete) {
LOG((" Sheet already complete"));

Просмотреть файл

@ -510,9 +510,8 @@ private:
// Inserts a style sheet in a document or a ShadowRoot.
void InsertSheetInTree(StyleSheet& aSheet, nsIContent* aLinkingContent);
nsresult InsertChildSheet(StyleSheet* aSheet,
StyleSheet* aParentSheet);
// Inserts a style sheet into a parent style sheet.
void InsertChildSheet(StyleSheet& aSheet, StyleSheet& aParentSheet);
nsresult InternalLoadNonDocumentSheet(
nsIURI* aURL,