NS_IMETHODIMP nsXFormsControlStub::DocumentChanged(nsIDOMDocument *aNewDocument) { nsXFormsStubElement::DocumentChanged(aNewDocument); if (aNewDocument) { ResetHelpAndHint(PR_TRUE); // If we are inserted into a document and we have no model, we are probably // being initialized, so we should set our intrinsic state to the default // value if (!mModel && mElement) { nsCOMPtr<nsIXTFElementWrapper> xtfWrap(do_QueryInterface(mElement)); NS_ENSURE_STATE(xtfWrap); PRInt32 iState; GetDefaultIntrinsicState(&iState); xtfWrap->SetIntrinsicState(iState); } } nsCOMPtr<nsIDOMNode> parent; mElement->GetParentNode(getter_AddRefs(parent)); UpdateRepeatState(parent); return ForceModelDetach(mHasParent && mHasDoc); }
NS_IMETHODIMP nsXFormsItemSetElement::DocumentChanged(nsIDOMDocument *aNewDocument) { nsXFormsDelegateStub::DocumentChanged(aNewDocument); nsCOMPtr<nsIDOMNode> parent; mElement->GetParentNode(getter_AddRefs(parent)); UpdateRepeatState(parent); return NS_OK; }
NS_IMETHODIMP nsXFormsControlStub::ParentChanged(nsIDOMElement *aNewParent) { nsXFormsStubElement::ParentChanged(aNewParent); UpdateRepeatState(aNewParent); // We need to re-evaluate our instance data binding when our parent changes, // since xmlns declarations or our context could have changed. return ForceModelDetach(mHasParent && mHasDoc); }
NS_IMETHODIMP nsXFormsItemSetElement::ParentChanged(nsIDOMElement *aNewParent) { nsXFormsDelegateStub::ParentChanged(aNewParent); UpdateRepeatState(aNewParent); if (aNewParent) Refresh(); return NS_OK; }