bug 665360 - hold reference to font family from loader. r=jdaggett
--- a/layout/style/nsFontFaceLoader.cpp
+++ b/layout/style/nsFontFaceLoader.cpp
@@ -87,16 +87,17 @@ static PRLogModuleInfo *gFontDownloaderL
#define LOG_ENABLED() PR_LOG_TEST(gFontDownloaderLog, PR_LOG_DEBUG)
nsFontFaceLoader::nsFontFaceLoader(gfxProxyFontEntry *aProxy, nsIURI *aFontURI,
nsUserFontSet *aFontSet, nsIChannel *aChannel)
: mFontEntry(aProxy), mFontURI(aFontURI), mFontSet(aFontSet),
mChannel(aChannel)
{
+ mFontFamily = aProxy->Family();
}
nsFontFaceLoader::~nsFontFaceLoader()
{
if (mLoadTimer) {
mLoadTimer->Cancel();
mLoadTimer = nsnull;
}
--- a/layout/style/nsFontFaceLoader.h
+++ b/layout/style/nsFontFaceLoader.h
@@ -140,16 +140,17 @@ public:
static void LoadTimerCallback(nsITimer *aTimer, void *aClosure);
static nsresult CheckLoadAllowed(nsIPrincipal* aSourcePrincipal,
nsIURI* aTargetURI,
nsISupports* aContext);
private:
nsRefPtr<gfxProxyFontEntry> mFontEntry;
+ nsRefPtr<gfxFontFamily> mFontFamily;
nsCOMPtr<nsIURI> mFontURI;
nsRefPtr<nsUserFontSet> mFontSet;
nsCOMPtr<nsIChannel> mChannel;
nsCOMPtr<nsITimer> mLoadTimer;
nsIStreamLoader *mStreamLoader;
};