Bug 1447828 part 7 - Remove StyleBackendType uses from PreloadedStyleSheet. r?emilio
MozReview-Commit-ID: L37tnRAAJbQ
--- a/dom/base/nsDOMWindowUtils.cpp
+++ b/dom/base/nsDOMWindowUtils.cpp
@@ -3536,17 +3536,17 @@ nsDOMWindowUtils::AddSheet(nsIPreloadedS
aSheetType == USER_SHEET ||
aSheetType == AUTHOR_SHEET);
nsCOMPtr<nsIDocument> doc = GetDocument();
NS_ENSURE_TRUE(doc, NS_ERROR_FAILURE);
StyleSheet* sheet = nullptr;
auto preloadedSheet = static_cast<PreloadedStyleSheet*>(aSheet);
- nsresult rv = preloadedSheet->GetSheet(doc->GetStyleBackendType(), &sheet);
+ nsresult rv = preloadedSheet->GetSheet(&sheet);
NS_ENSURE_SUCCESS(rv, rv);
NS_ENSURE_TRUE(sheet, NS_ERROR_FAILURE);
if (sheet->GetAssociatedDocument()) {
return NS_ERROR_INVALID_ARG;
}
nsIDocument::additionalSheetType type = convertSheetType(aSheetType);
--- a/layout/style/PreloadedStyleSheet.cpp
+++ b/layout/style/PreloadedStyleSheet.cpp
@@ -40,36 +40,33 @@ PreloadedStyleSheet::Create(nsIURI* aURI
NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(PreloadedStyleSheet)
NS_INTERFACE_MAP_ENTRY(nsIPreloadedStyleSheet)
NS_INTERFACE_MAP_ENTRY(nsISupports)
NS_INTERFACE_MAP_END
NS_IMPL_CYCLE_COLLECTING_ADDREF(PreloadedStyleSheet)
NS_IMPL_CYCLE_COLLECTING_RELEASE(PreloadedStyleSheet)
-NS_IMPL_CYCLE_COLLECTION(PreloadedStyleSheet, mGecko, mServo)
+NS_IMPL_CYCLE_COLLECTION(PreloadedStyleSheet, mSheet)
nsresult
-PreloadedStyleSheet::GetSheet(StyleBackendType aType, StyleSheet** aResult)
+PreloadedStyleSheet::GetSheet(StyleSheet** aResult)
{
*aResult = nullptr;
MOZ_DIAGNOSTIC_ASSERT(mLoaded);
- RefPtr<StyleSheet>& sheet =
- aType == StyleBackendType::Gecko ? mGecko : mServo;
-
- if (!sheet) {
+ if (!mSheet) {
RefPtr<css::Loader> loader = new css::Loader;
- nsresult rv = loader->LoadSheetSync(mURI, mParsingMode, true, &sheet);
+ nsresult rv = loader->LoadSheetSync(mURI, mParsingMode, true, &mSheet);
NS_ENSURE_SUCCESS(rv, rv);
- MOZ_ASSERT(sheet);
+ MOZ_ASSERT(mSheet);
}
- *aResult = sheet;
+ *aResult = mSheet;
return NS_OK;
}
nsresult
PreloadedStyleSheet::Preload()
{
MOZ_DIAGNOSTIC_ASSERT(!mLoaded);
@@ -83,17 +80,17 @@ PreloadedStyleSheet::Preload()
// and we won't really have front loaded the loading time as the name
// "preload" might suggest. Also, in theory we could get different data from
// fetching the URL again, but for the usage patterns of this API this is
// unlikely, and it doesn't seem worth trying to store the contents of the URL
// and duplicating a bunch of css::Loader's logic.
mLoaded = true;
StyleSheet* sheet;
- return GetSheet(StyleBackendType::Servo, &sheet);
+ return GetSheet(&sheet);
}
NS_IMPL_ISUPPORTS(PreloadedStyleSheet::StylesheetPreloadObserver,
nsICSSLoaderObserver)
NS_IMETHODIMP
PreloadedStyleSheet::StylesheetPreloadObserver::StyleSheetLoaded(
StyleSheet* aSheet, bool aWasAlternate, nsresult aStatus)
@@ -112,19 +109,17 @@ PreloadedStyleSheet::StylesheetPreloadOb
// Note: After calling this method, the preloaded sheet *must not* be used
// until the observer is notified that the sheet has finished loading.
nsresult
PreloadedStyleSheet::PreloadAsync(NotNull<dom::Promise*> aPromise)
{
MOZ_DIAGNOSTIC_ASSERT(!mLoaded);
- RefPtr<StyleSheet>& sheet = mServo;
-
RefPtr<css::Loader> loader = new css::Loader;
RefPtr<StylesheetPreloadObserver> obs =
new StylesheetPreloadObserver(aPromise, this);
- return loader->LoadSheet(mURI, mParsingMode, false, obs, &sheet);
+ return loader->LoadSheet(mURI, mParsingMode, false, obs, &mSheet);
}
} // namespace mozilla
--- a/layout/style/PreloadedStyleSheet.h
+++ b/layout/style/PreloadedStyleSheet.h
@@ -7,17 +7,16 @@
/* a CSS style sheet returned from nsIStyleSheetService.preloadSheet */
#ifndef mozilla_PreloadedStyleSheet_h
#define mozilla_PreloadedStyleSheet_h
#include "mozilla/css/SheetParsingMode.h"
#include "mozilla/NotNull.h"
#include "mozilla/Result.h"
-#include "mozilla/StyleBackendType.h"
#include "nsCOMPtr.h"
#include "nsCycleCollectionParticipant.h"
#include "nsICSSLoaderObserver.h"
#include "nsIPreloadedStyleSheet.h"
class nsIURI;
namespace mozilla {
@@ -34,17 +33,17 @@ public:
static nsresult Create(nsIURI* aURI, css::SheetParsingMode aParsingMode,
PreloadedStyleSheet** aResult);
NS_DECL_CYCLE_COLLECTING_ISUPPORTS
NS_DECL_CYCLE_COLLECTION_CLASS(PreloadedStyleSheet)
// *aResult is not addrefed, since the PreloadedStyleSheet holds a strong
// reference to the sheet.
- nsresult GetSheet(StyleBackendType aType, StyleSheet** aResult);
+ nsresult GetSheet(StyleSheet** aResult);
nsresult Preload();
nsresult PreloadAsync(NotNull<dom::Promise*> aPromise);
protected:
virtual ~PreloadedStyleSheet() {}
private:
@@ -68,18 +67,17 @@ private:
protected:
virtual ~StylesheetPreloadObserver() {}
private:
RefPtr<dom::Promise> mPromise;
RefPtr<PreloadedStyleSheet> mPreloadedSheet;
};
- RefPtr<StyleSheet> mGecko;
- RefPtr<StyleSheet> mServo;
+ RefPtr<StyleSheet> mSheet;
bool mLoaded;
nsCOMPtr<nsIURI> mURI;
css::SheetParsingMode mParsingMode;
};
} // namespace mozilla