mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
c432cee937
--HG-- rename : content/xslt/src/base/moz.build => dom/xslt/base/moz.build rename : content/xslt/src/base/txCore.h => dom/xslt/base/txCore.h rename : content/xslt/src/base/txDouble.cpp => dom/xslt/base/txDouble.cpp rename : content/xslt/src/base/txErrorObserver.h => dom/xslt/base/txErrorObserver.h rename : content/xslt/src/base/txExpandedNameMap.cpp => dom/xslt/base/txExpandedNameMap.cpp rename : content/xslt/src/base/txExpandedNameMap.h => dom/xslt/base/txExpandedNameMap.h rename : content/xslt/src/base/txList.cpp => dom/xslt/base/txList.cpp rename : content/xslt/src/base/txList.h => dom/xslt/base/txList.h rename : content/xslt/src/base/txLog.h => dom/xslt/base/txLog.h rename : content/xslt/src/base/txNamespaceMap.cpp => dom/xslt/base/txNamespaceMap.cpp rename : content/xslt/src/base/txNamespaceMap.h => dom/xslt/base/txNamespaceMap.h rename : content/xslt/src/base/txOwningArray.h => dom/xslt/base/txOwningArray.h rename : content/xslt/src/base/txStack.h => dom/xslt/base/txStack.h rename : content/xslt/src/base/txStringUtils.h => dom/xslt/base/txStringUtils.h rename : content/xslt/src/base/txURIUtils.cpp => dom/xslt/base/txURIUtils.cpp rename : content/xslt/src/base/txURIUtils.h => dom/xslt/base/txURIUtils.h rename : content/xslt/crashtests/111994.xml => dom/xslt/crashtests/111994.xml rename : content/xslt/crashtests/111994.xsl => dom/xslt/crashtests/111994.xsl rename : content/xslt/crashtests/182460-select.xml => dom/xslt/crashtests/182460-select.xml rename : content/xslt/crashtests/182460-selects.xsl => dom/xslt/crashtests/182460-selects.xsl rename : content/xslt/crashtests/182460-table.xhtml => dom/xslt/crashtests/182460-table.xhtml rename : content/xslt/crashtests/226425.xml => dom/xslt/crashtests/226425.xml rename : content/xslt/crashtests/226425.xsl => dom/xslt/crashtests/226425.xsl rename : content/xslt/crashtests/406106-1.html => dom/xslt/crashtests/406106-1.html rename : content/xslt/crashtests/483444.xml => dom/xslt/crashtests/483444.xml rename : content/xslt/crashtests/485217.xml => dom/xslt/crashtests/485217.xml rename : content/xslt/crashtests/485217.xsl => dom/xslt/crashtests/485217.xsl rename : content/xslt/crashtests/485286.xml => dom/xslt/crashtests/485286.xml rename : content/xslt/crashtests/528300.xml => dom/xslt/crashtests/528300.xml rename : content/xslt/crashtests/528488.xml => dom/xslt/crashtests/528488.xml rename : content/xslt/crashtests/528963.xml => dom/xslt/crashtests/528963.xml rename : content/xslt/crashtests/545927.html => dom/xslt/crashtests/545927.html rename : content/xslt/crashtests/601543.html => dom/xslt/crashtests/601543.html rename : content/xslt/crashtests/602115.html => dom/xslt/crashtests/602115.html rename : content/xslt/crashtests/603844.html => dom/xslt/crashtests/603844.html rename : content/xslt/crashtests/667315.xml => dom/xslt/crashtests/667315.xml rename : content/xslt/crashtests/91332.xml => dom/xslt/crashtests/91332.xml rename : content/xslt/crashtests/91332.xsl => dom/xslt/crashtests/91332.xsl rename : content/xslt/crashtests/crashtests.list => dom/xslt/crashtests/crashtests.list rename : content/xslt/public/moz.build => dom/xslt/moz.build rename : content/xslt/public/nsIDocumentTransformer.h => dom/xslt/nsIDocumentTransformer.h rename : content/xslt/public/nsIXSLTException.idl => dom/xslt/nsIXSLTException.idl rename : content/xslt/public/nsIXSLTProcessor.idl => dom/xslt/nsIXSLTProcessor.idl rename : content/xslt/public/nsIXSLTProcessorPrivate.idl => dom/xslt/nsIXSLTProcessorPrivate.idl rename : content/xslt/tests/XSLTMark/XSLTMark-static.js => dom/xslt/tests/XSLTMark/XSLTMark-static.js rename : content/xslt/tests/XSLTMark/XSLTMark-test.js => dom/xslt/tests/XSLTMark/XSLTMark-test.js rename : content/xslt/tests/XSLTMark/XSLTMark-view.js => dom/xslt/tests/XSLTMark/XSLTMark-view.js rename : content/xslt/tests/XSLTMark/XSLTMark.css => dom/xslt/tests/XSLTMark/XSLTMark.css rename : content/xslt/tests/XSLTMark/XSLTMark.xul => dom/xslt/tests/XSLTMark/XSLTMark.xul rename : content/xslt/tests/buster/DiffDOM.js => dom/xslt/tests/buster/DiffDOM.js rename : content/xslt/tests/buster/DumpDOM.js => dom/xslt/tests/buster/DumpDOM.js rename : content/xslt/tests/buster/ReadMe => dom/xslt/tests/buster/ReadMe rename : content/xslt/tests/buster/buster-files.js => dom/xslt/tests/buster/buster-files.js rename : content/xslt/tests/buster/buster-handlers.js => dom/xslt/tests/buster/buster-handlers.js rename : content/xslt/tests/buster/buster-statics.js => dom/xslt/tests/buster/buster-statics.js rename : content/xslt/tests/buster/buster-test.js => dom/xslt/tests/buster/buster-test.js rename : content/xslt/tests/buster/buster-view.js => dom/xslt/tests/buster/buster-view.js rename : content/xslt/tests/buster/buster.css => dom/xslt/tests/buster/buster.css rename : content/xslt/tests/buster/buster.xul => dom/xslt/tests/buster/buster.xul rename : content/xslt/tests/buster/helper/generate-rdf.pl => dom/xslt/tests/buster/helper/generate-rdf.pl rename : content/xslt/tests/buster/install.js => dom/xslt/tests/buster/install.js rename : content/xslt/tests/buster/jar.mn => dom/xslt/tests/buster/jar.mn rename : content/xslt/tests/buster/moz.build => dom/xslt/tests/buster/moz.build rename : content/xslt/tests/buster/result-inspector.xul => dom/xslt/tests/buster/result-inspector.xul rename : content/xslt/tests/buster/result-view.css => dom/xslt/tests/buster/result-view.css rename : content/xslt/tests/buster/result-view.js => dom/xslt/tests/buster/result-view.js rename : content/xslt/tests/buster/result-view.xul => dom/xslt/tests/buster/result-view.xul rename : content/xslt/tests/buster/xslt-qa-overlay.js => dom/xslt/tests/buster/xslt-qa-overlay.js rename : content/xslt/tests/buster/xslt-qa-overlay.xul => dom/xslt/tests/buster/xslt-qa-overlay.xul rename : content/xslt/tests/mochitest/mochitest.ini => dom/xslt/tests/mochitest/mochitest.ini rename : content/xslt/tests/mochitest/moz.build => dom/xslt/tests/mochitest/moz.build rename : content/xslt/tests/mochitest/test_bug319374.xhtml => dom/xslt/tests/mochitest/test_bug319374.xhtml rename : content/xslt/tests/mochitest/test_bug427060.html => dom/xslt/tests/mochitest/test_bug427060.html rename : content/xslt/tests/mochitest/test_bug440974.html => dom/xslt/tests/mochitest/test_bug440974.html rename : content/xslt/tests/mochitest/test_bug453441.html => dom/xslt/tests/mochitest/test_bug453441.html rename : content/xslt/tests/mochitest/test_bug468208.html => dom/xslt/tests/mochitest/test_bug468208.html rename : content/xslt/tests/mochitest/test_bug511487.html => dom/xslt/tests/mochitest/test_bug511487.html rename : content/xslt/tests/mochitest/test_bug551412.html => dom/xslt/tests/mochitest/test_bug551412.html rename : content/xslt/tests/mochitest/test_bug551654.html => dom/xslt/tests/mochitest/test_bug551654.html rename : content/xslt/tests/mochitest/test_bug566629.html => dom/xslt/tests/mochitest/test_bug566629.html rename : content/xslt/tests/mochitest/test_bug566629.xhtml => dom/xslt/tests/mochitest/test_bug566629.xhtml rename : content/xslt/tests/mochitest/test_bug603159.html => dom/xslt/tests/mochitest/test_bug603159.html rename : content/xslt/tests/mochitest/test_bug616774.html => dom/xslt/tests/mochitest/test_bug616774.html rename : content/xslt/tests/mochitest/test_bug667315.html => dom/xslt/tests/mochitest/test_bug667315.html rename : content/xslt/tests/mochitest/test_exslt_regex.html => dom/xslt/tests/mochitest/test_exslt_regex.html rename : content/xslt/public/txIEXSLTRegExFunctions.idl => dom/xslt/txIEXSLTRegExFunctions.idl rename : content/xslt/public/txIFunctionEvaluationContext.idl => dom/xslt/txIFunctionEvaluationContext.idl rename : content/xslt/public/txINodeSet.idl => dom/xslt/txINodeSet.idl rename : content/xslt/public/txIXPathObject.idl => dom/xslt/txIXPathObject.idl rename : content/xslt/src/xml/moz.build => dom/xslt/xml/moz.build rename : content/xslt/src/xml/txXMLParser.cpp => dom/xslt/xml/txXMLParser.cpp rename : content/xslt/src/xml/txXMLParser.h => dom/xslt/xml/txXMLParser.h rename : content/xslt/src/xml/txXMLUtils.cpp => dom/xslt/xml/txXMLUtils.cpp rename : content/xslt/src/xml/txXMLUtils.h => dom/xslt/xml/txXMLUtils.h rename : content/xslt/src/xpath/XPathEvaluator.cpp => dom/xslt/xpath/XPathEvaluator.cpp rename : content/xslt/src/xpath/XPathEvaluator.h => dom/xslt/xpath/XPathEvaluator.h rename : content/xslt/src/xpath/moz.build => dom/xslt/xpath/moz.build rename : content/xslt/src/xpath/nsXPathExpression.cpp => dom/xslt/xpath/nsXPathExpression.cpp rename : content/xslt/src/xpath/nsXPathExpression.h => dom/xslt/xpath/nsXPathExpression.h rename : content/xslt/src/xpath/nsXPathNSResolver.cpp => dom/xslt/xpath/nsXPathNSResolver.cpp rename : content/xslt/src/xpath/nsXPathNSResolver.h => dom/xslt/xpath/nsXPathNSResolver.h rename : content/xslt/src/xpath/nsXPathResult.cpp => dom/xslt/xpath/nsXPathResult.cpp rename : content/xslt/src/xpath/nsXPathResult.h => dom/xslt/xpath/nsXPathResult.h rename : content/xslt/src/xpath/txBooleanExpr.cpp => dom/xslt/xpath/txBooleanExpr.cpp rename : content/xslt/src/xpath/txBooleanResult.cpp => dom/xslt/xpath/txBooleanResult.cpp rename : content/xslt/src/xpath/txCoreFunctionCall.cpp => dom/xslt/xpath/txCoreFunctionCall.cpp rename : content/xslt/src/xpath/txErrorExpr.cpp => dom/xslt/xpath/txErrorExpr.cpp rename : content/xslt/src/xpath/txExpr.cpp => dom/xslt/xpath/txExpr.cpp rename : content/xslt/src/xpath/txExpr.h => dom/xslt/xpath/txExpr.h rename : content/xslt/src/xpath/txExprLexer.cpp => dom/xslt/xpath/txExprLexer.cpp rename : content/xslt/src/xpath/txExprLexer.h => dom/xslt/xpath/txExprLexer.h rename : content/xslt/src/xpath/txExprParser.cpp => dom/xslt/xpath/txExprParser.cpp rename : content/xslt/src/xpath/txExprParser.h => dom/xslt/xpath/txExprParser.h rename : content/xslt/src/xpath/txExprResult.h => dom/xslt/xpath/txExprResult.h rename : content/xslt/src/xpath/txFilterExpr.cpp => dom/xslt/xpath/txFilterExpr.cpp rename : content/xslt/src/xpath/txForwardContext.cpp => dom/xslt/xpath/txForwardContext.cpp rename : content/xslt/src/xpath/txForwardContext.h => dom/xslt/xpath/txForwardContext.h rename : content/xslt/src/xpath/txFunctionCall.cpp => dom/xslt/xpath/txFunctionCall.cpp rename : content/xslt/src/xpath/txIXPathContext.h => dom/xslt/xpath/txIXPathContext.h rename : content/xslt/src/xpath/txLiteralExpr.cpp => dom/xslt/xpath/txLiteralExpr.cpp rename : content/xslt/src/xpath/txLocationStep.cpp => dom/xslt/xpath/txLocationStep.cpp rename : content/xslt/src/xpath/txMozillaXPathTreeWalker.cpp => dom/xslt/xpath/txMozillaXPathTreeWalker.cpp rename : content/xslt/src/xpath/txNameTest.cpp => dom/xslt/xpath/txNameTest.cpp rename : content/xslt/src/xpath/txNamedAttributeStep.cpp => dom/xslt/xpath/txNamedAttributeStep.cpp rename : content/xslt/src/xpath/txNodeSet.cpp => dom/xslt/xpath/txNodeSet.cpp rename : content/xslt/src/xpath/txNodeSet.h => dom/xslt/xpath/txNodeSet.h rename : content/xslt/src/xpath/txNodeSetAdaptor.cpp => dom/xslt/xpath/txNodeSetAdaptor.cpp rename : content/xslt/src/xpath/txNodeSetAdaptor.h => dom/xslt/xpath/txNodeSetAdaptor.h rename : content/xslt/src/xpath/txNodeSetContext.cpp => dom/xslt/xpath/txNodeSetContext.cpp rename : content/xslt/src/xpath/txNodeSetContext.h => dom/xslt/xpath/txNodeSetContext.h rename : content/xslt/src/xpath/txNodeTypeTest.cpp => dom/xslt/xpath/txNodeTypeTest.cpp rename : content/xslt/src/xpath/txNumberExpr.cpp => dom/xslt/xpath/txNumberExpr.cpp rename : content/xslt/src/xpath/txNumberResult.cpp => dom/xslt/xpath/txNumberResult.cpp rename : content/xslt/src/xpath/txPathExpr.cpp => dom/xslt/xpath/txPathExpr.cpp rename : content/xslt/src/xpath/txPredicateList.cpp => dom/xslt/xpath/txPredicateList.cpp rename : content/xslt/src/xpath/txPredicatedNodeTest.cpp => dom/xslt/xpath/txPredicatedNodeTest.cpp rename : content/xslt/src/xpath/txRelationalExpr.cpp => dom/xslt/xpath/txRelationalExpr.cpp rename : content/xslt/src/xpath/txResultRecycler.cpp => dom/xslt/xpath/txResultRecycler.cpp rename : content/xslt/src/xpath/txResultRecycler.h => dom/xslt/xpath/txResultRecycler.h rename : content/xslt/src/xpath/txRootExpr.cpp => dom/xslt/xpath/txRootExpr.cpp rename : content/xslt/src/xpath/txSingleNodeContext.h => dom/xslt/xpath/txSingleNodeContext.h rename : content/xslt/src/xpath/txStringResult.cpp => dom/xslt/xpath/txStringResult.cpp rename : content/xslt/src/xpath/txUnaryExpr.cpp => dom/xslt/xpath/txUnaryExpr.cpp rename : content/xslt/src/xpath/txUnionExpr.cpp => dom/xslt/xpath/txUnionExpr.cpp rename : content/xslt/src/xpath/txUnionNodeTest.cpp => dom/xslt/xpath/txUnionNodeTest.cpp rename : content/xslt/src/xpath/txVariableRefExpr.cpp => dom/xslt/xpath/txVariableRefExpr.cpp rename : content/xslt/src/xpath/txXPCOMExtensionFunction.cpp => dom/xslt/xpath/txXPCOMExtensionFunction.cpp rename : content/xslt/src/xpath/txXPathNode.h => dom/xslt/xpath/txXPathNode.h rename : content/xslt/src/xpath/txXPathObjectAdaptor.h => dom/xslt/xpath/txXPathObjectAdaptor.h rename : content/xslt/src/xpath/txXPathOptimizer.cpp => dom/xslt/xpath/txXPathOptimizer.cpp rename : content/xslt/src/xpath/txXPathOptimizer.h => dom/xslt/xpath/txXPathOptimizer.h rename : content/xslt/src/xpath/txXPathTreeWalker.h => dom/xslt/xpath/txXPathTreeWalker.h rename : content/xslt/src/xslt/moz.build => dom/xslt/xslt/moz.build rename : content/xslt/src/xslt/txBufferingHandler.cpp => dom/xslt/xslt/txBufferingHandler.cpp rename : content/xslt/src/xslt/txBufferingHandler.h => dom/xslt/xslt/txBufferingHandler.h rename : content/xslt/src/xslt/txCurrentFunctionCall.cpp => dom/xslt/xslt/txCurrentFunctionCall.cpp rename : content/xslt/src/xslt/txDocumentFunctionCall.cpp => dom/xslt/xslt/txDocumentFunctionCall.cpp rename : content/xslt/src/xslt/txEXSLTFunctions.cpp => dom/xslt/xslt/txEXSLTFunctions.cpp rename : content/xslt/src/xslt/txEXSLTRegExFunctions.js => dom/xslt/xslt/txEXSLTRegExFunctions.js rename : content/xslt/src/xslt/txEXSLTRegExFunctions.manifest => dom/xslt/xslt/txEXSLTRegExFunctions.manifest rename : content/xslt/src/xslt/txExecutionState.cpp => dom/xslt/xslt/txExecutionState.cpp rename : content/xslt/src/xslt/txExecutionState.h => dom/xslt/xslt/txExecutionState.h rename : content/xslt/src/xslt/txFormatNumberFunctionCall.cpp => dom/xslt/xslt/txFormatNumberFunctionCall.cpp rename : content/xslt/src/xslt/txGenerateIdFunctionCall.cpp => dom/xslt/xslt/txGenerateIdFunctionCall.cpp rename : content/xslt/src/xslt/txInstructions.cpp => dom/xslt/xslt/txInstructions.cpp rename : content/xslt/src/xslt/txInstructions.h => dom/xslt/xslt/txInstructions.h rename : content/xslt/src/xslt/txKey.h => dom/xslt/xslt/txKey.h rename : content/xslt/src/xslt/txKeyFunctionCall.cpp => dom/xslt/xslt/txKeyFunctionCall.cpp rename : content/xslt/src/xslt/txMozillaStylesheetCompiler.cpp => dom/xslt/xslt/txMozillaStylesheetCompiler.cpp rename : content/xslt/src/xslt/txMozillaTextOutput.cpp => dom/xslt/xslt/txMozillaTextOutput.cpp rename : content/xslt/src/xslt/txMozillaTextOutput.h => dom/xslt/xslt/txMozillaTextOutput.h rename : content/xslt/src/xslt/txMozillaXMLOutput.cpp => dom/xslt/xslt/txMozillaXMLOutput.cpp rename : content/xslt/src/xslt/txMozillaXMLOutput.h => dom/xslt/xslt/txMozillaXMLOutput.h rename : content/xslt/src/xslt/txMozillaXSLTProcessor.cpp => dom/xslt/xslt/txMozillaXSLTProcessor.cpp rename : content/xslt/src/xslt/txMozillaXSLTProcessor.h => dom/xslt/xslt/txMozillaXSLTProcessor.h rename : content/xslt/src/xslt/txNodeSorter.cpp => dom/xslt/xslt/txNodeSorter.cpp rename : content/xslt/src/xslt/txNodeSorter.h => dom/xslt/xslt/txNodeSorter.h rename : content/xslt/src/xslt/txOutputFormat.cpp => dom/xslt/xslt/txOutputFormat.cpp rename : content/xslt/src/xslt/txOutputFormat.h => dom/xslt/xslt/txOutputFormat.h rename : content/xslt/src/xslt/txPatternOptimizer.cpp => dom/xslt/xslt/txPatternOptimizer.cpp rename : content/xslt/src/xslt/txPatternOptimizer.h => dom/xslt/xslt/txPatternOptimizer.h rename : content/xslt/src/xslt/txPatternParser.cpp => dom/xslt/xslt/txPatternParser.cpp rename : content/xslt/src/xslt/txPatternParser.h => dom/xslt/xslt/txPatternParser.h rename : content/xslt/src/xslt/txRtfHandler.cpp => dom/xslt/xslt/txRtfHandler.cpp rename : content/xslt/src/xslt/txRtfHandler.h => dom/xslt/xslt/txRtfHandler.h rename : content/xslt/src/xslt/txStylesheet.cpp => dom/xslt/xslt/txStylesheet.cpp rename : content/xslt/src/xslt/txStylesheet.h => dom/xslt/xslt/txStylesheet.h rename : content/xslt/src/xslt/txStylesheetCompileHandlers.cpp => dom/xslt/xslt/txStylesheetCompileHandlers.cpp rename : content/xslt/src/xslt/txStylesheetCompileHandlers.h => dom/xslt/xslt/txStylesheetCompileHandlers.h rename : content/xslt/src/xslt/txStylesheetCompiler.cpp => dom/xslt/xslt/txStylesheetCompiler.cpp rename : content/xslt/src/xslt/txStylesheetCompiler.h => dom/xslt/xslt/txStylesheetCompiler.h rename : content/xslt/src/xslt/txTextHandler.cpp => dom/xslt/xslt/txTextHandler.cpp rename : content/xslt/src/xslt/txTextHandler.h => dom/xslt/xslt/txTextHandler.h rename : content/xslt/src/xslt/txToplevelItems.cpp => dom/xslt/xslt/txToplevelItems.cpp rename : content/xslt/src/xslt/txToplevelItems.h => dom/xslt/xslt/txToplevelItems.h rename : content/xslt/src/xslt/txUnknownHandler.cpp => dom/xslt/xslt/txUnknownHandler.cpp rename : content/xslt/src/xslt/txUnknownHandler.h => dom/xslt/xslt/txUnknownHandler.h rename : content/xslt/src/xslt/txVariableMap.h => dom/xslt/xslt/txVariableMap.h rename : content/xslt/src/xslt/txXMLEventHandler.h => dom/xslt/xslt/txXMLEventHandler.h rename : content/xslt/src/xslt/txXPathResultComparator.cpp => dom/xslt/xslt/txXPathResultComparator.cpp rename : content/xslt/src/xslt/txXPathResultComparator.h => dom/xslt/xslt/txXPathResultComparator.h rename : content/xslt/src/xslt/txXSLTEnvironmentFunctionCall.cpp => dom/xslt/xslt/txXSLTEnvironmentFunctionCall.cpp rename : content/xslt/src/xslt/txXSLTFunctions.h => dom/xslt/xslt/txXSLTFunctions.h rename : content/xslt/src/xslt/txXSLTNumber.cpp => dom/xslt/xslt/txXSLTNumber.cpp rename : content/xslt/src/xslt/txXSLTNumber.h => dom/xslt/xslt/txXSLTNumber.h rename : content/xslt/src/xslt/txXSLTNumberCounters.cpp => dom/xslt/xslt/txXSLTNumberCounters.cpp rename : content/xslt/src/xslt/txXSLTPatterns.cpp => dom/xslt/xslt/txXSLTPatterns.cpp rename : content/xslt/src/xslt/txXSLTPatterns.h => dom/xslt/xslt/txXSLTPatterns.h rename : content/xslt/src/xslt/txXSLTProcessor.cpp => dom/xslt/xslt/txXSLTProcessor.cpp rename : content/xslt/src/xslt/txXSLTProcessor.h => dom/xslt/xslt/txXSLTProcessor.h extra : rebase_source : 2ffae4527252a6937dd1ee2053d2c9d4fbe268fb
485 lines
15 KiB
C++
485 lines
15 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "txBufferingHandler.h"
|
|
|
|
class txOutputTransaction
|
|
{
|
|
public:
|
|
enum txTransactionType {
|
|
eAttributeTransaction,
|
|
eAttributeAtomTransaction,
|
|
eCharacterTransaction,
|
|
eCharacterNoOETransaction,
|
|
eCommentTransaction,
|
|
eEndDocumentTransaction,
|
|
eEndElementTransaction,
|
|
ePITransaction,
|
|
eStartDocumentTransaction,
|
|
eStartElementAtomTransaction,
|
|
eStartElementTransaction
|
|
};
|
|
txOutputTransaction(txTransactionType aType)
|
|
: mType(aType)
|
|
{
|
|
MOZ_COUNT_CTOR(txOutputTransaction);
|
|
}
|
|
virtual ~txOutputTransaction()
|
|
{
|
|
MOZ_COUNT_DTOR(txOutputTransaction);
|
|
}
|
|
txTransactionType mType;
|
|
};
|
|
|
|
class txCharacterTransaction : public txOutputTransaction
|
|
{
|
|
public:
|
|
txCharacterTransaction(txTransactionType aType, uint32_t aLength)
|
|
: txOutputTransaction(aType),
|
|
mLength(aLength)
|
|
{
|
|
MOZ_COUNT_CTOR_INHERITED(txCharacterTransaction, txOutputTransaction);
|
|
}
|
|
virtual ~txCharacterTransaction()
|
|
{
|
|
MOZ_COUNT_DTOR_INHERITED(txCharacterTransaction, txOutputTransaction);
|
|
}
|
|
uint32_t mLength;
|
|
};
|
|
|
|
class txCommentTransaction : public txOutputTransaction
|
|
{
|
|
public:
|
|
txCommentTransaction(const nsAString& aValue)
|
|
: txOutputTransaction(eCommentTransaction),
|
|
mValue(aValue)
|
|
{
|
|
MOZ_COUNT_CTOR_INHERITED(txCommentTransaction, txOutputTransaction);
|
|
}
|
|
virtual ~txCommentTransaction()
|
|
{
|
|
MOZ_COUNT_DTOR_INHERITED(txCommentTransaction, txOutputTransaction);
|
|
}
|
|
nsString mValue;
|
|
};
|
|
|
|
class txPITransaction : public txOutputTransaction
|
|
{
|
|
public:
|
|
txPITransaction(const nsAString& aTarget, const nsAString& aData)
|
|
: txOutputTransaction(ePITransaction),
|
|
mTarget(aTarget),
|
|
mData(aData)
|
|
{
|
|
MOZ_COUNT_CTOR_INHERITED(txPITransaction, txOutputTransaction);
|
|
}
|
|
virtual ~txPITransaction()
|
|
{
|
|
MOZ_COUNT_DTOR_INHERITED(txPITransaction, txOutputTransaction);
|
|
}
|
|
nsString mTarget;
|
|
nsString mData;
|
|
};
|
|
|
|
class txStartElementAtomTransaction : public txOutputTransaction
|
|
{
|
|
public:
|
|
txStartElementAtomTransaction(nsIAtom* aPrefix, nsIAtom* aLocalName,
|
|
nsIAtom* aLowercaseLocalName, int32_t aNsID)
|
|
: txOutputTransaction(eStartElementAtomTransaction),
|
|
mPrefix(aPrefix),
|
|
mLocalName(aLocalName),
|
|
mLowercaseLocalName(aLowercaseLocalName),
|
|
mNsID(aNsID)
|
|
{
|
|
MOZ_COUNT_CTOR_INHERITED(txStartElementAtomTransaction, txOutputTransaction);
|
|
}
|
|
virtual ~txStartElementAtomTransaction()
|
|
{
|
|
MOZ_COUNT_DTOR_INHERITED(txStartElementAtomTransaction, txOutputTransaction);
|
|
}
|
|
nsCOMPtr<nsIAtom> mPrefix;
|
|
nsCOMPtr<nsIAtom> mLocalName;
|
|
nsCOMPtr<nsIAtom> mLowercaseLocalName;
|
|
int32_t mNsID;
|
|
};
|
|
|
|
class txStartElementTransaction : public txOutputTransaction
|
|
{
|
|
public:
|
|
txStartElementTransaction(nsIAtom* aPrefix,
|
|
const nsSubstring& aLocalName, int32_t aNsID)
|
|
: txOutputTransaction(eStartElementTransaction),
|
|
mPrefix(aPrefix),
|
|
mLocalName(aLocalName),
|
|
mNsID(aNsID)
|
|
{
|
|
MOZ_COUNT_CTOR_INHERITED(txStartElementTransaction, txOutputTransaction);
|
|
}
|
|
virtual ~txStartElementTransaction()
|
|
{
|
|
MOZ_COUNT_DTOR_INHERITED(txStartElementTransaction, txOutputTransaction);
|
|
}
|
|
nsCOMPtr<nsIAtom> mPrefix;
|
|
nsString mLocalName;
|
|
int32_t mNsID;
|
|
};
|
|
|
|
class txAttributeTransaction : public txOutputTransaction
|
|
{
|
|
public:
|
|
txAttributeTransaction(nsIAtom* aPrefix,
|
|
const nsSubstring& aLocalName, int32_t aNsID,
|
|
const nsString& aValue)
|
|
: txOutputTransaction(eAttributeTransaction),
|
|
mPrefix(aPrefix),
|
|
mLocalName(aLocalName),
|
|
mNsID(aNsID),
|
|
mValue(aValue)
|
|
{
|
|
MOZ_COUNT_CTOR_INHERITED(txAttributeTransaction, txOutputTransaction);
|
|
}
|
|
virtual ~txAttributeTransaction()
|
|
{
|
|
MOZ_COUNT_DTOR_INHERITED(txAttributeTransaction, txOutputTransaction);
|
|
}
|
|
nsCOMPtr<nsIAtom> mPrefix;
|
|
nsString mLocalName;
|
|
int32_t mNsID;
|
|
nsString mValue;
|
|
};
|
|
|
|
class txAttributeAtomTransaction : public txOutputTransaction
|
|
{
|
|
public:
|
|
txAttributeAtomTransaction(nsIAtom* aPrefix, nsIAtom* aLocalName,
|
|
nsIAtom* aLowercaseLocalName,
|
|
int32_t aNsID, const nsString& aValue)
|
|
: txOutputTransaction(eAttributeAtomTransaction),
|
|
mPrefix(aPrefix),
|
|
mLocalName(aLocalName),
|
|
mLowercaseLocalName(aLowercaseLocalName),
|
|
mNsID(aNsID),
|
|
mValue(aValue)
|
|
{
|
|
MOZ_COUNT_CTOR_INHERITED(txAttributeAtomTransaction, txOutputTransaction);
|
|
}
|
|
virtual ~txAttributeAtomTransaction()
|
|
{
|
|
MOZ_COUNT_DTOR_INHERITED(txAttributeAtomTransaction, txOutputTransaction);
|
|
}
|
|
nsCOMPtr<nsIAtom> mPrefix;
|
|
nsCOMPtr<nsIAtom> mLocalName;
|
|
nsCOMPtr<nsIAtom> mLowercaseLocalName;
|
|
int32_t mNsID;
|
|
nsString mValue;
|
|
};
|
|
|
|
txBufferingHandler::txBufferingHandler() : mCanAddAttribute(false)
|
|
{
|
|
MOZ_COUNT_CTOR(txBufferingHandler);
|
|
mBuffer = new txResultBuffer();
|
|
}
|
|
|
|
txBufferingHandler::~txBufferingHandler()
|
|
{
|
|
MOZ_COUNT_DTOR(txBufferingHandler);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::attribute(nsIAtom* aPrefix, nsIAtom* aLocalName,
|
|
nsIAtom* aLowercaseLocalName, int32_t aNsID,
|
|
const nsString& aValue)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
if (!mCanAddAttribute) {
|
|
// XXX ErrorReport: Can't add attributes without element
|
|
return NS_OK;
|
|
}
|
|
|
|
txOutputTransaction* transaction =
|
|
new txAttributeAtomTransaction(aPrefix, aLocalName,
|
|
aLowercaseLocalName, aNsID,
|
|
aValue);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::attribute(nsIAtom* aPrefix, const nsSubstring& aLocalName,
|
|
const int32_t aNsID, const nsString& aValue)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
if (!mCanAddAttribute) {
|
|
// XXX ErrorReport: Can't add attributes without element
|
|
return NS_OK;
|
|
}
|
|
|
|
txOutputTransaction* transaction =
|
|
new txAttributeTransaction(aPrefix, aLocalName, aNsID, aValue);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::characters(const nsSubstring& aData, bool aDOE)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
mCanAddAttribute = false;
|
|
|
|
txOutputTransaction::txTransactionType type =
|
|
aDOE ? txOutputTransaction::eCharacterNoOETransaction
|
|
: txOutputTransaction::eCharacterTransaction;
|
|
|
|
txOutputTransaction* transaction = mBuffer->getLastTransaction();
|
|
if (transaction && transaction->mType == type) {
|
|
mBuffer->mStringValue.Append(aData);
|
|
static_cast<txCharacterTransaction*>(transaction)->mLength +=
|
|
aData.Length();
|
|
return NS_OK;
|
|
}
|
|
|
|
transaction = new txCharacterTransaction(type, aData.Length());
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
mBuffer->mStringValue.Append(aData);
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::comment(const nsString& aData)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
mCanAddAttribute = false;
|
|
|
|
txOutputTransaction* transaction = new txCommentTransaction(aData);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::endDocument(nsresult aResult)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
txOutputTransaction* transaction =
|
|
new txOutputTransaction(txOutputTransaction::eEndDocumentTransaction);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::endElement()
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
mCanAddAttribute = false;
|
|
|
|
txOutputTransaction* transaction =
|
|
new txOutputTransaction(txOutputTransaction::eEndElementTransaction);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::processingInstruction(const nsString& aTarget,
|
|
const nsString& aData)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
mCanAddAttribute = false;
|
|
|
|
txOutputTransaction* transaction =
|
|
new txPITransaction(aTarget, aData);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::startDocument()
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
txOutputTransaction* transaction =
|
|
new txOutputTransaction(txOutputTransaction::eStartDocumentTransaction);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::startElement(nsIAtom* aPrefix, nsIAtom* aLocalName,
|
|
nsIAtom* aLowercaseLocalName,
|
|
int32_t aNsID)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
mCanAddAttribute = true;
|
|
|
|
txOutputTransaction* transaction =
|
|
new txStartElementAtomTransaction(aPrefix, aLocalName,
|
|
aLowercaseLocalName, aNsID);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
nsresult
|
|
txBufferingHandler::startElement(nsIAtom* aPrefix,
|
|
const nsSubstring& aLocalName,
|
|
const int32_t aNsID)
|
|
{
|
|
NS_ENSURE_TRUE(mBuffer, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
mCanAddAttribute = true;
|
|
|
|
txOutputTransaction* transaction =
|
|
new txStartElementTransaction(aPrefix, aLocalName, aNsID);
|
|
NS_ENSURE_TRUE(transaction, NS_ERROR_OUT_OF_MEMORY);
|
|
|
|
return mBuffer->addTransaction(transaction);
|
|
}
|
|
|
|
txResultBuffer::txResultBuffer()
|
|
{
|
|
MOZ_COUNT_CTOR(txResultBuffer);
|
|
}
|
|
|
|
txResultBuffer::~txResultBuffer()
|
|
{
|
|
MOZ_COUNT_DTOR(txResultBuffer);
|
|
for (uint32_t i = 0, len = mTransactions.Length(); i < len; ++i) {
|
|
delete mTransactions[i];
|
|
}
|
|
}
|
|
|
|
nsresult
|
|
txResultBuffer::addTransaction(txOutputTransaction* aTransaction)
|
|
{
|
|
if (mTransactions.AppendElement(aTransaction) == nullptr) {
|
|
return NS_ERROR_OUT_OF_MEMORY;
|
|
}
|
|
return NS_OK;
|
|
}
|
|
|
|
static nsresult
|
|
flushTransaction(txOutputTransaction* aTransaction,
|
|
txAXMLEventHandler* aHandler,
|
|
nsAFlatString::const_char_iterator& aIter)
|
|
{
|
|
switch (aTransaction->mType) {
|
|
case txOutputTransaction::eAttributeAtomTransaction:
|
|
{
|
|
txAttributeAtomTransaction* transaction =
|
|
static_cast<txAttributeAtomTransaction*>(aTransaction);
|
|
return aHandler->attribute(transaction->mPrefix,
|
|
transaction->mLocalName,
|
|
transaction->mLowercaseLocalName,
|
|
transaction->mNsID,
|
|
transaction->mValue);
|
|
}
|
|
case txOutputTransaction::eAttributeTransaction:
|
|
{
|
|
txAttributeTransaction* attrTransaction =
|
|
static_cast<txAttributeTransaction*>(aTransaction);
|
|
return aHandler->attribute(attrTransaction->mPrefix,
|
|
attrTransaction->mLocalName,
|
|
attrTransaction->mNsID,
|
|
attrTransaction->mValue);
|
|
}
|
|
case txOutputTransaction::eCharacterTransaction:
|
|
case txOutputTransaction::eCharacterNoOETransaction:
|
|
{
|
|
txCharacterTransaction* charTransaction =
|
|
static_cast<txCharacterTransaction*>(aTransaction);
|
|
nsAFlatString::const_char_iterator start = aIter;
|
|
nsAFlatString::const_char_iterator end =
|
|
start + charTransaction->mLength;
|
|
aIter = end;
|
|
return aHandler->characters(Substring(start, end),
|
|
aTransaction->mType ==
|
|
txOutputTransaction::eCharacterNoOETransaction);
|
|
}
|
|
case txOutputTransaction::eCommentTransaction:
|
|
{
|
|
txCommentTransaction* commentTransaction =
|
|
static_cast<txCommentTransaction*>(aTransaction);
|
|
return aHandler->comment(commentTransaction->mValue);
|
|
}
|
|
case txOutputTransaction::eEndElementTransaction:
|
|
{
|
|
return aHandler->endElement();
|
|
}
|
|
case txOutputTransaction::ePITransaction:
|
|
{
|
|
txPITransaction* piTransaction =
|
|
static_cast<txPITransaction*>(aTransaction);
|
|
return aHandler->processingInstruction(piTransaction->mTarget,
|
|
piTransaction->mData);
|
|
}
|
|
case txOutputTransaction::eStartDocumentTransaction:
|
|
{
|
|
return aHandler->startDocument();
|
|
}
|
|
case txOutputTransaction::eStartElementAtomTransaction:
|
|
{
|
|
txStartElementAtomTransaction* transaction =
|
|
static_cast<txStartElementAtomTransaction*>(aTransaction);
|
|
return aHandler->startElement(transaction->mPrefix,
|
|
transaction->mLocalName,
|
|
transaction->mLowercaseLocalName,
|
|
transaction->mNsID);
|
|
}
|
|
case txOutputTransaction::eStartElementTransaction:
|
|
{
|
|
txStartElementTransaction* transaction =
|
|
static_cast<txStartElementTransaction*>(aTransaction);
|
|
return aHandler->startElement(transaction->mPrefix,
|
|
transaction->mLocalName,
|
|
transaction->mNsID);
|
|
}
|
|
default:
|
|
{
|
|
NS_NOTREACHED("Unexpected transaction type");
|
|
}
|
|
}
|
|
|
|
return NS_ERROR_UNEXPECTED;
|
|
}
|
|
|
|
nsresult
|
|
txResultBuffer::flushToHandler(txAXMLEventHandler* aHandler)
|
|
{
|
|
nsAFlatString::const_char_iterator iter;
|
|
mStringValue.BeginReading(iter);
|
|
|
|
for (uint32_t i = 0, len = mTransactions.Length(); i < len; ++i) {
|
|
nsresult rv = flushTransaction(mTransactions[i], aHandler, iter);
|
|
NS_ENSURE_SUCCESS(rv, rv);
|
|
}
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
txOutputTransaction*
|
|
txResultBuffer::getLastTransaction()
|
|
{
|
|
int32_t last = mTransactions.Length() - 1;
|
|
if (last < 0) {
|
|
return nullptr;
|
|
}
|
|
return mTransactions[last];
|
|
}
|