No need to attempt to load mathml.css if not necessary, b=183866, r=heikki, sr=bzbarsky

git-svn-id: svn://10.0.0.236/trunk@135358 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rbs%maths.uq.edu.au 2002-12-16 22:22:12 +00:00
parent 1e77782c91
commit bc2c3e42db

View File

@ -1639,30 +1639,31 @@ MathMLElementFactoryImpl::CreateInstanceByTag(nsINodeInfo* aNodeInfo,
nsCOMPtr<nsIDocument> doc;
aNodeInfo->GetDocument(*getter_AddRefs(doc));
if (doc) {
PRBool alreadyLoaded = PR_FALSE;
PRInt32 i = 0, sheetCount = 0;
doc->GetNumberOfStyleSheets(PR_TRUE, &sheetCount);
for (; i < sheetCount; i++) {
nsCOMPtr<nsIStyleSheet> sheet;
doc->GetStyleSheetAt(i, PR_TRUE, getter_AddRefs(sheet));
NS_ASSERTION(sheet, "unexpected null stylesheet in the document");
if (sheet) {
nsCOMPtr<nsIURI> uri;
sheet->GetURL(*getter_AddRefs(uri));
nsCAutoString uriStr;
uri->GetSpec(uriStr);
if (uriStr.Equals(kMathMLStyleSheetURI)) {
alreadyLoaded = PR_TRUE;
break;
nsCOMPtr<nsIHTMLContentContainer> htmlContainer(do_QueryInterface(doc));
if (htmlContainer) {
PRBool enabled;
nsCOMPtr<nsICSSLoader> cssLoader;
htmlContainer->GetCSSLoader(*getter_AddRefs(cssLoader));
if (cssLoader && NS_SUCCEEDED(cssLoader->GetEnabled(&enabled)) && enabled) {
PRBool alreadyLoaded = PR_FALSE;
PRInt32 i = 0, sheetCount = 0;
doc->GetNumberOfStyleSheets(PR_TRUE, &sheetCount);
for (; i < sheetCount; i++) {
nsCOMPtr<nsIStyleSheet> sheet;
doc->GetStyleSheetAt(i, PR_TRUE, getter_AddRefs(sheet));
NS_ASSERTION(sheet, "unexpected null stylesheet in the document");
if (sheet) {
nsCOMPtr<nsIURI> uri;
sheet->GetURL(*getter_AddRefs(uri));
nsCAutoString uriStr;
uri->GetSpec(uriStr);
if (uriStr.Equals(kMathMLStyleSheetURI)) {
alreadyLoaded = PR_TRUE;
break;
}
}
}
}
}
if (!alreadyLoaded) {
nsCOMPtr<nsIHTMLContentContainer> htmlContainer(do_QueryInterface(doc));
if (htmlContainer) {
nsCOMPtr<nsICSSLoader> cssLoader;
htmlContainer->GetCSSLoader(*getter_AddRefs(cssLoader));
if (cssLoader) {
if (!alreadyLoaded) {
nsCOMPtr<nsIURI> uri;
NS_NewURI(getter_AddRefs(uri), kMathMLStyleSheetURI);
if (uri) {