diff --git a/content/html/document/src/nsHTMLDocument.cpp b/content/html/document/src/nsHTMLDocument.cpp
index 9e31c0b0286e..db30fa1c75de 100644
--- a/content/html/document/src/nsHTMLDocument.cpp
+++ b/content/html/document/src/nsHTMLDocument.cpp
@@ -76,7 +76,8 @@ NS_NewHTMLDocument(nsIDocument** aInstancePtrResult)
nsHTMLDocument::nsHTMLDocument()
: nsMarkupDocument(),
- mAttrStyleSheet(nsnull)
+ mAttrStyleSheet(nsnull),
+ mStyleAttrStyleSheet(nsnull)
{
mImages = nsnull;
mApplets = nsnull;
@@ -87,6 +88,7 @@ nsHTMLDocument::nsHTMLDocument()
mNamedItems = nsnull;
mParser = nsnull;
nsHTMLAtoms::AddrefAtoms();
+ mDTDMode = eDTDMode_NoQuirks;
// Find/Search Init
mSearchStr = nsnull;
@@ -124,6 +126,7 @@ nsHTMLDocument::~nsHTMLDocument()
NS_IF_RELEASE(mAnchors);
NS_IF_RELEASE(mForms);
NS_IF_RELEASE(mAttrStyleSheet);
+ NS_IF_RELEASE(mStyleAttrStyleSheet);
NS_IF_RELEASE(mParser);
for (i = 0; i < mImageMaps.Count(); i++) {
nsIImageMap* map = (nsIImageMap*)mImageMaps.ElementAt(i);
@@ -192,6 +195,7 @@ nsHTMLDocument::StartDocumentLoad(nsIURL *aURL,
mStyleSheets.Clear();
NS_IF_RELEASE(mAttrStyleSheet);
+ NS_IF_RELEASE(mStyleAttrStyleSheet);
NS_IF_RELEASE(mDocumentURL);
if (nsnull != mDocumentTitle) {
delete mDocumentTitle;
@@ -221,14 +225,12 @@ nsHTMLDocument::StartDocumentLoad(nsIURL *aURL,
#endif
if (NS_OK == rv) {
- nsIHTMLCSSStyleSheet* styleAttrSheet;
- if (NS_OK == NS_NewHTMLCSSStyleSheet(&styleAttrSheet, aURL)) {
- AddStyleSheet(styleAttrSheet); // tell the world about our new style sheet
- NS_RELEASE(styleAttrSheet);
- }
if (NS_OK == NS_NewHTMLStyleSheet(&mAttrStyleSheet, aURL)) {
AddStyleSheet(mAttrStyleSheet); // tell the world about our new style sheet
}
+ if (NS_OK == NS_NewHTMLCSSStyleSheet(&mStyleAttrStyleSheet, aURL)) {
+ AddStyleSheet(mStyleAttrStyleSheet); // tell the world about our new style sheet
+ }
// Set the parser as the stream listener for the document loader...
static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID);
@@ -381,14 +383,28 @@ NS_IMETHODIMP nsHTMLDocument::GetAttributeStyleSheet(nsIHTMLStyleSheet** aResult
void nsHTMLDocument::AddStyleSheetToSet(nsIStyleSheet* aSheet, nsIStyleSet* aSet)
{
- if ((nsnull != mAttrStyleSheet) && (aSheet != mAttrStyleSheet)) {
- aSet->InsertDocStyleSheetBefore(aSheet, mAttrStyleSheet);
+ if ((nsnull != mStyleAttrStyleSheet) && (aSheet != mStyleAttrStyleSheet)) {
+ aSet->InsertDocStyleSheetAfter(aSheet, mStyleAttrStyleSheet);
}
else {
- aSet->AppendDocStyleSheet(aSheet);
+ aSet->InsertDocStyleSheetBefore(aSheet, nsnull); // put it in front
}
}
+NS_IMETHODIMP
+nsHTMLDocument::GetDTDMode(nsDTDMode& aMode)
+{
+ aMode = mDTDMode;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsHTMLDocument::SetDTDMode(nsDTDMode aMode)
+{
+ mDTDMode = aMode;
+ return NS_OK;
+}
+
//
// nsIDOMDocument interface implementation
//
diff --git a/layout/html/document/src/nsHTMLDocument.cpp b/layout/html/document/src/nsHTMLDocument.cpp
index 9e31c0b0286e..db30fa1c75de 100644
--- a/layout/html/document/src/nsHTMLDocument.cpp
+++ b/layout/html/document/src/nsHTMLDocument.cpp
@@ -76,7 +76,8 @@ NS_NewHTMLDocument(nsIDocument** aInstancePtrResult)
nsHTMLDocument::nsHTMLDocument()
: nsMarkupDocument(),
- mAttrStyleSheet(nsnull)
+ mAttrStyleSheet(nsnull),
+ mStyleAttrStyleSheet(nsnull)
{
mImages = nsnull;
mApplets = nsnull;
@@ -87,6 +88,7 @@ nsHTMLDocument::nsHTMLDocument()
mNamedItems = nsnull;
mParser = nsnull;
nsHTMLAtoms::AddrefAtoms();
+ mDTDMode = eDTDMode_NoQuirks;
// Find/Search Init
mSearchStr = nsnull;
@@ -124,6 +126,7 @@ nsHTMLDocument::~nsHTMLDocument()
NS_IF_RELEASE(mAnchors);
NS_IF_RELEASE(mForms);
NS_IF_RELEASE(mAttrStyleSheet);
+ NS_IF_RELEASE(mStyleAttrStyleSheet);
NS_IF_RELEASE(mParser);
for (i = 0; i < mImageMaps.Count(); i++) {
nsIImageMap* map = (nsIImageMap*)mImageMaps.ElementAt(i);
@@ -192,6 +195,7 @@ nsHTMLDocument::StartDocumentLoad(nsIURL *aURL,
mStyleSheets.Clear();
NS_IF_RELEASE(mAttrStyleSheet);
+ NS_IF_RELEASE(mStyleAttrStyleSheet);
NS_IF_RELEASE(mDocumentURL);
if (nsnull != mDocumentTitle) {
delete mDocumentTitle;
@@ -221,14 +225,12 @@ nsHTMLDocument::StartDocumentLoad(nsIURL *aURL,
#endif
if (NS_OK == rv) {
- nsIHTMLCSSStyleSheet* styleAttrSheet;
- if (NS_OK == NS_NewHTMLCSSStyleSheet(&styleAttrSheet, aURL)) {
- AddStyleSheet(styleAttrSheet); // tell the world about our new style sheet
- NS_RELEASE(styleAttrSheet);
- }
if (NS_OK == NS_NewHTMLStyleSheet(&mAttrStyleSheet, aURL)) {
AddStyleSheet(mAttrStyleSheet); // tell the world about our new style sheet
}
+ if (NS_OK == NS_NewHTMLCSSStyleSheet(&mStyleAttrStyleSheet, aURL)) {
+ AddStyleSheet(mStyleAttrStyleSheet); // tell the world about our new style sheet
+ }
// Set the parser as the stream listener for the document loader...
static NS_DEFINE_IID(kIStreamListenerIID, NS_ISTREAMLISTENER_IID);
@@ -381,14 +383,28 @@ NS_IMETHODIMP nsHTMLDocument::GetAttributeStyleSheet(nsIHTMLStyleSheet** aResult
void nsHTMLDocument::AddStyleSheetToSet(nsIStyleSheet* aSheet, nsIStyleSet* aSet)
{
- if ((nsnull != mAttrStyleSheet) && (aSheet != mAttrStyleSheet)) {
- aSet->InsertDocStyleSheetBefore(aSheet, mAttrStyleSheet);
+ if ((nsnull != mStyleAttrStyleSheet) && (aSheet != mStyleAttrStyleSheet)) {
+ aSet->InsertDocStyleSheetAfter(aSheet, mStyleAttrStyleSheet);
}
else {
- aSet->AppendDocStyleSheet(aSheet);
+ aSet->InsertDocStyleSheetBefore(aSheet, nsnull); // put it in front
}
}
+NS_IMETHODIMP
+nsHTMLDocument::GetDTDMode(nsDTDMode& aMode)
+{
+ aMode = mDTDMode;
+ return NS_OK;
+}
+
+NS_IMETHODIMP
+nsHTMLDocument::SetDTDMode(nsDTDMode aMode)
+{
+ mDTDMode = aMode;
+ return NS_OK;
+}
+
//
// nsIDOMDocument interface implementation
//