mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-13 18:27:35 +00:00
converted over to use nsCOMPtr and changed return code back to NS_OK for GetAttr
part of bug 21945 work, r=pollmann
This commit is contained in:
parent
0835a549dd
commit
efb50a3f08
@ -51,6 +51,7 @@
|
||||
#include "nsIPresShell.h"
|
||||
#include "nsIFrame.h"
|
||||
#include "nsIDOMHTMLSelectElement.h"
|
||||
#include "nsCOMPtr.h"
|
||||
|
||||
|
||||
static NS_DEFINE_IID(kIDOMHTMLSelectElementIID, NS_IDOMHTMLSELECTELEMENT_IID);
|
||||
@ -299,7 +300,8 @@ NS_IMPL_STRING_ATTR(nsHTMLOptionElement, Value, value)
|
||||
NS_IMETHODIMP
|
||||
nsHTMLOptionElement::GetLabel(nsString& aValue)
|
||||
{
|
||||
return mInner.GetAttribute(kNameSpaceID_HTML, nsHTMLAtoms::label, aValue);
|
||||
mInner.GetAttribute(kNameSpaceID_HTML, nsHTMLAtoms::label, aValue);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -317,7 +319,7 @@ nsHTMLOptionElement::SetLabel(const nsString& aValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -473,11 +475,11 @@ nsHTMLOptionElement::GetText(nsString& aText)
|
||||
return rv;
|
||||
}
|
||||
for (PRInt32 i = 0; i < numNodes; i++) {
|
||||
nsIContent* node;
|
||||
nsIContent* node = nsnull;
|
||||
rv = ChildAt(i, node);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsIDOMText* domText = nsnull;
|
||||
rv = node->QueryInterface(kIDOMTextIID, (void**)&domText);
|
||||
if (NS_SUCCEEDED(rv) && node) {
|
||||
nsCOMPtr<nsIDOMText> domText;
|
||||
rv = node->QueryInterface(kIDOMTextIID, (void**)getter_AddRefs(domText));
|
||||
if (NS_SUCCEEDED(rv) && domText) {
|
||||
rv = domText->GetData(aText);
|
||||
// the option could be all spaces, so compress the white space
|
||||
@ -489,14 +491,14 @@ nsHTMLOptionElement::GetText(nsString& aText)
|
||||
aText = compressText;
|
||||
}
|
||||
}
|
||||
NS_RELEASE(domText);
|
||||
NS_RELEASE(node);
|
||||
break;
|
||||
}
|
||||
NS_RELEASE(node);
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -508,29 +510,32 @@ nsHTMLOptionElement::SetText(const nsString& aText)
|
||||
if (NS_FAILED(result)) {
|
||||
return result;
|
||||
}
|
||||
nsIDOMText* domText = nsnull;
|
||||
|
||||
for (PRInt32 i = 0; i < numNodes; i++) {
|
||||
nsIContent* node;
|
||||
nsIContent * node = nsnull;
|
||||
result = ChildAt(i, node);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
result = node->QueryInterface(kIDOMTextIID, (void**)&domText);
|
||||
if (NS_SUCCEEDED(result) && node) {
|
||||
nsCOMPtr<nsIDOMText> domText;
|
||||
result = node->QueryInterface(kIDOMTextIID, (void**)getter_AddRefs(domText));
|
||||
if (NS_SUCCEEDED(result) && domText) {
|
||||
result = domText->SetData(aText);
|
||||
if (NS_SUCCEEDED(result)) usedExistingTextNode = PR_TRUE;
|
||||
NS_RELEASE(domText);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
usedExistingTextNode = PR_TRUE;
|
||||
}
|
||||
NS_RELEASE(node);
|
||||
break;
|
||||
}
|
||||
NS_RELEASE(node);
|
||||
}
|
||||
}
|
||||
|
||||
if (!usedExistingTextNode) {
|
||||
nsIContent* text;
|
||||
result = NS_NewTextNode(&text);
|
||||
nsCOMPtr<nsIContent> text;
|
||||
result = NS_NewTextNode(getter_AddRefs(text));
|
||||
if (NS_OK == result) {
|
||||
nsIDOMText* domtext;
|
||||
result = text->QueryInterface(kIDOMTextIID, (void**)&domtext);
|
||||
if (NS_OK == result) {
|
||||
if (NS_SUCCEEDED(result) && domtext) {
|
||||
result = domtext->SetData(aText);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
result = AppendChildTo(text, PR_FALSE);
|
||||
@ -545,9 +550,9 @@ nsHTMLOptionElement::SetText(const nsString& aText)
|
||||
}
|
||||
NS_RELEASE(domtext);
|
||||
}
|
||||
NS_RELEASE(text);
|
||||
}
|
||||
}
|
||||
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
nsIFormControlFrame* fcFrame = nsnull;
|
||||
result = GetPrimaryFrame(fcFrame);
|
||||
@ -559,7 +564,7 @@ nsHTMLOptionElement::SetText(const nsString& aText)
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Options don't have frames - get the select content node
|
||||
|
@ -51,6 +51,7 @@
|
||||
#include "nsIPresShell.h"
|
||||
#include "nsIFrame.h"
|
||||
#include "nsIDOMHTMLSelectElement.h"
|
||||
#include "nsCOMPtr.h"
|
||||
|
||||
|
||||
static NS_DEFINE_IID(kIDOMHTMLSelectElementIID, NS_IDOMHTMLSELECTELEMENT_IID);
|
||||
@ -299,7 +300,8 @@ NS_IMPL_STRING_ATTR(nsHTMLOptionElement, Value, value)
|
||||
NS_IMETHODIMP
|
||||
nsHTMLOptionElement::GetLabel(nsString& aValue)
|
||||
{
|
||||
return mInner.GetAttribute(kNameSpaceID_HTML, nsHTMLAtoms::label, aValue);
|
||||
mInner.GetAttribute(kNameSpaceID_HTML, nsHTMLAtoms::label, aValue);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -317,7 +319,7 @@ nsHTMLOptionElement::SetLabel(const nsString& aValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -473,11 +475,11 @@ nsHTMLOptionElement::GetText(nsString& aText)
|
||||
return rv;
|
||||
}
|
||||
for (PRInt32 i = 0; i < numNodes; i++) {
|
||||
nsIContent* node;
|
||||
nsIContent* node = nsnull;
|
||||
rv = ChildAt(i, node);
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
nsIDOMText* domText = nsnull;
|
||||
rv = node->QueryInterface(kIDOMTextIID, (void**)&domText);
|
||||
if (NS_SUCCEEDED(rv) && node) {
|
||||
nsCOMPtr<nsIDOMText> domText;
|
||||
rv = node->QueryInterface(kIDOMTextIID, (void**)getter_AddRefs(domText));
|
||||
if (NS_SUCCEEDED(rv) && domText) {
|
||||
rv = domText->GetData(aText);
|
||||
// the option could be all spaces, so compress the white space
|
||||
@ -489,14 +491,14 @@ nsHTMLOptionElement::GetText(nsString& aText)
|
||||
aText = compressText;
|
||||
}
|
||||
}
|
||||
NS_RELEASE(domText);
|
||||
NS_RELEASE(node);
|
||||
break;
|
||||
}
|
||||
NS_RELEASE(node);
|
||||
}
|
||||
}
|
||||
return rv;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
@ -508,29 +510,32 @@ nsHTMLOptionElement::SetText(const nsString& aText)
|
||||
if (NS_FAILED(result)) {
|
||||
return result;
|
||||
}
|
||||
nsIDOMText* domText = nsnull;
|
||||
|
||||
for (PRInt32 i = 0; i < numNodes; i++) {
|
||||
nsIContent* node;
|
||||
nsIContent * node = nsnull;
|
||||
result = ChildAt(i, node);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
result = node->QueryInterface(kIDOMTextIID, (void**)&domText);
|
||||
if (NS_SUCCEEDED(result) && node) {
|
||||
nsCOMPtr<nsIDOMText> domText;
|
||||
result = node->QueryInterface(kIDOMTextIID, (void**)getter_AddRefs(domText));
|
||||
if (NS_SUCCEEDED(result) && domText) {
|
||||
result = domText->SetData(aText);
|
||||
if (NS_SUCCEEDED(result)) usedExistingTextNode = PR_TRUE;
|
||||
NS_RELEASE(domText);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
usedExistingTextNode = PR_TRUE;
|
||||
}
|
||||
NS_RELEASE(node);
|
||||
break;
|
||||
}
|
||||
NS_RELEASE(node);
|
||||
}
|
||||
}
|
||||
|
||||
if (!usedExistingTextNode) {
|
||||
nsIContent* text;
|
||||
result = NS_NewTextNode(&text);
|
||||
nsCOMPtr<nsIContent> text;
|
||||
result = NS_NewTextNode(getter_AddRefs(text));
|
||||
if (NS_OK == result) {
|
||||
nsIDOMText* domtext;
|
||||
result = text->QueryInterface(kIDOMTextIID, (void**)&domtext);
|
||||
if (NS_OK == result) {
|
||||
if (NS_SUCCEEDED(result) && domtext) {
|
||||
result = domtext->SetData(aText);
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
result = AppendChildTo(text, PR_FALSE);
|
||||
@ -545,9 +550,9 @@ nsHTMLOptionElement::SetText(const nsString& aText)
|
||||
}
|
||||
NS_RELEASE(domtext);
|
||||
}
|
||||
NS_RELEASE(text);
|
||||
}
|
||||
}
|
||||
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
nsIFormControlFrame* fcFrame = nsnull;
|
||||
result = GetPrimaryFrame(fcFrame);
|
||||
@ -559,7 +564,7 @@ nsHTMLOptionElement::SetText(const nsString& aText)
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// Options don't have frames - get the select content node
|
||||
|
Loading…
Reference in New Issue
Block a user