Bug 499642 - Split the HTML5 parser into stream parser, doc.write parser and tree op executor. r=bnewman, sr=mrbkap.
This commit is contained in:
@@ -47,6 +47,7 @@
|
||||
#include "mozAutoDocUpdate.h"
|
||||
#include "nsBindingManager.h"
|
||||
#include "nsXBLBinding.h"
|
||||
#include "nsHtml5DocumentMode.h"
|
||||
|
||||
nsHtml5TreeOperation::nsHtml5TreeOperation()
|
||||
: mOpCode(eTreeOpAppend)
|
||||
@@ -60,7 +61,7 @@ nsHtml5TreeOperation::~nsHtml5TreeOperation()
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsHtml5TreeOperation::Perform(nsHtml5TreeBuilder* aBuilder)
|
||||
nsHtml5TreeOperation::Perform(nsHtml5TreeOpExecutor* aBuilder)
|
||||
{
|
||||
nsresult rv = NS_OK;
|
||||
switch(mOpCode) {
|
||||
@@ -181,21 +182,25 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeBuilder* aBuilder)
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpProcessBase: {
|
||||
rv = aBuilder->ProcessBase(mNode);
|
||||
rv = aBuilder->ProcessBASETag(mNode);
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpProcessMeta: {
|
||||
rv = aBuilder->ProcessMeta(mNode);
|
||||
rv = aBuilder->ProcessMETATag(mNode);
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpProcessOfflineManifest: {
|
||||
rv = aBuilder->ProcessOfflineManifest(mNode);
|
||||
aBuilder->ProcessOfflineManifest(mNode);
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpStartLayout: {
|
||||
aBuilder->StartLayout(); // this causes a flush anyway
|
||||
return rv;
|
||||
}
|
||||
case eTreeOpDocumentMode: {
|
||||
aBuilder->DocumentMode(mMode);
|
||||
return rv;
|
||||
}
|
||||
default: {
|
||||
NS_NOTREACHED("Bogus tree op");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user