diff --git a/mozilla/content/html/style/src/nsCSSLoader.cpp b/mozilla/content/html/style/src/nsCSSLoader.cpp
index 75d17490bb5..b242f2e924d 100644
--- a/mozilla/content/html/style/src/nsCSSLoader.cpp
+++ b/mozilla/content/html/style/src/nsCSSLoader.cpp
@@ -1355,8 +1355,14 @@ CSSLoaderImpl::LoadAgentSheet(nsIURI* aURL,
else {
NS_ADDREF(data);
URLKey key(aURL);
- mLoadingSheets.Put(&key, data);
- result = ParseSheet(uin, data, aCompleted, aSheet);
+ if (aObserver == nsnull) {
+ mLoadingSheets.Put(&key, data);
+ result = ParseSheet(uin, data, aCompleted, aSheet);
+ }
+ else {
+ result = LoadSheet(key, data); // this may steal pending alternates too
+ aCompleted = PR_FALSE;
+ }
}
NS_RELEASE(uin);
}
diff --git a/mozilla/layout/html/style/src/nsCSSLoader.cpp b/mozilla/layout/html/style/src/nsCSSLoader.cpp
index 75d17490bb5..b242f2e924d 100644
--- a/mozilla/layout/html/style/src/nsCSSLoader.cpp
+++ b/mozilla/layout/html/style/src/nsCSSLoader.cpp
@@ -1355,8 +1355,14 @@ CSSLoaderImpl::LoadAgentSheet(nsIURI* aURL,
else {
NS_ADDREF(data);
URLKey key(aURL);
- mLoadingSheets.Put(&key, data);
- result = ParseSheet(uin, data, aCompleted, aSheet);
+ if (aObserver == nsnull) {
+ mLoadingSheets.Put(&key, data);
+ result = ParseSheet(uin, data, aCompleted, aSheet);
+ }
+ else {
+ result = LoadSheet(key, data); // this may steal pending alternates too
+ aCompleted = PR_FALSE;
+ }
}
NS_RELEASE(uin);
}
diff --git a/mozilla/layout/style/nsCSSLoader.cpp b/mozilla/layout/style/nsCSSLoader.cpp
index 75d17490bb5..b242f2e924d 100644
--- a/mozilla/layout/style/nsCSSLoader.cpp
+++ b/mozilla/layout/style/nsCSSLoader.cpp
@@ -1355,8 +1355,14 @@ CSSLoaderImpl::LoadAgentSheet(nsIURI* aURL,
else {
NS_ADDREF(data);
URLKey key(aURL);
- mLoadingSheets.Put(&key, data);
- result = ParseSheet(uin, data, aCompleted, aSheet);
+ if (aObserver == nsnull) {
+ mLoadingSheets.Put(&key, data);
+ result = ParseSheet(uin, data, aCompleted, aSheet);
+ }
+ else {
+ result = LoadSheet(key, data); // this may steal pending alternates too
+ aCompleted = PR_FALSE;
+ }
}
NS_RELEASE(uin);
}