diff --git a/mozilla/content/html/document/src/nsHTMLContentSink.cpp b/mozilla/content/html/document/src/nsHTMLContentSink.cpp
index 313e161e311..8724b7c3fe1 100644
--- a/mozilla/content/html/document/src/nsHTMLContentSink.cpp
+++ b/mozilla/content/html/document/src/nsHTMLContentSink.cpp
@@ -2542,82 +2542,84 @@ HTMLContentSink::ProcessSTYLETag(const nsIParserNode& aNode)
}
NS_IF_RELEASE(sco);
+ if ((0 == type.Length()) || type.EqualsIgnoreCase("text/css")) {
// The skipped content contains the inline style data
- const nsString& content = aNode.GetSkippedContent();
+ const nsString& content = aNode.GetSkippedContent();
- nsIURL* url = nsnull;
- nsIUnicharInputStream* uin = nsnull;
- if (0 == src.Length()) {
- // Create a string to hold the data and wrap it up in a unicode
- // input stream.
- rv = NS_NewStringUnicharInputStream(&uin, new nsString(content));
- if (NS_OK != rv) {
- return rv;
- }
+ nsIURL* url = nsnull;
+ nsIUnicharInputStream* uin = nsnull;
+ if (0 == src.Length()) {
+ // Create a string to hold the data and wrap it up in a unicode
+ // input stream.
+ rv = NS_NewStringUnicharInputStream(&uin, new nsString(content));
+ if (NS_OK != rv) {
+ return rv;
+ }
- // Use the document's url since the style data came from there
- if (0 < mBaseHREF.Length()) { // use base URL
- rv = NS_NewURL(&url, mBaseHREF);
- if (NS_FAILED(rv)) {
+ // Use the document's url since the style data came from there
+ if (0 < mBaseHREF.Length()) { // use base URL
+ rv = NS_NewURL(&url, mBaseHREF);
+ if (NS_FAILED(rv)) {
+ url = mDocumentURL;
+ NS_IF_ADDREF(url);
+ }
+ }
+ else {
url = mDocumentURL;
NS_IF_ADDREF(url);
- }
- }
- else {
- url = mDocumentURL;
- NS_IF_ADDREF(url);
- }
+ }
- // Now that we have a url and a unicode input stream, parse the
- // style sheet.
- rv = LoadStyleSheet(url, uin, PR_TRUE, title, media, element);
- NS_RELEASE(url);
- NS_RELEASE(uin);
- } else {
- // src with immediate style data doesn't add up
- // XXX what does nav do?
- // Use the SRC attribute value to load the URL
- nsAutoString absURL;
- nsIURLGroup* urlGroup;
- (void)mDocumentURL->GetURLGroup(&urlGroup);
- rv = NS_MakeAbsoluteURL(mDocumentURL, mBaseHREF, src, absURL);
- if (NS_OK != rv) {
- return rv;
- }
- if (urlGroup) {
- rv = urlGroup->CreateURL(&url, nsnull, absURL, nsnull);
- NS_RELEASE(urlGroup);
- }
- else {
- rv = NS_NewURL(&url, absURL);
- }
- if (NS_OK != rv) {
- return rv;
- }
+ // Now that we have a url and a unicode input stream, parse the
+ // style sheet.
+ rv = LoadStyleSheet(url, uin, PR_TRUE, title, media, element);
+ NS_RELEASE(url);
+ NS_RELEASE(uin);
+ } else {
+ // src with immediate style data doesn't add up
+ // XXX what does nav do?
+ // Use the SRC attribute value to load the URL
+ nsAutoString absURL;
+ nsIURLGroup* urlGroup;
+ (void)mDocumentURL->GetURLGroup(&urlGroup);
+ rv = NS_MakeAbsoluteURL(mDocumentURL, mBaseHREF, src, absURL);
+ if (NS_OK != rv) {
+ return rv;
+ }
+ if (urlGroup) {
+ rv = urlGroup->CreateURL(&url, nsnull, absURL, nsnull);
+ NS_RELEASE(urlGroup);
+ }
+ else {
+ rv = NS_NewURL(&url, absURL);
+ }
+ if (NS_OK != rv) {
+ return rv;
+ }
- nsAsyncStyleProcessingDataHTML* d = new nsAsyncStyleProcessingDataHTML;
- if (nsnull == d) {
- return NS_ERROR_OUT_OF_MEMORY;
- }
- d->mTitle.SetString(title);
- d->mMedia.SetString(media);
- d->mIsActive = PR_TRUE;
- d->mURL = url;
- NS_ADDREF(url);
- d->mElement = element;
- NS_ADDREF(element);
- d->mSink = this;
- NS_ADDREF(this);
+ nsAsyncStyleProcessingDataHTML* d = new nsAsyncStyleProcessingDataHTML;
+ if (nsnull == d) {
+ return NS_ERROR_OUT_OF_MEMORY;
+ }
+ d->mTitle.SetString(title);
+ d->mMedia.SetString(media);
+ d->mIsActive = PR_TRUE;
+ d->mURL = url;
+ NS_ADDREF(url);
+ d->mElement = element;
+ NS_ADDREF(element);
+ d->mSink = this;
+ NS_ADDREF(this);
- nsIUnicharStreamLoader* loader;
- rv = NS_NewUnicharStreamLoader(&loader,
- url,
- (nsStreamCompleteFunc)nsDoneLoadingStyle,
- (void *)d);
- NS_RELEASE(url);
- if (NS_OK == rv) {
- rv = NS_ERROR_HTMLPARSER_BLOCK;
- }
+ nsIUnicharStreamLoader* loader;
+ rv = NS_NewUnicharStreamLoader(&loader,
+ url,
+ (nsStreamCompleteFunc)nsDoneLoadingStyle,
+ (void *)d);
+ NS_RELEASE(url);
+ if (NS_OK == rv) {
+ rv = NS_ERROR_HTMLPARSER_BLOCK;
+ }
+ }
}
NS_RELEASE(element);
diff --git a/mozilla/layout/html/document/src/nsHTMLContentSink.cpp b/mozilla/layout/html/document/src/nsHTMLContentSink.cpp
index 313e161e311..8724b7c3fe1 100644
--- a/mozilla/layout/html/document/src/nsHTMLContentSink.cpp
+++ b/mozilla/layout/html/document/src/nsHTMLContentSink.cpp
@@ -2542,82 +2542,84 @@ HTMLContentSink::ProcessSTYLETag(const nsIParserNode& aNode)
}
NS_IF_RELEASE(sco);
+ if ((0 == type.Length()) || type.EqualsIgnoreCase("text/css")) {
// The skipped content contains the inline style data
- const nsString& content = aNode.GetSkippedContent();
+ const nsString& content = aNode.GetSkippedContent();
- nsIURL* url = nsnull;
- nsIUnicharInputStream* uin = nsnull;
- if (0 == src.Length()) {
- // Create a string to hold the data and wrap it up in a unicode
- // input stream.
- rv = NS_NewStringUnicharInputStream(&uin, new nsString(content));
- if (NS_OK != rv) {
- return rv;
- }
+ nsIURL* url = nsnull;
+ nsIUnicharInputStream* uin = nsnull;
+ if (0 == src.Length()) {
+ // Create a string to hold the data and wrap it up in a unicode
+ // input stream.
+ rv = NS_NewStringUnicharInputStream(&uin, new nsString(content));
+ if (NS_OK != rv) {
+ return rv;
+ }
- // Use the document's url since the style data came from there
- if (0 < mBaseHREF.Length()) { // use base URL
- rv = NS_NewURL(&url, mBaseHREF);
- if (NS_FAILED(rv)) {
+ // Use the document's url since the style data came from there
+ if (0 < mBaseHREF.Length()) { // use base URL
+ rv = NS_NewURL(&url, mBaseHREF);
+ if (NS_FAILED(rv)) {
+ url = mDocumentURL;
+ NS_IF_ADDREF(url);
+ }
+ }
+ else {
url = mDocumentURL;
NS_IF_ADDREF(url);
- }
- }
- else {
- url = mDocumentURL;
- NS_IF_ADDREF(url);
- }
+ }
- // Now that we have a url and a unicode input stream, parse the
- // style sheet.
- rv = LoadStyleSheet(url, uin, PR_TRUE, title, media, element);
- NS_RELEASE(url);
- NS_RELEASE(uin);
- } else {
- // src with immediate style data doesn't add up
- // XXX what does nav do?
- // Use the SRC attribute value to load the URL
- nsAutoString absURL;
- nsIURLGroup* urlGroup;
- (void)mDocumentURL->GetURLGroup(&urlGroup);
- rv = NS_MakeAbsoluteURL(mDocumentURL, mBaseHREF, src, absURL);
- if (NS_OK != rv) {
- return rv;
- }
- if (urlGroup) {
- rv = urlGroup->CreateURL(&url, nsnull, absURL, nsnull);
- NS_RELEASE(urlGroup);
- }
- else {
- rv = NS_NewURL(&url, absURL);
- }
- if (NS_OK != rv) {
- return rv;
- }
+ // Now that we have a url and a unicode input stream, parse the
+ // style sheet.
+ rv = LoadStyleSheet(url, uin, PR_TRUE, title, media, element);
+ NS_RELEASE(url);
+ NS_RELEASE(uin);
+ } else {
+ // src with immediate style data doesn't add up
+ // XXX what does nav do?
+ // Use the SRC attribute value to load the URL
+ nsAutoString absURL;
+ nsIURLGroup* urlGroup;
+ (void)mDocumentURL->GetURLGroup(&urlGroup);
+ rv = NS_MakeAbsoluteURL(mDocumentURL, mBaseHREF, src, absURL);
+ if (NS_OK != rv) {
+ return rv;
+ }
+ if (urlGroup) {
+ rv = urlGroup->CreateURL(&url, nsnull, absURL, nsnull);
+ NS_RELEASE(urlGroup);
+ }
+ else {
+ rv = NS_NewURL(&url, absURL);
+ }
+ if (NS_OK != rv) {
+ return rv;
+ }
- nsAsyncStyleProcessingDataHTML* d = new nsAsyncStyleProcessingDataHTML;
- if (nsnull == d) {
- return NS_ERROR_OUT_OF_MEMORY;
- }
- d->mTitle.SetString(title);
- d->mMedia.SetString(media);
- d->mIsActive = PR_TRUE;
- d->mURL = url;
- NS_ADDREF(url);
- d->mElement = element;
- NS_ADDREF(element);
- d->mSink = this;
- NS_ADDREF(this);
+ nsAsyncStyleProcessingDataHTML* d = new nsAsyncStyleProcessingDataHTML;
+ if (nsnull == d) {
+ return NS_ERROR_OUT_OF_MEMORY;
+ }
+ d->mTitle.SetString(title);
+ d->mMedia.SetString(media);
+ d->mIsActive = PR_TRUE;
+ d->mURL = url;
+ NS_ADDREF(url);
+ d->mElement = element;
+ NS_ADDREF(element);
+ d->mSink = this;
+ NS_ADDREF(this);
- nsIUnicharStreamLoader* loader;
- rv = NS_NewUnicharStreamLoader(&loader,
- url,
- (nsStreamCompleteFunc)nsDoneLoadingStyle,
- (void *)d);
- NS_RELEASE(url);
- if (NS_OK == rv) {
- rv = NS_ERROR_HTMLPARSER_BLOCK;
- }
+ nsIUnicharStreamLoader* loader;
+ rv = NS_NewUnicharStreamLoader(&loader,
+ url,
+ (nsStreamCompleteFunc)nsDoneLoadingStyle,
+ (void *)d);
+ NS_RELEASE(url);
+ if (NS_OK == rv) {
+ rv = NS_ERROR_HTMLPARSER_BLOCK;
+ }
+ }
}
NS_RELEASE(element);