diff --git a/mozilla/content/base/public/nsIStyleSheetLinkingElement.h b/mozilla/content/base/public/nsIStyleSheetLinkingElement.h index 6cee99e02f5..0c0e8f1be07 100644 --- a/mozilla/content/base/public/nsIStyleSheetLinkingElement.h +++ b/mozilla/content/base/public/nsIStyleSheetLinkingElement.h @@ -108,6 +108,11 @@ public: * @param aCharset the charset */ NS_IMETHOD GetCharset(nsAString& aCharset) = 0; + + // This doesn't entirely belong here since they only make sense for + // some types of linking elements, but it's a better place than + // anywhere else. + virtual void SetLineNumber(PRUint32 aLineNumber) = 0; }; #endif // nsILinkingElement_h__ diff --git a/mozilla/content/base/src/nsStyleLinkElement.cpp b/mozilla/content/base/src/nsStyleLinkElement.cpp index d07e114f09e..8f109ca35d9 100644 --- a/mozilla/content/base/src/nsStyleLinkElement.cpp +++ b/mozilla/content/base/src/nsStyleLinkElement.cpp @@ -54,9 +54,10 @@ #include "nsVoidArray.h" #include "nsCRT.h" -nsStyleLinkElement::nsStyleLinkElement() : - mDontLoadStyle(PR_FALSE), - mUpdatesEnabled(PR_TRUE) +nsStyleLinkElement::nsStyleLinkElement() + : mDontLoadStyle(PR_FALSE) + , mUpdatesEnabled(PR_TRUE) + , mLineNumber(1) { } @@ -139,6 +140,12 @@ nsStyleLinkElement::GetCharset(nsAString& aCharset) return NS_ERROR_NOT_IMPLEMENTED; } +/* virtual */ void +nsStyleLinkElement::SetLineNumber(PRUint32 aLineNumber) +{ + mLineNumber = aLineNumber; +} + void nsStyleLinkElement::ParseLinkTypes(const nsAString& aTypes, nsStringArray& aResult) { @@ -317,7 +324,7 @@ nsStyleLinkElement::UpdateStyleSheet(nsIDocument *aOldDocument, // Now that we have a url and a unicode input stream, parse the // style sheet. - rv = loader->LoadInlineStyle(thisContent, uin, title, media, + rv = loader->LoadInlineStyle(thisContent, uin, mLineNumber, title, media, ((blockParser) ? parser.get() : nsnull), doneLoading, aObserver); } diff --git a/mozilla/content/base/src/nsStyleLinkElement.h b/mozilla/content/base/src/nsStyleLinkElement.h index fa0a9428aa7..f8aa93a7baa 100644 --- a/mozilla/content/base/src/nsStyleLinkElement.h +++ b/mozilla/content/base/src/nsStyleLinkElement.h @@ -68,6 +68,7 @@ public: nsICSSLoaderObserver* aObserver = nsnull); NS_IMETHOD SetEnableUpdates(PRBool aEnableUpdates); NS_IMETHOD GetCharset(nsAString& aCharset); + virtual void SetLineNumber(PRUint32 aLineNumber); static void ParseLinkTypes(const nsAString& aTypes, nsStringArray& aResult); @@ -84,6 +85,7 @@ protected: nsCOMPtr mParser; PRPackedBool mDontLoadStyle; PRPackedBool mUpdatesEnabled; + PRUint32 mLineNumber; }; #endif /* nsStyleLinkElement_h___ */ diff --git a/mozilla/content/html/document/src/nsHTMLContentSink.cpp b/mozilla/content/html/document/src/nsHTMLContentSink.cpp index f2f2fefb770..57d29e6d1ee 100644 --- a/mozilla/content/html/document/src/nsHTMLContentSink.cpp +++ b/mozilla/content/html/document/src/nsHTMLContentSink.cpp @@ -4292,6 +4292,9 @@ HTMLContentSink::ProcessSTYLETag(const nsIParserNode& aNode) nsCOMPtr ssle = do_QueryInterface(element); + NS_ASSERTION(ssle, + "html:style doesn't implement nsIStyleSheetLinkingElement"); + if (ssle) { // XXX need prefs. check here. if (!mInsideNoXXXTag) { @@ -4321,6 +4324,10 @@ HTMLContentSink::ProcessSTYLETag(const nsIParserNode& aNode) dtd->CollectSkippedContent(eHTMLTag_style, content, lineNo); + if (ssle) { + ssle->SetLineNumber(lineNo); + } + if (!content.IsEmpty()) { // Create a text node holding the content nsCOMPtr text; diff --git a/mozilla/content/html/style/public/nsICSSLoader.h b/mozilla/content/html/style/public/nsICSSLoader.h index 73ae79c9f8e..07dc2203b3a 100644 --- a/mozilla/content/html/style/public/nsICSSLoader.h +++ b/mozilla/content/html/style/public/nsICSSLoader.h @@ -86,6 +86,7 @@ public: // will be marked complete when complete NS_IMETHOD LoadInlineStyle(nsIContent* aElement, nsIUnicharInputStream* aStream, + PRUint32 aLineNumber, const nsAString& aTitle, const nsAString& aMedia, nsIParser* aParserToUnblock, diff --git a/mozilla/content/html/style/public/nsICSSParser.h b/mozilla/content/html/style/public/nsICSSParser.h index 99992e07991..9c30e0aa5f4 100644 --- a/mozilla/content/html/style/public/nsICSSParser.h +++ b/mozilla/content/html/style/public/nsICSSParser.h @@ -82,6 +82,7 @@ public: NS_IMETHOD Parse(nsIUnicharInputStream* aInput, nsIURI* aInputURL, + PRUint32 aLineNumber, nsICSSStyleSheet*& aResult) = 0; // Parse HTML style attribute or its equivalent in other markup diff --git a/mozilla/content/html/style/src/nsCSSLoader.cpp b/mozilla/content/html/style/src/nsCSSLoader.cpp index 5fa8ce1ae33..c6c36bc63b0 100644 --- a/mozilla/content/html/style/src/nsCSSLoader.cpp +++ b/mozilla/content/html/style/src/nsCSSLoader.cpp @@ -145,6 +145,7 @@ SheetLoadData::SheetLoadData(CSSLoaderImpl* aLoader, mTitle(aTitle), mParserToUnblock(aParserToUnblock), mURI(aURI), + mLineNumber(1), mSheet(aSheet), mNext(nsnull), mParentData(nsnull), @@ -169,6 +170,7 @@ SheetLoadData::SheetLoadData(CSSLoaderImpl* aLoader, : mLoader(aLoader), mParserToUnblock(nsnull), mURI(aURI), + mLineNumber(1), mSheet(aSheet), mNext(nsnull), mParentData(aParentData), @@ -199,6 +201,7 @@ SheetLoadData::SheetLoadData(CSSLoaderImpl* aLoader, : mLoader(aLoader), mParserToUnblock(nsnull), mURI(aURI), + mLineNumber(1), mSheet(aSheet), mNext(nsnull), mParentData(nsnull), @@ -1474,7 +1477,8 @@ CSSLoaderImpl::ParseSheet(nsIUnicharInputStream* aStream, mParsingDatas.AppendElement(aLoadData); nsCOMPtr uri; aLoadData->mSheet->GetURL(*getter_AddRefs(uri)); - rv = parser->Parse(aStream, uri, *getter_AddRefs(dummySheet)); + rv = parser->Parse(aStream, uri, aLoadData->mLineNumber, + *getter_AddRefs(dummySheet)); mParsingDatas.RemoveElementAt(mParsingDatas.Count() - 1); RecycleParser(parser); @@ -1617,6 +1621,7 @@ CSSLoaderImpl::SheetComplete(SheetLoadData* aLoadData, PRBool aSucceeded) NS_IMETHODIMP CSSLoaderImpl::LoadInlineStyle(nsIContent* aElement, nsIUnicharInputStream* aStream, + PRUint32 aLineNumber, const nsAString& aTitle, const nsAString& aMedia, nsIParser* aParserToUnblock, @@ -1663,6 +1668,7 @@ CSSLoaderImpl::LoadInlineStyle(nsIContent* aElement, } NS_ADDREF(data); + data->mLineNumber = aLineNumber; // Parse completion releases the load data return ParseSheet(aStream, data, aCompleted); } diff --git a/mozilla/content/html/style/src/nsCSSLoader.h b/mozilla/content/html/style/src/nsCSSLoader.h index 36acf1fd310..0decbb8e798 100644 --- a/mozilla/content/html/style/src/nsCSSLoader.h +++ b/mozilla/content/html/style/src/nsCSSLoader.h @@ -144,6 +144,9 @@ public: // URI we're loading. Null for inline sheets nsCOMPtr mURI; + // Should be 1 for non-inline sheets. + PRUint32 mLineNumber; + // The sheet we're loading data for nsCOMPtr mSheet; @@ -227,7 +230,8 @@ public: NS_IMETHOD RecycleParser(nsICSSParser* aParser); NS_IMETHOD LoadInlineStyle(nsIContent* aElement, - nsIUnicharInputStream* aIn, + nsIUnicharInputStream* aStream, + PRUint32 aLineNumber, const nsAString& aTitle, const nsAString& aMedia, nsIParser* aParserToUnblock, diff --git a/mozilla/content/html/style/src/nsCSSParser.cpp b/mozilla/content/html/style/src/nsCSSParser.cpp index 8a92cad5468..4f39655dab6 100644 --- a/mozilla/content/html/style/src/nsCSSParser.cpp +++ b/mozilla/content/html/style/src/nsCSSParser.cpp @@ -107,6 +107,7 @@ public: NS_IMETHOD Parse(nsIUnicharInputStream* aInput, nsIURI* aInputURL, + PRUint32 aLineNumber, nsICSSStyleSheet*& aResult); NS_IMETHOD ParseStyleAttribute(const nsAString& aAttributeValue, @@ -133,7 +134,8 @@ public: void AppendRule(nsICSSRule* aRule); protected: - nsresult InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI); + nsresult InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI, + PRUint32 aLineNumber); nsresult ReleaseScanner(void); PRBool GetToken(nsresult& aErrorCode, PRBool aSkipWS); @@ -506,7 +508,8 @@ CSSParserImpl::SetChildLoader(nsICSSLoader* aChildLoader) } nsresult -CSSParserImpl::InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI) +CSSParserImpl::InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI, + PRUint32 aLineNumber) { NS_ASSERTION(! mScanner, "already have scanner"); @@ -514,7 +517,7 @@ CSSParserImpl::InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI) if (! mScanner) { return NS_ERROR_OUT_OF_MEMORY; } - mScanner->Init(aInput, aURI); + mScanner->Init(aInput, aURI, aLineNumber); mURL = aURI; mHavePushBack = PR_FALSE; @@ -537,6 +540,7 @@ CSSParserImpl::ReleaseScanner(void) NS_IMETHODIMP CSSParserImpl::Parse(nsIUnicharInputStream* aInput, nsIURI* aInputURL, + PRUint32 aLineNumber, nsICSSStyleSheet*& aResult) { NS_ASSERTION(nsnull != aInputURL, "need base URL"); @@ -560,7 +564,7 @@ CSSParserImpl::Parse(nsIUnicharInputStream* aInput, nsresult errorCode = NS_OK; - nsresult result = InitScanner(aInput, aInputURL); + nsresult result = InitScanner(aInput, aInputURL, aLineNumber); if (! NS_SUCCEEDED(result)) { return result; } @@ -639,7 +643,7 @@ CSSParserImpl::ParseStyleAttribute(const nsAString& aAttributeValue, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number NS_RELEASE(input); if (! NS_SUCCEEDED(rv)) { return rv; @@ -704,7 +708,7 @@ CSSParserImpl::ParseAndAppendDeclaration(const nsAString& aBuffer, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number NS_RELEASE(input); if (! NS_SUCCEEDED(rv)) { return rv; @@ -762,7 +766,7 @@ CSSParserImpl::ParseRule(const nsAString& aRule, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number if (NS_FAILED(rv)) { return rv; } @@ -821,7 +825,7 @@ CSSParserImpl::ParseProperty(const nsCSSProperty aPropID, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number if (NS_FAILED(rv)) { return rv; } diff --git a/mozilla/content/html/style/src/nsCSSScanner.cpp b/mozilla/content/html/style/src/nsCSSScanner.cpp index e01e408ddd5..fac4091d405 100644 --- a/mozilla/content/html/style/src/nsCSSScanner.cpp +++ b/mozilla/content/html/style/src/nsCSSScanner.cpp @@ -181,7 +181,6 @@ nsCSSScanner::nsCSSScanner() mPushback = mLocalPushback; mPushbackCount = 0; mPushbackSize = 4; - mLineNumber = 1; mLastRead = 0; } @@ -198,7 +197,8 @@ nsCSSScanner::~nsCSSScanner() } } -void nsCSSScanner::Init(nsIUnicharInputStream* aInput, nsIURI* aURI) +void nsCSSScanner::Init(nsIUnicharInputStream* aInput, nsIURI* aURI, + PRUint32 aLineNumber) { NS_PRECONDITION(nsnull != aInput, "Null input stream pointer"); Close(); @@ -213,7 +213,7 @@ void nsCSSScanner::Init(nsIUnicharInputStream* aInput, nsIURI* aURI) } mColNumber = 0; #endif // CSS_REPORT_PARSE_ERRORS - + mLineNumber = aLineNumber; } #ifdef CSS_REPORT_PARSE_ERRORS @@ -275,11 +275,6 @@ void nsCSSScanner::OutputError() #define REPORT_UNEXPECTED_EOF(err_) #endif // CSS_REPORT_PARSE_ERRORS -PRUint32 nsCSSScanner::GetLineNumber() -{ - return mLineNumber; -} - void nsCSSScanner::Close() { NS_IF_RELEASE(mInput); diff --git a/mozilla/content/html/style/src/nsCSSScanner.h b/mozilla/content/html/style/src/nsCSSScanner.h index 48ff6804ece..595e16bf160 100644 --- a/mozilla/content/html/style/src/nsCSSScanner.h +++ b/mozilla/content/html/style/src/nsCSSScanner.h @@ -124,7 +124,7 @@ class nsCSSScanner { ~nsCSSScanner(); // Init the scanner. - void Init(nsIUnicharInputStream* aInput, nsIURI* aURI); + void Init(nsIUnicharInputStream* aInput, nsIURI* aURI, PRUint32 aLineNumber); #ifdef CSS_REPORT_PARSE_ERRORS void AddToError(const nsAString& aErrorText); @@ -132,7 +132,7 @@ class nsCSSScanner { void ClearError(); #endif - PRUint32 GetLineNumber(); + PRUint32 GetLineNumber() { return mLineNumber; } // Get the next token. Return nsfalse on EOF or ERROR. aTokenResult // is filled in with the data for the token. diff --git a/mozilla/content/xml/document/src/nsXMLContentSink.cpp b/mozilla/content/xml/document/src/nsXMLContentSink.cpp index 5a87993f2ba..479438c9b23 100644 --- a/mozilla/content/xml/document/src/nsXMLContentSink.cpp +++ b/mozilla/content/xml/document/src/nsXMLContentSink.cpp @@ -488,6 +488,9 @@ nsXMLContentSink::CreateElement(const PRUnichar** aAtts, PRUint32 aAttsCount, if (ssle) { ssle->InitStyleLinkElement(mParser, PR_FALSE); ssle->SetEnableUpdates(PR_FALSE); + if (!aNodeInfo->Equals(nsHTMLAtoms::link, kNameSpaceID_XHTML)) { + ssle->SetLineNumber(aLineNumber); + } } } else if (aNodeInfo->Equals(nsHTMLAtoms::img, kNameSpaceID_XHTML) || diff --git a/mozilla/layout/style/nsCSSLoader.cpp b/mozilla/layout/style/nsCSSLoader.cpp index 5fa8ce1ae33..c6c36bc63b0 100644 --- a/mozilla/layout/style/nsCSSLoader.cpp +++ b/mozilla/layout/style/nsCSSLoader.cpp @@ -145,6 +145,7 @@ SheetLoadData::SheetLoadData(CSSLoaderImpl* aLoader, mTitle(aTitle), mParserToUnblock(aParserToUnblock), mURI(aURI), + mLineNumber(1), mSheet(aSheet), mNext(nsnull), mParentData(nsnull), @@ -169,6 +170,7 @@ SheetLoadData::SheetLoadData(CSSLoaderImpl* aLoader, : mLoader(aLoader), mParserToUnblock(nsnull), mURI(aURI), + mLineNumber(1), mSheet(aSheet), mNext(nsnull), mParentData(aParentData), @@ -199,6 +201,7 @@ SheetLoadData::SheetLoadData(CSSLoaderImpl* aLoader, : mLoader(aLoader), mParserToUnblock(nsnull), mURI(aURI), + mLineNumber(1), mSheet(aSheet), mNext(nsnull), mParentData(nsnull), @@ -1474,7 +1477,8 @@ CSSLoaderImpl::ParseSheet(nsIUnicharInputStream* aStream, mParsingDatas.AppendElement(aLoadData); nsCOMPtr uri; aLoadData->mSheet->GetURL(*getter_AddRefs(uri)); - rv = parser->Parse(aStream, uri, *getter_AddRefs(dummySheet)); + rv = parser->Parse(aStream, uri, aLoadData->mLineNumber, + *getter_AddRefs(dummySheet)); mParsingDatas.RemoveElementAt(mParsingDatas.Count() - 1); RecycleParser(parser); @@ -1617,6 +1621,7 @@ CSSLoaderImpl::SheetComplete(SheetLoadData* aLoadData, PRBool aSucceeded) NS_IMETHODIMP CSSLoaderImpl::LoadInlineStyle(nsIContent* aElement, nsIUnicharInputStream* aStream, + PRUint32 aLineNumber, const nsAString& aTitle, const nsAString& aMedia, nsIParser* aParserToUnblock, @@ -1663,6 +1668,7 @@ CSSLoaderImpl::LoadInlineStyle(nsIContent* aElement, } NS_ADDREF(data); + data->mLineNumber = aLineNumber; // Parse completion releases the load data return ParseSheet(aStream, data, aCompleted); } diff --git a/mozilla/layout/style/nsCSSLoader.h b/mozilla/layout/style/nsCSSLoader.h index 36acf1fd310..0decbb8e798 100644 --- a/mozilla/layout/style/nsCSSLoader.h +++ b/mozilla/layout/style/nsCSSLoader.h @@ -144,6 +144,9 @@ public: // URI we're loading. Null for inline sheets nsCOMPtr mURI; + // Should be 1 for non-inline sheets. + PRUint32 mLineNumber; + // The sheet we're loading data for nsCOMPtr mSheet; @@ -227,7 +230,8 @@ public: NS_IMETHOD RecycleParser(nsICSSParser* aParser); NS_IMETHOD LoadInlineStyle(nsIContent* aElement, - nsIUnicharInputStream* aIn, + nsIUnicharInputStream* aStream, + PRUint32 aLineNumber, const nsAString& aTitle, const nsAString& aMedia, nsIParser* aParserToUnblock, diff --git a/mozilla/layout/style/nsCSSParser.cpp b/mozilla/layout/style/nsCSSParser.cpp index 8a92cad5468..4f39655dab6 100644 --- a/mozilla/layout/style/nsCSSParser.cpp +++ b/mozilla/layout/style/nsCSSParser.cpp @@ -107,6 +107,7 @@ public: NS_IMETHOD Parse(nsIUnicharInputStream* aInput, nsIURI* aInputURL, + PRUint32 aLineNumber, nsICSSStyleSheet*& aResult); NS_IMETHOD ParseStyleAttribute(const nsAString& aAttributeValue, @@ -133,7 +134,8 @@ public: void AppendRule(nsICSSRule* aRule); protected: - nsresult InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI); + nsresult InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI, + PRUint32 aLineNumber); nsresult ReleaseScanner(void); PRBool GetToken(nsresult& aErrorCode, PRBool aSkipWS); @@ -506,7 +508,8 @@ CSSParserImpl::SetChildLoader(nsICSSLoader* aChildLoader) } nsresult -CSSParserImpl::InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI) +CSSParserImpl::InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI, + PRUint32 aLineNumber) { NS_ASSERTION(! mScanner, "already have scanner"); @@ -514,7 +517,7 @@ CSSParserImpl::InitScanner(nsIUnicharInputStream* aInput, nsIURI* aURI) if (! mScanner) { return NS_ERROR_OUT_OF_MEMORY; } - mScanner->Init(aInput, aURI); + mScanner->Init(aInput, aURI, aLineNumber); mURL = aURI; mHavePushBack = PR_FALSE; @@ -537,6 +540,7 @@ CSSParserImpl::ReleaseScanner(void) NS_IMETHODIMP CSSParserImpl::Parse(nsIUnicharInputStream* aInput, nsIURI* aInputURL, + PRUint32 aLineNumber, nsICSSStyleSheet*& aResult) { NS_ASSERTION(nsnull != aInputURL, "need base URL"); @@ -560,7 +564,7 @@ CSSParserImpl::Parse(nsIUnicharInputStream* aInput, nsresult errorCode = NS_OK; - nsresult result = InitScanner(aInput, aInputURL); + nsresult result = InitScanner(aInput, aInputURL, aLineNumber); if (! NS_SUCCEEDED(result)) { return result; } @@ -639,7 +643,7 @@ CSSParserImpl::ParseStyleAttribute(const nsAString& aAttributeValue, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number NS_RELEASE(input); if (! NS_SUCCEEDED(rv)) { return rv; @@ -704,7 +708,7 @@ CSSParserImpl::ParseAndAppendDeclaration(const nsAString& aBuffer, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number NS_RELEASE(input); if (! NS_SUCCEEDED(rv)) { return rv; @@ -762,7 +766,7 @@ CSSParserImpl::ParseRule(const nsAString& aRule, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number if (NS_FAILED(rv)) { return rv; } @@ -821,7 +825,7 @@ CSSParserImpl::ParseProperty(const nsCSSProperty aPropID, return rv; } - rv = InitScanner(input, aBaseURL); + rv = InitScanner(input, aBaseURL, 1); // XXX line number if (NS_FAILED(rv)) { return rv; } diff --git a/mozilla/layout/style/nsCSSScanner.cpp b/mozilla/layout/style/nsCSSScanner.cpp index e01e408ddd5..fac4091d405 100644 --- a/mozilla/layout/style/nsCSSScanner.cpp +++ b/mozilla/layout/style/nsCSSScanner.cpp @@ -181,7 +181,6 @@ nsCSSScanner::nsCSSScanner() mPushback = mLocalPushback; mPushbackCount = 0; mPushbackSize = 4; - mLineNumber = 1; mLastRead = 0; } @@ -198,7 +197,8 @@ nsCSSScanner::~nsCSSScanner() } } -void nsCSSScanner::Init(nsIUnicharInputStream* aInput, nsIURI* aURI) +void nsCSSScanner::Init(nsIUnicharInputStream* aInput, nsIURI* aURI, + PRUint32 aLineNumber) { NS_PRECONDITION(nsnull != aInput, "Null input stream pointer"); Close(); @@ -213,7 +213,7 @@ void nsCSSScanner::Init(nsIUnicharInputStream* aInput, nsIURI* aURI) } mColNumber = 0; #endif // CSS_REPORT_PARSE_ERRORS - + mLineNumber = aLineNumber; } #ifdef CSS_REPORT_PARSE_ERRORS @@ -275,11 +275,6 @@ void nsCSSScanner::OutputError() #define REPORT_UNEXPECTED_EOF(err_) #endif // CSS_REPORT_PARSE_ERRORS -PRUint32 nsCSSScanner::GetLineNumber() -{ - return mLineNumber; -} - void nsCSSScanner::Close() { NS_IF_RELEASE(mInput); diff --git a/mozilla/layout/style/nsCSSScanner.h b/mozilla/layout/style/nsCSSScanner.h index 48ff6804ece..595e16bf160 100644 --- a/mozilla/layout/style/nsCSSScanner.h +++ b/mozilla/layout/style/nsCSSScanner.h @@ -124,7 +124,7 @@ class nsCSSScanner { ~nsCSSScanner(); // Init the scanner. - void Init(nsIUnicharInputStream* aInput, nsIURI* aURI); + void Init(nsIUnicharInputStream* aInput, nsIURI* aURI, PRUint32 aLineNumber); #ifdef CSS_REPORT_PARSE_ERRORS void AddToError(const nsAString& aErrorText); @@ -132,7 +132,7 @@ class nsCSSScanner { void ClearError(); #endif - PRUint32 GetLineNumber(); + PRUint32 GetLineNumber() { return mLineNumber; } // Get the next token. Return nsfalse on EOF or ERROR. aTokenResult // is filled in with the data for the token. diff --git a/mozilla/layout/style/nsICSSLoader.h b/mozilla/layout/style/nsICSSLoader.h index 73ae79c9f8e..07dc2203b3a 100644 --- a/mozilla/layout/style/nsICSSLoader.h +++ b/mozilla/layout/style/nsICSSLoader.h @@ -86,6 +86,7 @@ public: // will be marked complete when complete NS_IMETHOD LoadInlineStyle(nsIContent* aElement, nsIUnicharInputStream* aStream, + PRUint32 aLineNumber, const nsAString& aTitle, const nsAString& aMedia, nsIParser* aParserToUnblock, diff --git a/mozilla/layout/style/nsICSSParser.h b/mozilla/layout/style/nsICSSParser.h index 99992e07991..9c30e0aa5f4 100644 --- a/mozilla/layout/style/nsICSSParser.h +++ b/mozilla/layout/style/nsICSSParser.h @@ -82,6 +82,7 @@ public: NS_IMETHOD Parse(nsIUnicharInputStream* aInput, nsIURI* aInputURL, + PRUint32 aLineNumber, nsICSSStyleSheet*& aResult) = 0; // Parse HTML style attribute or its equivalent in other markup