From bb116685ba7fccd4e52bf1ec85ca6c36161599b7 Mon Sep 17 00:00:00 2001 From: "waterson%netscape.com" Date: Wed, 24 Nov 1999 22:43:45 +0000 Subject: [PATCH] Bug 20036. Fix style sheet ordering. git-svn-id: svn://10.0.0.236/trunk@54443 18797224-902f-48f8-a5cc-f745e15eee43 --- .../content/xul/document/src/nsXULContentSink.cpp | 13 ++++++------- mozilla/rdf/content/src/nsXULContentSink.cpp | 13 ++++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/mozilla/content/xul/document/src/nsXULContentSink.cpp b/mozilla/content/xul/document/src/nsXULContentSink.cpp index 18a71d78153..f5cfb3e8cea 100644 --- a/mozilla/content/xul/document/src/nsXULContentSink.cpp +++ b/mozilla/content/xul/document/src/nsXULContentSink.cpp @@ -239,7 +239,6 @@ protected: nsIParser* mParser; // [OWNER] We use regular pointer b/c of funky exports on nsIParser nsString mPreferredStyle; - PRInt32 mStyleSheetCount; nsCOMPtr mCSSLoader; // [OWNER] nsCOMPtr mCSSParser; // [OWNER] }; @@ -362,8 +361,7 @@ XULContentSinkImpl::XULContentSinkImpl(nsresult& rv) mTextSize(0), mConstrainSize(PR_TRUE), mState(eInProlog), - mParser(nsnull), - mStyleSheetCount(0) + mParser(nsnull) { NS_INIT_REFCNT(); @@ -891,12 +889,13 @@ XULContentSinkImpl::ProcessStyleLink(nsIContent* aElement, } } - // XXX Note that mStyleSheetCount is going to place the style - // sheet in a fairly random location if we're loading an - // overlay. Should we just use a Very Large Number? + nsCOMPtr doc = do_QueryReferent(mDocument); + if (! doc) + return NS_ERROR_FAILURE; // doc went away! + PRBool doneLoading; rv = mCSSLoader->LoadStyleLink(aElement, url, aTitle, aMedia, kNameSpaceID_Unknown, - mStyleSheetCount++, + doc->GetNumberOfStyleSheets(), ((blockParser) ? mParser : nsnull), doneLoading); if (NS_SUCCEEDED(rv) && blockParser && (! doneLoading)) { diff --git a/mozilla/rdf/content/src/nsXULContentSink.cpp b/mozilla/rdf/content/src/nsXULContentSink.cpp index 18a71d78153..f5cfb3e8cea 100644 --- a/mozilla/rdf/content/src/nsXULContentSink.cpp +++ b/mozilla/rdf/content/src/nsXULContentSink.cpp @@ -239,7 +239,6 @@ protected: nsIParser* mParser; // [OWNER] We use regular pointer b/c of funky exports on nsIParser nsString mPreferredStyle; - PRInt32 mStyleSheetCount; nsCOMPtr mCSSLoader; // [OWNER] nsCOMPtr mCSSParser; // [OWNER] }; @@ -362,8 +361,7 @@ XULContentSinkImpl::XULContentSinkImpl(nsresult& rv) mTextSize(0), mConstrainSize(PR_TRUE), mState(eInProlog), - mParser(nsnull), - mStyleSheetCount(0) + mParser(nsnull) { NS_INIT_REFCNT(); @@ -891,12 +889,13 @@ XULContentSinkImpl::ProcessStyleLink(nsIContent* aElement, } } - // XXX Note that mStyleSheetCount is going to place the style - // sheet in a fairly random location if we're loading an - // overlay. Should we just use a Very Large Number? + nsCOMPtr doc = do_QueryReferent(mDocument); + if (! doc) + return NS_ERROR_FAILURE; // doc went away! + PRBool doneLoading; rv = mCSSLoader->LoadStyleLink(aElement, url, aTitle, aMedia, kNameSpaceID_Unknown, - mStyleSheetCount++, + doc->GetNumberOfStyleSheets(), ((blockParser) ? mParser : nsnull), doneLoading); if (NS_SUCCEEDED(rv) && blockParser && (! doneLoading)) {