[XForms] Class attribute name should be set in *Stub* elements, not in *ControlStub*. Bug 303876, r=aaronr+me, a=mkaply, patch by smaug@welho.com, NPOTB

This commit is contained in:
allan%beaufour.dk 2005-08-10 07:58:29 +00:00
parent ad45ecb4d9
commit 0c5b39af38
9 changed files with 31 additions and 12 deletions

View File

@ -68,7 +68,9 @@ NS_INTERFACE_MAP_END_INHERITING(nsXFormsXMLVisualStub)
NS_IMETHODIMP
nsXFormsActionElement::OnCreated(nsIXTFXMLVisualWrapper *aWrapper)
{
nsresult rv;
nsresult rv = nsXFormsXMLVisualStub::OnCreated(aWrapper);
NS_ENSURE_SUCCESS(rv, rv);
rv = aWrapper->GetElementNode(getter_AddRefs(mElement));
NS_ENSURE_SUCCESS(rv, rv);

View File

@ -82,6 +82,9 @@ NS_IMPL_ISUPPORTS_INHERITED1(nsXFormsCaseElement,
NS_IMETHODIMP
nsXFormsCaseElement::OnCreated(nsIXTFBindableElementWrapper *aWrapper)
{
nsresult rv = nsXFormsBindableStub::OnCreated(aWrapper);
NS_ENSURE_SUCCESS(rv, rv);
aWrapper->SetNotificationMask(nsIXTFElement::NOTIFY_ATTRIBUTE_SET |
nsIXTFElement::NOTIFY_BEGIN_ADDING_CHILDREN |
nsIXTFElement::NOTIFY_DONE_ADDING_CHILDREN);

View File

@ -91,6 +91,9 @@ NS_IMPL_ISUPPORTS_INHERITED1(nsXFormsChoicesElement,
NS_IMETHODIMP
nsXFormsChoicesElement::OnCreated(nsIXTFBindableElementWrapper *aWrapper)
{
nsresult rv = nsXFormsBindableStub::OnCreated(aWrapper);
NS_ENSURE_SUCCESS(rv, rv);
aWrapper->SetNotificationMask(nsIXTFElement::NOTIFY_PARENT_CHANGED |
nsIXTFElement::NOTIFY_CHILD_INSERTED |
nsIXTFElement::NOTIFY_CHILD_APPENDED |

View File

@ -677,8 +677,9 @@ NS_IMPL_ISUPPORTS_INHERITED3(nsXFormsControlStub,
nsIXFormsControlBase)
NS_IMPL_ISUPPORTS_INHERITED2(nsXFormsBindableControlStub,
NS_IMPL_ISUPPORTS_INHERITED3(nsXFormsBindableControlStub,
nsXFormsBindableStub,
nsIXFormsContextControl,
nsIXFormsControl)
nsIXFormsControl,
nsIXFormsControlBase)

View File

@ -246,9 +246,8 @@ public:
/** This sets the notification mask and initializes mElement */
NS_IMETHOD OnCreated(nsIXTFXMLVisualWrapper *aWrapper)
{
NS_ENSURE_ARG(aWrapper);
aWrapper->SetClassAttributeName(nsXFormsAtoms::clazz);
return nsXFormsControlStubBase::Create(aWrapper);
nsresult rv = nsXFormsXMLVisualStub::OnCreated(aWrapper);
return NS_SUCCEEDED(rv) ? nsXFormsControlStubBase::Create(aWrapper) : rv;
}
// nsIXTFElement overrides
@ -314,9 +313,8 @@ public:
/** This sets the notification mask and initializes mElement */
NS_IMETHOD OnCreated(nsIXTFBindableElementWrapper *aWrapper)
{
NS_ENSURE_ARG(aWrapper);
aWrapper->SetClassAttributeName(nsXFormsAtoms::clazz);
return nsXFormsControlStubBase::Create(aWrapper);
nsresult rv = nsXFormsBindableStub::OnCreated(aWrapper);
return NS_SUCCEEDED(rv) ? nsXFormsControlStubBase::Create(aWrapper) : rv;
}
// nsIXTFElement overrides

View File

@ -115,6 +115,9 @@ NS_IMPL_ISUPPORTS_INHERITED2(nsXFormsItemElement,
NS_IMETHODIMP
nsXFormsItemElement::OnCreated(nsIXTFBindableElementWrapper *aWrapper)
{
nsresult rv = nsXFormsBindableStub::OnCreated(aWrapper);
NS_ENSURE_SUCCESS(rv, rv);
aWrapper->SetNotificationMask(nsIXTFElement::NOTIFY_PARENT_CHANGED |
nsIXTFElement::NOTIFY_CHILD_INSERTED |
nsIXTFElement::NOTIFY_CHILD_APPENDED |

View File

@ -91,6 +91,9 @@ NS_IMPL_ISUPPORTS_INHERITED2(nsXFormsItemSetElement,
NS_IMETHODIMP
nsXFormsItemSetElement::OnCreated(nsIXTFBindableElementWrapper *aWrapper)
{
nsresult rv = nsXFormsBindableStub::OnCreated(aWrapper);
NS_ENSURE_SUCCESS(rv, rv);
aWrapper->SetNotificationMask(nsIXTFElement::NOTIFY_PARENT_CHANGED |
nsIXTFElement::NOTIFY_CHILD_INSERTED |
nsIXTFElement::NOTIFY_CHILD_APPENDED |

View File

@ -198,9 +198,11 @@ NS_INTERFACE_MAP_END_INHERITING(nsXFormsXMLVisualStub)
NS_IMETHODIMP
nsXFormsMessageElement::OnCreated(nsIXTFXMLVisualWrapper *aWrapper)
{
nsresult rv = nsXFormsXMLVisualStub::OnCreated(aWrapper);
NS_ENSURE_SUCCESS(rv, rv);
aWrapper->SetNotificationMask(nsIXTFElement::NOTIFY_WILL_CHANGE_DOCUMENT |
nsIXTFElement::NOTIFY_PARENT_CHANGED);
nsresult rv;
nsCOMPtr<nsIDOMElement> node;
rv = aWrapper->GetElementNode(getter_AddRefs(node));

View File

@ -43,6 +43,8 @@
#include "nsMemory.h"
#include "nsXFormsUtils.h"
#include "nsXFormsAtoms.h"
#include "nsIXTFXMLVisualWrapper.h"
#include "nsIXTFBindableElementWrapper.h"
static const nsIID sScriptingIIDs[] = {
NS_IDOMELEMENT_IID,
@ -377,7 +379,8 @@ nsXFormsXMLVisualStub::DidLayout()
NS_IMETHODIMP
nsXFormsXMLVisualStub::OnCreated(nsIXTFXMLVisualWrapper *aWrapper)
{
return NS_OK;
NS_ENSURE_ARG(aWrapper);
return aWrapper->SetClassAttributeName(nsXFormsAtoms::clazz);
}
NS_IMETHODIMP
@ -534,7 +537,8 @@ nsXFormsBindableStub::HandleDefault(nsIDOMEvent *aEvent, PRBool *aHandled)
NS_IMETHODIMP
nsXFormsBindableStub::OnCreated(nsIXTFBindableElementWrapper *aWrapper)
{
return NS_OK;
NS_ENSURE_ARG(aWrapper);
return aWrapper->SetClassAttributeName(nsXFormsAtoms::clazz);
}
NS_IMETHODIMP