зеркало из https://github.com/mozilla/gecko-dev.git
Bug 555567. Make <legend>.form follow HTML5 spec. r=jst
This commit is contained in:
Родитель
868ddbaf9c
Коммит
4ad5f93833
|
@ -106,6 +106,13 @@ public:
|
||||||
PRBool aNotify);
|
PRBool aNotify);
|
||||||
|
|
||||||
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const;
|
virtual nsresult Clone(nsINodeInfo *aNodeInfo, nsINode **aResult) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
/**
|
||||||
|
* Get the fieldset content element that contains this legend.
|
||||||
|
* Returns null if there is no fieldset containing this legend.
|
||||||
|
*/
|
||||||
|
nsIContent* GetFieldSet();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -145,7 +152,11 @@ NS_IMPL_ELEMENT_CLONE(nsHTMLLegendElement)
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsHTMLLegendElement::GetForm(nsIDOMHTMLFormElement** aForm)
|
nsHTMLLegendElement::GetForm(nsIDOMHTMLFormElement** aForm)
|
||||||
{
|
{
|
||||||
return nsGenericHTMLFormElement::GetForm(aForm);
|
*aForm = nsnull;
|
||||||
|
|
||||||
|
nsCOMPtr<nsIFormControl> fieldsetControl = do_QueryInterface(GetFieldSet());
|
||||||
|
|
||||||
|
return fieldsetControl ? fieldsetControl->GetForm(aForm) : NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,6 +173,18 @@ static const nsAttrValue::EnumTable kAlignTable[] = {
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nsIContent*
|
||||||
|
nsHTMLLegendElement::GetFieldSet()
|
||||||
|
{
|
||||||
|
nsIContent* parent = GetParent();
|
||||||
|
|
||||||
|
if (parent && parent->IsHTML() && parent->Tag() == nsGkAtoms::fieldset) {
|
||||||
|
return parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
return nsnull;
|
||||||
|
}
|
||||||
|
|
||||||
PRBool
|
PRBool
|
||||||
nsHTMLLegendElement::ParseAttribute(PRInt32 aNamespaceID,
|
nsHTMLLegendElement::ParseAttribute(PRInt32 aNamespaceID,
|
||||||
nsIAtom* aAttribute,
|
nsIAtom* aAttribute,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче