diff --git a/mozilla/content/html/content/src/nsHTMLTableElement.cpp b/mozilla/content/html/content/src/nsHTMLTableElement.cpp
index 956fab7201d..60f6038c39f 100644
--- a/mozilla/content/html/content/src/nsHTMLTableElement.cpp
+++ b/mozilla/content/html/content/src/nsHTMLTableElement.cpp
@@ -22,6 +22,7 @@
#include "nsIDOMHTMLTableElement.h"
#include "nsIDOMHTMLTableCaptionElement.h"
#include "nsIDOMHTMLTableSectionElement.h"
+#include "nsCOMPtr.h"
#include "nsIScriptObjectOwner.h"
#include "nsIDOMEventReceiver.h"
#include "GenericElementCollection.h"
@@ -404,18 +405,19 @@ NS_IMETHODIMP
nsHTMLTableElement::GetCaption(nsIDOMHTMLTableCaptionElement** aValue)
{
*aValue = nsnull;
- nsIDOMNode* child=nsnull;
- mInner.GetFirstChild(&child);
- while (nsnull!=child)
+ nsCOMPtr child;
+ mInner.GetFirstChild(getter_AddRefs(child));
+ while (child)
{
- nsIDOMHTMLTableCaptionElement *caption=nsnull;
- nsresult rv = child->QueryInterface(kIDOMHTMLTableCaptionElementIID, (void**)&caption);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=caption))
+ nsCOMPtr caption = do_QueryInterface(child);
+ if (caption)
{
*aValue = caption;
+ NS_ADDREF(*aValue);
break;
}
- child->GetNextSibling(&child);
+ nsCOMPtr temp = child;
+ temp->GetNextSibling(getter_AddRefs(child));
}
return NS_OK;
}
@@ -427,8 +429,8 @@ nsHTMLTableElement::SetCaption(nsIDOMHTMLTableCaptionElement* aValue)
if (NS_SUCCEEDED(rv)) {
if (nsnull!=aValue)
{
- nsIDOMNode* resultingChild;
- mInner.AppendChild(aValue, &resultingChild);
+ nsCOMPtr resultingChild;
+ mInner.AppendChild(aValue, getter_AddRefs(resultingChild));
}
}
return rv;
@@ -437,42 +439,27 @@ nsHTMLTableElement::SetCaption(nsIDOMHTMLTableCaptionElement* aValue)
NS_IMETHODIMP
nsHTMLTableElement::GetTHead(nsIDOMHTMLTableSectionElement** aValue)
{
- /* this is a better implementation, but GetElementsByTagName isn't implemented yet */
- /*
*aValue = nsnull;
- nsIDOMNodeList *kids=nsnull;
- nsAutoString theadAsString;
- nsHTMLAtoms::thead->ToString(theadAsString);
- nsresult rv = mInner.GetElementsByTagName(theadAsString, &kids);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=kids))
+ nsCOMPtr child;
+ mInner.GetFirstChild(getter_AddRefs(child));
+ while (child)
{
- nsIDOMNode *thead=nsnull;
- rv = kids->Item(0, &thead);
- if (NS_SUCCEEDED(rv))
- *aValue = (nsIDOMHTMLTableSectionElement*)thead;
- }
- */
-
- *aValue = nsnull;
- nsIDOMNode* child=nsnull;
- mInner.GetFirstChild(&child);
- while (nsnull!=child)
- {
- nsIDOMHTMLTableSectionElement *section=nsnull;
- nsresult rv = child->QueryInterface(kIDOMHTMLTableSectionElementIID, (void**)§ion);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=section))
+ nsCOMPtr section = do_QueryInterface(child);
+ if (section)
{
- nsString tag;
- section->GetTagName(tag);
- nsAutoString theadAsString;
- nsHTMLAtoms::thead->ToString(theadAsString);
- if (theadAsString==tag)
+ nsCOMPtr tag;
+ nsCOMPtr content = do_QueryInterface(section);
+
+ content->GetTag(*getter_AddRefs(tag));
+ if (tag.get() == nsHTMLAtoms::thead)
{
*aValue = section;
+ NS_ADDREF(*aValue);
break;
}
}
- child->GetNextSibling(&child);
+ nsCOMPtr temp = child;
+ temp->GetNextSibling(getter_AddRefs(child));
}
return NS_OK;
}
@@ -481,13 +468,21 @@ NS_IMETHODIMP
nsHTMLTableElement::SetTHead(nsIDOMHTMLTableSectionElement* aValue)
{
nsresult rv = DeleteTHead();
- if (NS_SUCCEEDED(rv)) {
- if (nsnull!=aValue)
- {
- nsIDOMNode* resultingChild;
- mInner.AppendChild(aValue, &resultingChild);
- }
+ if (NS_FAILED(rv)) {
+ return rv;
}
+
+ if (nsnull!=aValue) {
+ nsCOMPtr child;
+ rv = mInner.GetFirstChild(getter_AddRefs(child));
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+
+ nsCOMPtr resultChild;
+ rv = mInner.InsertBefore(aValue, child, getter_AddRefs(resultChild));
+ }
+
return rv;
}
@@ -495,25 +490,26 @@ NS_IMETHODIMP
nsHTMLTableElement::GetTFoot(nsIDOMHTMLTableSectionElement** aValue)
{
*aValue = nsnull;
- nsIDOMNode* child=nsnull;
- mInner.GetFirstChild(&child);
- while (nsnull!=child)
+ nsCOMPtr child;
+ mInner.GetFirstChild(getter_AddRefs(child));
+ while (child)
{
- nsIDOMHTMLTableSectionElement *section=nsnull;
- nsresult rv = child->QueryInterface(kIDOMHTMLTableSectionElementIID, (void**)§ion);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=section))
+ nsCOMPtr section=do_QueryInterface(child);
+ if (section)
{
- nsString tag;
- section->GetTagName(tag);
- nsAutoString tfootAsString;
- nsHTMLAtoms::tfoot->ToString(tfootAsString);
- if (tfootAsString==tag)
+ nsCOMPtr tag;
+ nsCOMPtr content = do_QueryInterface(section);
+
+ content->GetTag(*getter_AddRefs(tag));
+ if (tag.get() == nsHTMLAtoms::tfoot)
{
*aValue = section;
+ NS_ADDREF(*aValue);
break;
}
}
- child->GetNextSibling(&child);
+ nsCOMPtr temp = child;
+ temp->GetNextSibling(getter_AddRefs(child));
}
return NS_OK;
}
@@ -525,8 +521,8 @@ nsHTMLTableElement::SetTFoot(nsIDOMHTMLTableSectionElement* aValue)
if (NS_SUCCEEDED(rv)) {
if (nsnull!=aValue)
{
- nsIDOMNode* resultingChild;
- mInner.AppendChild(aValue, &resultingChild);
+ nsCOMPtr resultingChild;
+ mInner.AppendChild(aValue, getter_AddRefs(resultingChild));
}
}
return rv;
@@ -562,23 +558,29 @@ nsHTMLTableElement::CreateTHead(nsIDOMHTMLElement** aValue)
{
*aValue = nsnull;
nsresult rv = NS_OK;
- nsIDOMHTMLTableSectionElement *head=nsnull;
- GetTHead(&head);
- if (nsnull!=head)
+ nsCOMPtr head;
+ GetTHead(getter_AddRefs(head));
+ if (head)
{ // return the existing thead
head->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
NS_ASSERTION(nsnull!=*aValue, "head must be a DOMHTMLElement");
- NS_RELEASE(head);
}
else
{ // create a new head rowgroup
- nsIHTMLContent *newHead=nsnull;
- rv = NS_NewHTMLTableSectionElement(&newHead,nsHTMLAtoms::thead);
- if (NS_SUCCEEDED(rv) && (nsnull!=newHead))
+ nsCOMPtr newHead;
+ rv = NS_NewHTMLTableSectionElement(getter_AddRefs(newHead),nsHTMLAtoms::thead);
+ if (NS_SUCCEEDED(rv) && newHead)
{
- rv = mInner.AppendChildTo(newHead, PR_TRUE);
+ nsCOMPtr child;
+ rv = mInner.GetFirstChild(getter_AddRefs(child));
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+
newHead->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
- NS_RELEASE(newHead);
+
+ nsCOMPtr resultChild;
+ rv = mInner.InsertBefore(*aValue, child, getter_AddRefs(resultChild));
}
}
return NS_OK;
@@ -587,12 +589,12 @@ nsHTMLTableElement::CreateTHead(nsIDOMHTMLElement** aValue)
NS_IMETHODIMP
nsHTMLTableElement::DeleteTHead()
{
- nsIDOMHTMLTableSectionElement *childToDelete;
- nsresult rv = GetTHead(&childToDelete);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=childToDelete))
+ nsCOMPtr childToDelete;
+ nsresult rv = GetTHead(getter_AddRefs(childToDelete));
+ if ((NS_SUCCEEDED(rv)) && childToDelete)
{
- nsIDOMNode* resultingChild;
- mInner.RemoveChild(childToDelete, &resultingChild); // mInner does the notification
+ nsCOMPtr resultingChild;
+ mInner.RemoveChild(childToDelete, getter_AddRefs(resultingChild)); // mInner does the notification
}
return NS_OK;
}
@@ -602,23 +604,21 @@ nsHTMLTableElement::CreateTFoot(nsIDOMHTMLElement** aValue)
{
*aValue = nsnull;
nsresult rv = NS_OK;
- nsIDOMHTMLTableSectionElement *foot=nsnull;
- GetTFoot(&foot);
+ nsCOMPtr foot;
+ GetTFoot(getter_AddRefs(foot));
if (nsnull!=foot)
{ // return the existing tfoot
foot->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
NS_ASSERTION(nsnull!=*aValue, "foot must be a DOMHTMLElement");
- NS_RELEASE(foot);
}
else
{ // create a new foot rowgroup
- nsIHTMLContent *newFoot=nsnull;
- rv = NS_NewHTMLTableSectionElement(&newFoot,nsHTMLAtoms::tfoot);
- if (NS_SUCCEEDED(rv) && (nsnull!=newFoot))
+ nsCOMPtr newFoot;
+ rv = NS_NewHTMLTableSectionElement(getter_AddRefs(newFoot),nsHTMLAtoms::tfoot);
+ if (NS_SUCCEEDED(rv) && newFoot)
{
rv = mInner.AppendChildTo(newFoot, PR_TRUE);
newFoot->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
- NS_RELEASE(newFoot);
}
}
return NS_OK;
@@ -628,12 +628,12 @@ NS_IMETHODIMP
nsHTMLTableElement::DeleteTFoot()
{
{
- nsIDOMHTMLTableSectionElement *childToDelete;
- nsresult rv = GetTFoot(&childToDelete);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=childToDelete))
+ nsCOMPtr childToDelete;
+ nsresult rv = GetTFoot(getter_AddRefs(childToDelete));
+ if ((NS_SUCCEEDED(rv)) && childToDelete)
{
- nsIDOMNode* resultingChild;
- mInner.RemoveChild(childToDelete, &resultingChild); // mInner does the notification
+ nsCOMPtr resultingChild;
+ mInner.RemoveChild(childToDelete, getter_AddRefs(resultingChild)); // mInner does the notification
}
return NS_OK;
}
@@ -646,23 +646,21 @@ nsHTMLTableElement::CreateCaption(nsIDOMHTMLElement** aValue)
{
*aValue = nsnull;
nsresult rv = NS_OK;
- nsIDOMHTMLTableCaptionElement *caption=nsnull;
- GetCaption(&caption);
- if (nsnull!=caption)
+ nsCOMPtr caption;
+ GetCaption(getter_AddRefs(caption));
+ if (caption)
{ // return the existing thead
caption->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
NS_ASSERTION(nsnull!=*aValue, "caption must be a DOMHTMLElement");
- NS_RELEASE(caption);
}
else
{ // create a new head rowgroup
- nsIHTMLContent *newCaption=nsnull;
- rv = NS_NewHTMLTableCaptionElement(&newCaption,nsHTMLAtoms::caption);
- if (NS_SUCCEEDED(rv) && (nsnull!=newCaption))
+ nsCOMPtr newCaption;
+ rv = NS_NewHTMLTableCaptionElement(getter_AddRefs(newCaption),nsHTMLAtoms::caption);
+ if (NS_SUCCEEDED(rv) && newCaption)
{
rv = mInner.AppendChildTo(newCaption, PR_TRUE);
newCaption->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
- NS_RELEASE(newCaption);
}
}
return NS_OK;
@@ -672,12 +670,12 @@ nsHTMLTableElement::CreateCaption(nsIDOMHTMLElement** aValue)
NS_IMETHODIMP
nsHTMLTableElement::DeleteCaption()
{
- nsIDOMHTMLTableCaptionElement *childToDelete;
- nsresult rv = GetCaption(&childToDelete);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=childToDelete))
+ nsCOMPtr childToDelete;
+ nsresult rv = GetCaption(getter_AddRefs(childToDelete));
+ if ((NS_SUCCEEDED(rv)) && childToDelete)
{
- nsIDOMNode* resultingChild;
- mInner.RemoveChild(childToDelete, &resultingChild); // mInner does the notification
+ nsCOMPtr resultingChild;
+ mInner.RemoveChild(childToDelete, getter_AddRefs(resultingChild)); // mInner does the notification
}
return NS_OK;
}
diff --git a/mozilla/layout/html/content/src/nsHTMLTableElement.cpp b/mozilla/layout/html/content/src/nsHTMLTableElement.cpp
index 956fab7201d..60f6038c39f 100644
--- a/mozilla/layout/html/content/src/nsHTMLTableElement.cpp
+++ b/mozilla/layout/html/content/src/nsHTMLTableElement.cpp
@@ -22,6 +22,7 @@
#include "nsIDOMHTMLTableElement.h"
#include "nsIDOMHTMLTableCaptionElement.h"
#include "nsIDOMHTMLTableSectionElement.h"
+#include "nsCOMPtr.h"
#include "nsIScriptObjectOwner.h"
#include "nsIDOMEventReceiver.h"
#include "GenericElementCollection.h"
@@ -404,18 +405,19 @@ NS_IMETHODIMP
nsHTMLTableElement::GetCaption(nsIDOMHTMLTableCaptionElement** aValue)
{
*aValue = nsnull;
- nsIDOMNode* child=nsnull;
- mInner.GetFirstChild(&child);
- while (nsnull!=child)
+ nsCOMPtr child;
+ mInner.GetFirstChild(getter_AddRefs(child));
+ while (child)
{
- nsIDOMHTMLTableCaptionElement *caption=nsnull;
- nsresult rv = child->QueryInterface(kIDOMHTMLTableCaptionElementIID, (void**)&caption);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=caption))
+ nsCOMPtr caption = do_QueryInterface(child);
+ if (caption)
{
*aValue = caption;
+ NS_ADDREF(*aValue);
break;
}
- child->GetNextSibling(&child);
+ nsCOMPtr temp = child;
+ temp->GetNextSibling(getter_AddRefs(child));
}
return NS_OK;
}
@@ -427,8 +429,8 @@ nsHTMLTableElement::SetCaption(nsIDOMHTMLTableCaptionElement* aValue)
if (NS_SUCCEEDED(rv)) {
if (nsnull!=aValue)
{
- nsIDOMNode* resultingChild;
- mInner.AppendChild(aValue, &resultingChild);
+ nsCOMPtr resultingChild;
+ mInner.AppendChild(aValue, getter_AddRefs(resultingChild));
}
}
return rv;
@@ -437,42 +439,27 @@ nsHTMLTableElement::SetCaption(nsIDOMHTMLTableCaptionElement* aValue)
NS_IMETHODIMP
nsHTMLTableElement::GetTHead(nsIDOMHTMLTableSectionElement** aValue)
{
- /* this is a better implementation, but GetElementsByTagName isn't implemented yet */
- /*
*aValue = nsnull;
- nsIDOMNodeList *kids=nsnull;
- nsAutoString theadAsString;
- nsHTMLAtoms::thead->ToString(theadAsString);
- nsresult rv = mInner.GetElementsByTagName(theadAsString, &kids);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=kids))
+ nsCOMPtr child;
+ mInner.GetFirstChild(getter_AddRefs(child));
+ while (child)
{
- nsIDOMNode *thead=nsnull;
- rv = kids->Item(0, &thead);
- if (NS_SUCCEEDED(rv))
- *aValue = (nsIDOMHTMLTableSectionElement*)thead;
- }
- */
-
- *aValue = nsnull;
- nsIDOMNode* child=nsnull;
- mInner.GetFirstChild(&child);
- while (nsnull!=child)
- {
- nsIDOMHTMLTableSectionElement *section=nsnull;
- nsresult rv = child->QueryInterface(kIDOMHTMLTableSectionElementIID, (void**)§ion);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=section))
+ nsCOMPtr section = do_QueryInterface(child);
+ if (section)
{
- nsString tag;
- section->GetTagName(tag);
- nsAutoString theadAsString;
- nsHTMLAtoms::thead->ToString(theadAsString);
- if (theadAsString==tag)
+ nsCOMPtr tag;
+ nsCOMPtr content = do_QueryInterface(section);
+
+ content->GetTag(*getter_AddRefs(tag));
+ if (tag.get() == nsHTMLAtoms::thead)
{
*aValue = section;
+ NS_ADDREF(*aValue);
break;
}
}
- child->GetNextSibling(&child);
+ nsCOMPtr temp = child;
+ temp->GetNextSibling(getter_AddRefs(child));
}
return NS_OK;
}
@@ -481,13 +468,21 @@ NS_IMETHODIMP
nsHTMLTableElement::SetTHead(nsIDOMHTMLTableSectionElement* aValue)
{
nsresult rv = DeleteTHead();
- if (NS_SUCCEEDED(rv)) {
- if (nsnull!=aValue)
- {
- nsIDOMNode* resultingChild;
- mInner.AppendChild(aValue, &resultingChild);
- }
+ if (NS_FAILED(rv)) {
+ return rv;
}
+
+ if (nsnull!=aValue) {
+ nsCOMPtr child;
+ rv = mInner.GetFirstChild(getter_AddRefs(child));
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+
+ nsCOMPtr resultChild;
+ rv = mInner.InsertBefore(aValue, child, getter_AddRefs(resultChild));
+ }
+
return rv;
}
@@ -495,25 +490,26 @@ NS_IMETHODIMP
nsHTMLTableElement::GetTFoot(nsIDOMHTMLTableSectionElement** aValue)
{
*aValue = nsnull;
- nsIDOMNode* child=nsnull;
- mInner.GetFirstChild(&child);
- while (nsnull!=child)
+ nsCOMPtr child;
+ mInner.GetFirstChild(getter_AddRefs(child));
+ while (child)
{
- nsIDOMHTMLTableSectionElement *section=nsnull;
- nsresult rv = child->QueryInterface(kIDOMHTMLTableSectionElementIID, (void**)§ion);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=section))
+ nsCOMPtr section=do_QueryInterface(child);
+ if (section)
{
- nsString tag;
- section->GetTagName(tag);
- nsAutoString tfootAsString;
- nsHTMLAtoms::tfoot->ToString(tfootAsString);
- if (tfootAsString==tag)
+ nsCOMPtr tag;
+ nsCOMPtr content = do_QueryInterface(section);
+
+ content->GetTag(*getter_AddRefs(tag));
+ if (tag.get() == nsHTMLAtoms::tfoot)
{
*aValue = section;
+ NS_ADDREF(*aValue);
break;
}
}
- child->GetNextSibling(&child);
+ nsCOMPtr temp = child;
+ temp->GetNextSibling(getter_AddRefs(child));
}
return NS_OK;
}
@@ -525,8 +521,8 @@ nsHTMLTableElement::SetTFoot(nsIDOMHTMLTableSectionElement* aValue)
if (NS_SUCCEEDED(rv)) {
if (nsnull!=aValue)
{
- nsIDOMNode* resultingChild;
- mInner.AppendChild(aValue, &resultingChild);
+ nsCOMPtr resultingChild;
+ mInner.AppendChild(aValue, getter_AddRefs(resultingChild));
}
}
return rv;
@@ -562,23 +558,29 @@ nsHTMLTableElement::CreateTHead(nsIDOMHTMLElement** aValue)
{
*aValue = nsnull;
nsresult rv = NS_OK;
- nsIDOMHTMLTableSectionElement *head=nsnull;
- GetTHead(&head);
- if (nsnull!=head)
+ nsCOMPtr head;
+ GetTHead(getter_AddRefs(head));
+ if (head)
{ // return the existing thead
head->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
NS_ASSERTION(nsnull!=*aValue, "head must be a DOMHTMLElement");
- NS_RELEASE(head);
}
else
{ // create a new head rowgroup
- nsIHTMLContent *newHead=nsnull;
- rv = NS_NewHTMLTableSectionElement(&newHead,nsHTMLAtoms::thead);
- if (NS_SUCCEEDED(rv) && (nsnull!=newHead))
+ nsCOMPtr newHead;
+ rv = NS_NewHTMLTableSectionElement(getter_AddRefs(newHead),nsHTMLAtoms::thead);
+ if (NS_SUCCEEDED(rv) && newHead)
{
- rv = mInner.AppendChildTo(newHead, PR_TRUE);
+ nsCOMPtr child;
+ rv = mInner.GetFirstChild(getter_AddRefs(child));
+ if (NS_FAILED(rv)) {
+ return rv;
+ }
+
newHead->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
- NS_RELEASE(newHead);
+
+ nsCOMPtr resultChild;
+ rv = mInner.InsertBefore(*aValue, child, getter_AddRefs(resultChild));
}
}
return NS_OK;
@@ -587,12 +589,12 @@ nsHTMLTableElement::CreateTHead(nsIDOMHTMLElement** aValue)
NS_IMETHODIMP
nsHTMLTableElement::DeleteTHead()
{
- nsIDOMHTMLTableSectionElement *childToDelete;
- nsresult rv = GetTHead(&childToDelete);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=childToDelete))
+ nsCOMPtr childToDelete;
+ nsresult rv = GetTHead(getter_AddRefs(childToDelete));
+ if ((NS_SUCCEEDED(rv)) && childToDelete)
{
- nsIDOMNode* resultingChild;
- mInner.RemoveChild(childToDelete, &resultingChild); // mInner does the notification
+ nsCOMPtr resultingChild;
+ mInner.RemoveChild(childToDelete, getter_AddRefs(resultingChild)); // mInner does the notification
}
return NS_OK;
}
@@ -602,23 +604,21 @@ nsHTMLTableElement::CreateTFoot(nsIDOMHTMLElement** aValue)
{
*aValue = nsnull;
nsresult rv = NS_OK;
- nsIDOMHTMLTableSectionElement *foot=nsnull;
- GetTFoot(&foot);
+ nsCOMPtr foot;
+ GetTFoot(getter_AddRefs(foot));
if (nsnull!=foot)
{ // return the existing tfoot
foot->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
NS_ASSERTION(nsnull!=*aValue, "foot must be a DOMHTMLElement");
- NS_RELEASE(foot);
}
else
{ // create a new foot rowgroup
- nsIHTMLContent *newFoot=nsnull;
- rv = NS_NewHTMLTableSectionElement(&newFoot,nsHTMLAtoms::tfoot);
- if (NS_SUCCEEDED(rv) && (nsnull!=newFoot))
+ nsCOMPtr newFoot;
+ rv = NS_NewHTMLTableSectionElement(getter_AddRefs(newFoot),nsHTMLAtoms::tfoot);
+ if (NS_SUCCEEDED(rv) && newFoot)
{
rv = mInner.AppendChildTo(newFoot, PR_TRUE);
newFoot->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
- NS_RELEASE(newFoot);
}
}
return NS_OK;
@@ -628,12 +628,12 @@ NS_IMETHODIMP
nsHTMLTableElement::DeleteTFoot()
{
{
- nsIDOMHTMLTableSectionElement *childToDelete;
- nsresult rv = GetTFoot(&childToDelete);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=childToDelete))
+ nsCOMPtr childToDelete;
+ nsresult rv = GetTFoot(getter_AddRefs(childToDelete));
+ if ((NS_SUCCEEDED(rv)) && childToDelete)
{
- nsIDOMNode* resultingChild;
- mInner.RemoveChild(childToDelete, &resultingChild); // mInner does the notification
+ nsCOMPtr resultingChild;
+ mInner.RemoveChild(childToDelete, getter_AddRefs(resultingChild)); // mInner does the notification
}
return NS_OK;
}
@@ -646,23 +646,21 @@ nsHTMLTableElement::CreateCaption(nsIDOMHTMLElement** aValue)
{
*aValue = nsnull;
nsresult rv = NS_OK;
- nsIDOMHTMLTableCaptionElement *caption=nsnull;
- GetCaption(&caption);
- if (nsnull!=caption)
+ nsCOMPtr caption;
+ GetCaption(getter_AddRefs(caption));
+ if (caption)
{ // return the existing thead
caption->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
NS_ASSERTION(nsnull!=*aValue, "caption must be a DOMHTMLElement");
- NS_RELEASE(caption);
}
else
{ // create a new head rowgroup
- nsIHTMLContent *newCaption=nsnull;
- rv = NS_NewHTMLTableCaptionElement(&newCaption,nsHTMLAtoms::caption);
- if (NS_SUCCEEDED(rv) && (nsnull!=newCaption))
+ nsCOMPtr newCaption;
+ rv = NS_NewHTMLTableCaptionElement(getter_AddRefs(newCaption),nsHTMLAtoms::caption);
+ if (NS_SUCCEEDED(rv) && newCaption)
{
rv = mInner.AppendChildTo(newCaption, PR_TRUE);
newCaption->QueryInterface(kIDOMHTMLElementIID, (void **)aValue); // caller's addref
- NS_RELEASE(newCaption);
}
}
return NS_OK;
@@ -672,12 +670,12 @@ nsHTMLTableElement::CreateCaption(nsIDOMHTMLElement** aValue)
NS_IMETHODIMP
nsHTMLTableElement::DeleteCaption()
{
- nsIDOMHTMLTableCaptionElement *childToDelete;
- nsresult rv = GetCaption(&childToDelete);
- if ((NS_SUCCEEDED(rv)) && (nsnull!=childToDelete))
+ nsCOMPtr childToDelete;
+ nsresult rv = GetCaption(getter_AddRefs(childToDelete));
+ if ((NS_SUCCEEDED(rv)) && childToDelete)
{
- nsIDOMNode* resultingChild;
- mInner.RemoveChild(childToDelete, &resultingChild); // mInner does the notification
+ nsCOMPtr resultingChild;
+ mInner.RemoveChild(childToDelete, getter_AddRefs(resultingChild)); // mInner does the notification
}
return NS_OK;
}