зеркало из https://github.com/mozilla/gecko-dev.git
Bug 490271 - Make form state pick up input state in HTML5 parser
This commit is contained in:
Родитель
f443521aed
Коммит
1bac8ebc71
|
@ -404,6 +404,7 @@ nsHtml5TreeBuilder::elementPopped(PRInt32 aNamespace, nsIAtom* aName, nsIContent
|
|||
|
||||
// Some HTML nodes need DoneAddingChildren() called to initialize
|
||||
// properly (eg form state restoration).
|
||||
// XXX expose ElementName group here and do switch
|
||||
if (aName == nsHtml5Atoms::select ||
|
||||
aName == nsHtml5Atoms::textarea ||
|
||||
#ifdef MOZ_MEDIA
|
||||
|
@ -417,6 +418,14 @@ nsHtml5TreeBuilder::elementPopped(PRInt32 aNamespace, nsIAtom* aName, nsIContent
|
|||
treeOp->Init(eTreeOpDoneAddingChildren, aElement);
|
||||
return;
|
||||
}
|
||||
|
||||
if (aName == nsHtml5Atoms::input ||
|
||||
aName == nsHtml5Atoms::button) {
|
||||
nsHtml5TreeOperation* treeOp = mOpQueue.AppendElement();
|
||||
// XXX if null, OOM!
|
||||
treeOp->Init(eTreeOpDoneCreatingElement, aElement);
|
||||
return;
|
||||
}
|
||||
|
||||
if (aName == nsHtml5Atoms::base) {
|
||||
nsHtml5TreeOperation* treeOp = mOpQueue.AppendElement();
|
||||
|
|
|
@ -138,17 +138,18 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeBuilder* aBuilder)
|
|||
return rv;
|
||||
}
|
||||
case eTreeOpDoneAddingChildren: {
|
||||
// aBuilder->FlushPendingAppendNotifications();
|
||||
mNode->DoneAddingChildren(PR_FALSE);
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpDoneCreatingElement: {
|
||||
mNode->DoneCreatingElement();
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpUpdateStyleSheet: {
|
||||
// aBuilder->FlushPendingAppendNotifications();
|
||||
aBuilder->UpdateStyleSheet(mNode);
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpProcessBase: {
|
||||
// aBuilder->FlushPendingAppendNotifications();
|
||||
rv = aBuilder->ProcessBase(mNode);
|
||||
return rv;
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ enum eHtml5TreeOperation {
|
|||
// Gecko-specific on-pop ops
|
||||
eTreeOpScriptEnd,
|
||||
eTreeOpDoneAddingChildren,
|
||||
eTreeOpDoneCreatingElement,
|
||||
eTreeOpUpdateStyleSheet,
|
||||
eTreeOpProcessBase,
|
||||
eTreeOpStartLayout
|
||||
|
|
Загрузка…
Ссылка в новой задаче