diff --git a/content/xslt/src/base/txExpandedNameMap.cpp b/content/xslt/src/base/txExpandedNameMap.cpp index ddd1b801ebde..fcecadc882b5 100644 --- a/content/xslt/src/base/txExpandedNameMap.cpp +++ b/content/xslt/src/base/txExpandedNameMap.cpp @@ -37,7 +37,7 @@ * ***** END LICENSE BLOCK ***** */ #include "txExpandedNameMap.h" -#include "string.h" +#include const int kTxExpandedNameMapAllocSize = 16; diff --git a/content/xslt/src/xml/txXMLParser.cpp b/content/xslt/src/xml/txXMLParser.cpp index c14c80c005fd..5eb2f5be1c22 100644 --- a/content/xslt/src/xml/txXMLParser.cpp +++ b/content/xslt/src/xml/txXMLParser.cpp @@ -89,6 +89,7 @@ txParseDocumentFromURI(const nsAString& aHref, const nsAString& aReferrer, rv = NS_NewChannel(getter_AddRefs(channel), documentURI, nsnull, loadGroup); NS_ENSURE_SUCCESS(rv, rv); + nsCOMPtr http = do_QueryInterface(channel); if (http) { nsCOMPtr refUri; @@ -102,9 +103,11 @@ txParseDocumentFromURI(const nsAString& aHref, const nsAString& aReferrer, } + nsCOMPtr loader = do_GetService("@mozilla.org/content/syncload-dom-service;1", &rv); NS_ENSURE_SUCCESS(rv, rv); + rv = loader->LoadDocumentAsXML(channel, loaderUri, getter_AddRefs(theDocument)); if (NS_FAILED(rv) || !theDocument) { aErrMsg.Append(NS_LITERAL_STRING("Document load of ") + @@ -116,6 +119,7 @@ txParseDocumentFromURI(const nsAString& aHref, const nsAString& aReferrer, if (!*aResult) { return NS_ERROR_FAILURE; } + return NS_OK; #else istream* xslInput = URIUtils::getInputStream(aHref, aErrMsg); diff --git a/content/xslt/src/xml/txXMLUtils.cpp b/content/xslt/src/xml/txXMLUtils.cpp index db3d87f80b56..d8765b50f33c 100644 --- a/content/xslt/src/xml/txXMLUtils.cpp +++ b/content/xslt/src/xml/txXMLUtils.cpp @@ -300,7 +300,8 @@ MBool XMLUtils::getXMLSpacePreserve(Node* aNode) } parent = parent->getParentNode(); } - return MB_FALSE; + + return PR_FALSE; } // macros for inclusion of char range headers diff --git a/content/xslt/src/xpath/Makefile.in b/content/xslt/src/xpath/Makefile.in index 97e1f9741b95..0a91de1e4f0f 100644 --- a/content/xslt/src/xpath/Makefile.in +++ b/content/xslt/src/xpath/Makefile.in @@ -34,12 +34,12 @@ REQUIRES = string \ ifndef TX_EXE REQUIRES += dom \ content \ - necko \ widget \ xpconnect \ js \ unicharutil \ layout \ + necko \ $(NULL) endif @@ -54,7 +54,6 @@ CPPSRCS = AdditiveExpr.cpp \ FunctionCall.cpp \ LocationStep.cpp \ MultiplicativeExpr.cpp \ - NodeSet.cpp \ NodeSetFunctionCall.cpp \ NumberFunctionCall.cpp \ NumberResult.cpp \ @@ -66,6 +65,7 @@ CPPSRCS = AdditiveExpr.cpp \ StringResult.cpp \ txLiteralExpr.cpp \ txNameTest.cpp \ + txNodeSet.cpp \ txNodeTypeTest.cpp \ txForwardContext.cpp \ txNodeSetContext.cpp \ diff --git a/content/xslt/src/xpath/nsXPathExpression.cpp b/content/xslt/src/xpath/nsXPathExpression.cpp index 643b8d1724e1..56824fb0a8a0 100644 --- a/content/xslt/src/xpath/nsXPathExpression.cpp +++ b/content/xslt/src/xpath/nsXPathExpression.cpp @@ -200,7 +200,7 @@ void nsXPathExpression::EvalContextImpl::receiveError(const nsAString& aMsg, Node* nsXPathExpression::EvalContextImpl::getContextNode() { - return mNode; + return mContextNode; } PRUint32 nsXPathExpression::EvalContextImpl::size() diff --git a/content/xslt/src/xpath/nsXPathExpression.h b/content/xslt/src/xpath/nsXPathExpression.h index 87271998a60e..a3121bc7a9ff 100644 --- a/content/xslt/src/xpath/nsXPathExpression.h +++ b/content/xslt/src/xpath/nsXPathExpression.h @@ -71,7 +71,9 @@ private: { public: EvalContextImpl(Node* aContextNode, txResultRecycler* aRecycler) - : mNode(aContextNode), mLastError(NS_OK), mRecycler(aRecycler) + : mContextNode(aContextNode), + mLastError(NS_OK), + mRecycler(aRecycler) { } @@ -85,8 +87,9 @@ private: } TX_DECL_EVAL_CONTEXT; + private: - Node* mNode; + Node* mContextNode; nsresult mLastError; nsRefPtr mRecycler; }; diff --git a/content/xslt/src/xpath/nsXPathResult.cpp b/content/xslt/src/xpath/nsXPathResult.cpp index f0a599aac30b..73ecdbc6d11d 100644 --- a/content/xslt/src/xpath/nsXPathResult.cpp +++ b/content/xslt/src/xpath/nsXPathResult.cpp @@ -40,7 +40,7 @@ #include "nsXPathResult.h" #include "dom.h" #include "ExprResult.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "nsDOMError.h" #include "nsIContent.h" #include "nsIDOMClassInfo.h" @@ -48,16 +48,6 @@ #include "nsXPathException.h" #include "nsIDOMDocument.h" -NS_IMPL_ADDREF(nsXPathResult) -NS_IMPL_RELEASE(nsXPathResult) -NS_INTERFACE_MAP_BEGIN(nsXPathResult) - NS_INTERFACE_MAP_ENTRY(nsIDOMXPathResult) - NS_INTERFACE_MAP_ENTRY(nsIDocumentObserver) - NS_INTERFACE_MAP_ENTRY(nsIXPathResult) - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMXPathResult) - NS_INTERFACE_MAP_ENTRY_EXTERNAL_DOM_CLASSINFO(XPathResult) -NS_INTERFACE_MAP_END - nsXPathResult::nsXPathResult() : mNumberValue(0), mDocument(0), mCurrentPos(0), @@ -71,6 +61,16 @@ nsXPathResult::~nsXPathResult() Reset(); } +NS_IMPL_ADDREF(nsXPathResult) +NS_IMPL_RELEASE(nsXPathResult) +NS_INTERFACE_MAP_BEGIN(nsXPathResult) + NS_INTERFACE_MAP_ENTRY(nsIDOMXPathResult) + NS_INTERFACE_MAP_ENTRY(nsIDocumentObserver) + NS_INTERFACE_MAP_ENTRY(nsIXPathResult) + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMXPathResult) + NS_INTERFACE_MAP_ENTRY_EXTERNAL_DOM_CLASSINFO(XPathResult) +NS_INTERFACE_MAP_END + NS_IMETHODIMP nsXPathResult::GetResultType(PRUint16 *aResultType) { @@ -170,7 +170,7 @@ nsXPathResult::IterateNext(nsIDOMNode **aResult) return NS_ERROR_DOM_INVALID_STATE_ERR; NS_ENSURE_ARG(aResult); - if (mElements && mCurrentPos < mElements->Count()) { + if (mElements && mCurrentPos < (PRUint32)mElements->Count()) { *aResult = mElements->ObjectAt(mCurrentPos++); NS_ADDREF(*aResult); return NS_OK; @@ -187,7 +187,7 @@ nsXPathResult::SnapshotItem(PRUint32 aIndex, nsIDOMNode **aResult) return NS_ERROR_DOM_TYPE_ERR; NS_ENSURE_ARG(aResult); - if (mElements && aIndex < mElements->Count()) { + if (mElements && aIndex < (PRUint32)mElements->Count()) { *aResult = mElements->ObjectAt(aIndex); NS_ADDREF(*aResult); return NS_OK; @@ -288,7 +288,7 @@ nsXPathResult::SetExprResult(txAExprResult* aExprResult, PRUint16 aResultType) if (aExprResult->getResultType() == txAExprResult::NODESET) { nsresult rv = NS_OK; - NodeSet* nodeSet = (NodeSet*)aExprResult; + txNodeSet* nodeSet = NS_STATIC_CAST(txNodeSet*, aExprResult); if (mResultType == FIRST_ORDERED_NODE_TYPE || mResultType == ANY_UNORDERED_NODE_TYPE) { @@ -302,7 +302,7 @@ nsXPathResult::SetExprResult(txAExprResult* aExprResult, PRUint16 aResultType) mInvalidIteratorState = PR_FALSE; } - int count = nodeSet->size(); + PRInt32 count = nodeSet->size(); if (count == 0) return NS_OK; @@ -310,7 +310,7 @@ nsXPathResult::SetExprResult(txAExprResult* aExprResult, PRUint16 aResultType) NS_ENSURE_TRUE(mElements, NS_ERROR_OUT_OF_MEMORY); nsCOMPtr node; - int i; + PRInt32 i; for (i = 0; i < count; ++i) { node = do_QueryInterface(nodeSet->get(i)->getNSObj()); NS_ASSERTION(node, "node isn't an nsIDOMNode"); diff --git a/content/xslt/src/xpath/txBooleanFunctionCall.cpp b/content/xslt/src/xpath/txBooleanFunctionCall.cpp index 20546c8c1fc7..fc577e556d81 100644 --- a/content/xslt/src/xpath/txBooleanFunctionCall.cpp +++ b/content/xslt/src/xpath/txBooleanFunctionCall.cpp @@ -29,9 +29,9 @@ #include "ExprResult.h" #include "FunctionLib.h" +#include "nsReadableUtils.h" #include "txAtoms.h" #include "txIXPathContext.h" -#include "nsReadableUtils.h" #include "txStringUtils.h" /** diff --git a/content/xslt/src/xpath/txExpr.h b/content/xslt/src/xpath/txExpr.h index c5fe93885299..1640fc413745 100644 --- a/content/xslt/src/xpath/txExpr.h +++ b/content/xslt/src/xpath/txExpr.h @@ -49,10 +49,10 @@ Much of this code was ported from XSL:P. */ -class NodeSet; class txIParseContext; class txIMatchContext; class txIEvalContext; +class txNodeSet; /** * A Base Class for all XSL Expressions @@ -167,7 +167,7 @@ protected: * If the result is not a NodeSet an error is returned. */ nsresult evaluateToNodeSet(Expr* aExpr, txIEvalContext* aContext, - NodeSet** aResult); + txNodeSet** aResult); /* * Returns the name of the function as an atom. @@ -305,7 +305,7 @@ public: */ nsresult add(Expr* aExpr); - nsresult evaluatePredicates(NodeSet* aNodes, txIMatchContext* aContext); + nsresult evaluatePredicates(txNodeSet* aNodes, txIMatchContext* aContext); /** * returns true if this predicate list is empty @@ -327,12 +327,10 @@ protected: List predicates; }; //-- PredicateList -class LocationStep : public PredicateList, public Expr { - +class LocationStep : public PredicateList, + public Expr +{ public: - - // Axis Identifier Types - //-- LF changed from static const short to enum enum LocationStepType { ANCESTOR_AXIS = 0, ANCESTOR_OR_SELF_AXIS, @@ -364,17 +362,14 @@ public: TX_DECL_EXPR; private: + void fromDescendants(Node* node, txIMatchContext* aContext, + txNodeSet* nodes); + void fromDescendantsRev(Node* node, txIMatchContext* aContext, + txNodeSet* nodes); nsAutoPtr mNodeTest; LocationStepType mAxisIdentifier; - - void fromDescendants(Node* node, txIMatchContext* aContext, - NodeSet* nodes); - void fromDescendantsRev(Node* node, txIMatchContext* aContext, - NodeSet* nodes); - -}; //-- LocationStep - +}; class FilterExpr : public PredicateList, public Expr { @@ -626,9 +621,8 @@ private: */ nsresult evalDescendants(Expr* aStep, Node* aNode, txIMatchContext* aContext, - NodeSet* resNodes); - -}; //-- PathExpr + txNodeSet* resNodes); +}; /** * This class represents a RootExpr, which only matches the Document node diff --git a/content/xslt/src/xpath/txFilterExpr.cpp b/content/xslt/src/xpath/txFilterExpr.cpp index 86df20bac9c2..b065e7865443 100644 --- a/content/xslt/src/xpath/txFilterExpr.cpp +++ b/content/xslt/src/xpath/txFilterExpr.cpp @@ -26,7 +26,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txIXPathContext.h" //-- Implementation of FilterExpr --/ @@ -55,11 +55,12 @@ FilterExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) NS_ENSURE_TRUE(exprRes->getResultType() == txAExprResult::NODESET, NS_ERROR_XSLT_NODESET_EXPECTED); - nsRefPtr nodes = - NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); + nsRefPtr nodes = + NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); // null out exprRes so that we can test for shared-ness exprRes = nsnull; - nsRefPtr nonShared; + + nsRefPtr nonShared; rv = aContext->recycler()->getNonSharedNodeSet(nodes, getter_AddRefs(nonShared)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/content/xslt/src/xpath/txForwardContext.cpp b/content/xslt/src/xpath/txForwardContext.cpp index 6f51d23dbed1..2c5fe5395f6f 100644 --- a/content/xslt/src/xpath/txForwardContext.cpp +++ b/content/xslt/src/xpath/txForwardContext.cpp @@ -37,11 +37,11 @@ * ***** END LICENSE BLOCK ***** */ #include "txForwardContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" Node* txForwardContext::getContextNode() { - return mContext; + return mContextNode; } PRUint32 txForwardContext::size() @@ -51,9 +51,9 @@ PRUint32 txForwardContext::size() PRUint32 txForwardContext::position() { - int pos = mContextSet->indexOf(mContext); + PRInt32 pos = mContextSet->indexOf(mContextNode); NS_ASSERTION(pos >= 0, "Context is not member of context node list."); - return (PRUint32)(pos+1); + return (PRUint32)(pos + 1); } nsresult txForwardContext::getVariable(PRInt32 aNamespace, nsIAtom* aLName, diff --git a/content/xslt/src/xpath/txForwardContext.h b/content/xslt/src/xpath/txForwardContext.h index 24445af5b325..d86d75c07c73 100644 --- a/content/xslt/src/xpath/txForwardContext.h +++ b/content/xslt/src/xpath/txForwardContext.h @@ -41,15 +41,16 @@ #include "txIXPathContext.h" #include "nsAutoPtr.h" -#include "NodeSet.h" +#include "txNodeSet.h" class txForwardContext : public txIEvalContext { public: txForwardContext(txIMatchContext* aContext, Node* aContextNode, - NodeSet* aContextNodeSet) : mContext(aContextNode), - mContextSet(aContextNodeSet), - mInner(aContext) + txNodeSet* aContextNodeSet) + : mInner(aContext), + mContextNode(aContextNode), + mContextSet(aContextNodeSet) {} ~txForwardContext() {} @@ -57,9 +58,9 @@ public: TX_DECL_EVAL_CONTEXT; private: - Node* mContext; - nsRefPtr mContextSet; txIMatchContext* mInner; + Node* mContextNode; + nsRefPtr mContextSet; }; #endif // __TX_XPATH_CONTEXT diff --git a/content/xslt/src/xpath/txFunctionCall.cpp b/content/xslt/src/xpath/txFunctionCall.cpp index 183061eed9df..75e03227f04c 100644 --- a/content/xslt/src/xpath/txFunctionCall.cpp +++ b/content/xslt/src/xpath/txFunctionCall.cpp @@ -27,7 +27,7 @@ #include "ExprResult.h" #include "nsIAtom.h" #include "txIXPathContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" /** * This class represents a FunctionCall as defined by the XSL Working Draft @@ -117,7 +117,7 @@ MBool FunctionCall::evaluateToBoolean(Expr* aExpr, txIEvalContext* aContext) */ nsresult FunctionCall::evaluateToNodeSet(Expr* aExpr, txIEvalContext* aContext, - NodeSet** aResult) + txNodeSet** aResult) { NS_ASSERTION(aExpr, "Missing expression to evaluate"); *aResult = nsnull; @@ -132,7 +132,7 @@ FunctionCall::evaluateToNodeSet(Expr* aExpr, txIEvalContext* aContext, } *aResult = - NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); + NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); NS_ADDREF(*aResult); return NS_OK; diff --git a/content/xslt/src/xpath/txLocationStep.cpp b/content/xslt/src/xpath/txLocationStep.cpp index cca376585e7f..de771cf7ffd3 100644 --- a/content/xslt/src/xpath/txLocationStep.cpp +++ b/content/xslt/src/xpath/txLocationStep.cpp @@ -28,8 +28,8 @@ */ #include "Expr.h" -#include "NodeSet.h" #include "txIXPathContext.h" +#include "txNodeSet.h" //-----------------------------/ //- Virtual methods from Expr -/ @@ -49,7 +49,7 @@ LocationStep::evaluate(txIEvalContext* aContext, txAExprResult** aResult) NS_ASSERTION(aContext, "internal error"); *aResult = nsnull; - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -187,14 +187,14 @@ LocationStep::evaluate(txIEvalContext* aContext, txAExprResult** aResult) if (reverse) nodes->reverse(); - *aResult = nodes; - NS_ADDREF(*aResult); + NS_ADDREF(*aResult = nodes); return NS_OK; } -void LocationStep::fromDescendants(Node* node, txIMatchContext* cs, - NodeSet* nodes) +void LocationStep::fromDescendants(Node* node, + txIMatchContext* cs, + txNodeSet* nodes) { if (!node) return; @@ -209,11 +209,11 @@ void LocationStep::fromDescendants(Node* node, txIMatchContext* cs, child = child->getNextSibling(); } +} -} //-- fromDescendants - -void LocationStep::fromDescendantsRev(Node* node, txIMatchContext* cs, - NodeSet* nodes) +void LocationStep::fromDescendantsRev(Node* node, + txIMatchContext* cs, + txNodeSet* nodes) { if (!node) return; @@ -229,8 +229,7 @@ void LocationStep::fromDescendantsRev(Node* node, txIMatchContext* cs, child = child->getPreviousSibling(); } - -} //-- fromDescendantsRev +} /** * Creates a String representation of this Expr diff --git a/content/xslt/src/xpath/txNodeSet.cpp b/content/xslt/src/xpath/txNodeSet.cpp index 3def59e5f97d..45e7bc56cc2e 100644 --- a/content/xslt/src/xpath/txNodeSet.cpp +++ b/content/xslt/src/xpath/txNodeSet.cpp @@ -30,7 +30,7 @@ * */ -#include "NodeSet.h" +#include "txNodeSet.h" #include "dom.h" #include "XMLDOMUtils.h" #include @@ -45,7 +45,7 @@ static const int kTxNodeSetGrowFactor = 2; /* * Creates a new empty NodeSet */ -NodeSet::NodeSet(txResultRecycler* aRecycler) +txNodeSet::txNodeSet(txResultRecycler* aRecycler) : txAExprResult(aRecycler), mElements(0), mBufferSize(0), @@ -56,13 +56,13 @@ NodeSet::NodeSet(txResultRecycler* aRecycler) /* * Creates a new NodeSet containing the supplied Node */ -NodeSet::NodeSet(Node* aNode, txResultRecycler* aRecycler) +txNodeSet::txNodeSet(Node* aNode, txResultRecycler* aRecycler) : txAExprResult(aRecycler), mElements(new Node*[1]), mBufferSize(1), mElementCount(1) { - NS_ASSERTION(aNode, "missing node to NodeSet::NodeSet"); + NS_ASSERTION(aNode, "missing node to txNodeSet::txNodeSet"); if (!mElements) { NS_ASSERTION(0, "out of memory"); mBufferSize = 0; @@ -77,7 +77,7 @@ NodeSet::NodeSet(Node* aNode, txResultRecycler* aRecycler) * Creates a new NodeSet, copying the Node references from the source * NodeSet */ -NodeSet::NodeSet(const NodeSet& aSource, txResultRecycler* aRecycler) +txNodeSet::txNodeSet(const txNodeSet& aSource, txResultRecycler* aRecycler) : txAExprResult(aRecycler), mElements(0), mBufferSize(0), @@ -92,9 +92,9 @@ NodeSet::NodeSet(const NodeSet& aSource, txResultRecycler* aRecycler) * @param aNode the Node to add to the NodeSet * @return errorcode. */ -nsresult NodeSet::add(Node* aNode) +nsresult txNodeSet::add(Node* aNode) { - NS_ASSERTION(aNode, "missing node to NodeSet::add"); + NS_ASSERTION(aNode, "missing node to txNodeSet::add"); if (!aNode) return NS_ERROR_NULL_POINTER; @@ -154,9 +154,9 @@ nsresult NodeSet::add(Node* aNode) * We might therefor end up with some blanks in the bigining of the resulting * nodeset, which we simply fix by moving all the nodes one step down. */ -nsresult NodeSet::add(const NodeSet* aNodes) +nsresult txNodeSet::add(const txNodeSet* aNodes) { - NS_ASSERTION(aNodes, "missing nodeset to NodeSet::add"); + NS_ASSERTION(aNodes, "missing nodeset to txNodeSet::add"); if (!aNodes) return NS_ERROR_NULL_POINTER; @@ -269,9 +269,9 @@ nsresult NodeSet::add(const NodeSet* aNodes) * @param aNode the Node to append to the NodeSet * @return true on success. false on failure. */ -nsresult NodeSet::append(Node* aNode) +nsresult txNodeSet::append(Node* aNode) { - NS_ASSERTION(aNode, "missing node to NodeSet::append"); + NS_ASSERTION(aNode, "missing node to txNodeSet::append"); if (!aNode) return NS_ERROR_NULL_POINTER; @@ -288,9 +288,9 @@ nsresult NodeSet::append(Node* aNode) * @param aNodes the NodeSet to append to the NodeSet * @return true on success. false on failure. */ -nsresult NodeSet::append(const NodeSet* aNodes) +nsresult txNodeSet::append(const txNodeSet* aNodes) { - NS_ASSERTION(aNodes, "missing nodeset to NodeSet::append"); + NS_ASSERTION(aNodes, "missing nodeset to txNodeSet::append"); if (!aNodes) return NS_ERROR_NULL_POINTER; @@ -308,7 +308,7 @@ nsresult NodeSet::append(const NodeSet* aNodes) /* * Reverse the order of the nodes. */ -void NodeSet::reverse() +void txNodeSet::reverse() { int i; for (i = 0; i < mElementCount / 2; ++i) { @@ -325,7 +325,7 @@ void NodeSet::reverse() * @param aNode the Node to get the index for * @return index of specified node or -1 if the node does not exist */ -int NodeSet::indexOf(Node* aNode) const +int txNodeSet::indexOf(Node* aNode) const { // XXX this doesn't fully work since attribute-nodes are broken // and can't be pointer-compared. However it's the best we can @@ -343,10 +343,10 @@ int NodeSet::indexOf(Node* aNode) const * @param aIndex the position of the Node to return * @return Node at specified position */ -Node* NodeSet::get(int aIndex) const +Node* txNodeSet::get(int aIndex) const { NS_ASSERTION(aIndex >= 0 && aIndex < mElementCount, - "invalid index in NodeSet::get"); + "invalid index in txNodeSet::get"); if (aIndex < 0 || aIndex >= mElementCount) return 0; @@ -357,7 +357,7 @@ Node* NodeSet::get(int aIndex) const * Returns the type of ExprResult represented * @return the type of ExprResult represented */ -short NodeSet::getResultType() +short txNodeSet::getResultType() { return txAExprResult::NODESET; } @@ -366,7 +366,7 @@ short NodeSet::getResultType() * Converts this ExprResult to a Boolean (MBool) value * @return the Boolean value */ -MBool NodeSet::booleanValue() +MBool txNodeSet::booleanValue() { return mElementCount > 0; } @@ -375,7 +375,7 @@ MBool NodeSet::booleanValue() * Converts this ExprResult to a Number (double) value * @return the Number value */ -double NodeSet::numberValue() +double txNodeSet::numberValue() { nsAutoString str; stringValue(str); @@ -386,14 +386,14 @@ double NodeSet::numberValue() * Creates a String representation of this ExprResult * @param aStr the destination string to append the String representation to. */ -void NodeSet::stringValue(nsAString& aStr) +void txNodeSet::stringValue(nsAString& aStr) { if (mElementCount > 0) XMLDOMUtils::getNodeValue(get(0), aStr); } nsAString* -NodeSet::stringValuePointer() +txNodeSet::stringValuePointer() { return nsnull; } @@ -405,7 +405,7 @@ NodeSet::stringValuePointer() * @param aSize requested number of elements * @return true if allocation succeded, false on out of memory */ -MBool NodeSet::ensureSize(int aSize) +MBool txNodeSet::ensureSize(int aSize) { if (aSize <= mBufferSize) return MB_TRUE; @@ -445,12 +445,12 @@ MBool NodeSet::ensureSize(int aSize) * always >= aFirst and <= aLast + 1. This value is always * set, even if aNode already exists in the NodeSet */ -int NodeSet::findPosition(Node* aNode, int aFirst, +int txNodeSet::findPosition(Node* aNode, int aFirst, int aLast, MBool& aNonDup) const { - NS_ASSERTION(aNode, "missing node in NodeSet::findPosition"); + NS_ASSERTION(aNode, "missing node in txNodeSet::findPosition"); NS_ASSERTION(aFirst <= aLast+1 && aLast < mElementCount, - "bad position in NodeSet::findPosition"); + "bad position in txNodeSet::findPosition"); if (aLast - aFirst <= 1) { // If we search 2 nodes or less there is no point in further divides diff --git a/content/xslt/src/xpath/txNodeSet.h b/content/xslt/src/xpath/txNodeSet.h index 65a46a4c6d6d..494bdcb7175b 100644 --- a/content/xslt/src/xpath/txNodeSet.h +++ b/content/xslt/src/xpath/txNodeSet.h @@ -39,33 +39,33 @@ class Node; -class NodeSet : public txAExprResult +class txNodeSet : public txAExprResult { public: - NodeSet(); // Not to be implemented + txNodeSet(); // Not to be implemented /* * Creates a new empty NodeSet */ - NodeSet(txResultRecycler* aRecycler); + txNodeSet(txResultRecycler* aRecycler); /* * Creates a new NodeSet containing the supplied node */ - NodeSet(Node* aNode, txResultRecycler* aRecycler); + txNodeSet(Node* aNode, txResultRecycler* aRecycler); /* * Creates a new NodeSet, copying the Node references from the source * NodeSet */ - NodeSet(const NodeSet& aSource, txResultRecycler* aRecycler); + txNodeSet(const txNodeSet& aSource, txResultRecycler* aRecycler); /* * Destructor for NodeSet, will not delete referenced Nodes */ - virtual ~NodeSet() + virtual ~txNodeSet() { delete [] mElements; } @@ -85,7 +85,7 @@ public: * @param aNodes the NodeSet to add, must be in document order. * @return errorcode. */ - nsresult add(const NodeSet* aNodes); + nsresult add(const txNodeSet* aNodes); /* * Append API @@ -109,7 +109,7 @@ public: * @param aNodes the NodeSet to append to the NodeSet * @return errorcode. */ - nsresult append(const NodeSet* aNodes); + nsresult append(const txNodeSet* aNodes); /* * Reverse the order of the nodes. diff --git a/content/xslt/src/xpath/txNodeSetContext.cpp b/content/xslt/src/xpath/txNodeSetContext.cpp index 489ab585bba1..87becdf3c26b 100644 --- a/content/xslt/src/xpath/txNodeSetContext.cpp +++ b/content/xslt/src/xpath/txNodeSetContext.cpp @@ -37,7 +37,7 @@ * ***** END LICENSE BLOCK ***** */ #include "txNodeSetContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" Node* txNodeSetContext::getContextNode() { diff --git a/content/xslt/src/xpath/txNodeSetContext.h b/content/xslt/src/xpath/txNodeSetContext.h index 6458976f8e21..dd3767c59f45 100644 --- a/content/xslt/src/xpath/txNodeSetContext.h +++ b/content/xslt/src/xpath/txNodeSetContext.h @@ -40,13 +40,13 @@ #define __TX_XPATH_SET_CONTEXT #include "txIXPathContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "nsAutoPtr.h" class txNodeSetContext : public txIEvalContext { public: - txNodeSetContext(NodeSet* aContextNodeSet, txIMatchContext* aContext) + txNodeSetContext(txNodeSet* aContextNodeSet, txIMatchContext* aContext) : mContextSet(aContextNodeSet), mPosition(0), mInner(aContext) { } @@ -74,7 +74,7 @@ public: TX_DECL_EVAL_CONTEXT; protected: - nsRefPtr mContextSet; + nsRefPtr mContextSet; PRUint32 mPosition; txIMatchContext* mInner; }; diff --git a/content/xslt/src/xpath/txNodeSetFunctionCall.cpp b/content/xslt/src/xpath/txNodeSetFunctionCall.cpp index 781de54121ea..425982b5be8d 100644 --- a/content/xslt/src/xpath/txNodeSetFunctionCall.cpp +++ b/content/xslt/src/xpath/txNodeSetFunctionCall.cpp @@ -33,7 +33,7 @@ */ #include "FunctionLib.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txAtoms.h" #include "txIXPathContext.h" #include "txTokenizer.h" @@ -63,14 +63,14 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) *aResult = nsnull; nsresult rv = NS_OK; txListIterator iter(¶ms); - + switch (mType) { case COUNT: { if (!requireParams(1, 1, aContext)) return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT; - nsRefPtr nodes; + nsRefPtr nodes; rv = evaluateToNodeSet((Expr*)iter.next(), aContext, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -88,7 +88,7 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) getter_AddRefs(exprResult)); NS_ENSURE_SUCCESS(rv, rv); - nsRefPtr resultSet; + nsRefPtr resultSet; rv = aContext->recycler()->getNodeSet(getter_AddRefs(resultSet)); NS_ENSURE_SUCCESS(rv, rv); @@ -100,11 +100,11 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) contextDoc = contextNode->getOwnerDocument(); if (exprResult->getResultType() == txAExprResult::NODESET) { - NodeSet* nodes = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprResult)); - int i; - for (i = 0; i < nodes->size(); i++) { + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult)); + PRInt32 i; + for (i = 0; i < nodes->size(); ++i) { nsAutoString idList; XMLDOMUtils::getNodeValue(nodes->get(i), idList); txTokenizer tokenizer(idList); @@ -145,13 +145,14 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) case NAME: case NAMESPACE_URI: { - if (!requireParams(0, 1, aContext)) + if (!requireParams(0, 1, aContext)) { return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT; + } Node* node = 0; // Check for optional arg if (iter.hasNext()) { - nsRefPtr nodes; + nsRefPtr nodes; rv = evaluateToNodeSet((Expr*)iter.next(), aContext, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/content/xslt/src/xpath/txNumberFunctionCall.cpp b/content/xslt/src/xpath/txNumberFunctionCall.cpp index 84d238b9a9ce..7b824ca2d336 100644 --- a/content/xslt/src/xpath/txNumberFunctionCall.cpp +++ b/content/xslt/src/xpath/txNumberFunctionCall.cpp @@ -35,7 +35,7 @@ #include "FunctionLib.h" #include -#include "NodeSet.h" +#include "txNodeSet.h" #include "txAtoms.h" #include "txIXPathContext.h" #include "XMLDOMUtils.h" @@ -112,14 +112,14 @@ NumberFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) } case SUM: { - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = evaluateToNodeSet((Expr*)iter.next(), aContext, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); double res = 0; - int i; - for (i = 0; i < nodes->size(); i++) { + PRInt32 i; + for (i = 0; i < nodes->size(); ++i) { nsAutoString resultStr; XMLDOMUtils::getNodeValue(nodes->get(i), resultStr); res += Double::toDouble(resultStr); diff --git a/content/xslt/src/xpath/txPathExpr.cpp b/content/xslt/src/xpath/txPathExpr.cpp index 3673e2ec1127..41827cd4a4ab 100644 --- a/content/xslt/src/xpath/txPathExpr.cpp +++ b/content/xslt/src/xpath/txPathExpr.cpp @@ -32,7 +32,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txNodeSetContext.h" #include "txSingleNodeContext.h" #include "XMLUtils.h" @@ -97,7 +97,7 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) { *aResult = nsnull; - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(aContext->getContextNode(), getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -105,13 +105,13 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) txListIterator iter(&expressions); PathExprItem* pxi; while ((pxi = (PathExprItem*)iter.next())) { - nsRefPtr tmpNodes; + nsRefPtr tmpNodes; txNodeSetContext eContext(nodes, aContext); while (eContext.hasNext()) { eContext.next(); Node* node = eContext.getContextNode(); - nsRefPtr resNodes; + nsRefPtr resNodes; if (pxi->pathOp == DESCENDANT_OP) { rv = aContext->recycler()->getNodeSet(getter_AddRefs(resNodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -128,14 +128,14 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) //XXX ErrorReport: report nonnodeset error return NS_ERROR_XSLT_NODESET_EXPECTED; } - resNodes = NS_STATIC_CAST(NodeSet*, + resNodes = NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, res)); } if (tmpNodes) { if (!resNodes->isEmpty()) { - nsRefPtr oldSet; + nsRefPtr oldSet; oldSet.swap(tmpNodes); rv = aContext->recycler()-> getNonSharedNodeSet(oldSet, getter_AddRefs(tmpNodes)); @@ -166,7 +166,7 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) **/ nsresult PathExpr::evalDescendants(Expr* aStep, Node* aNode, txIMatchContext* aContext, - NodeSet* resNodes) + txNodeSet* resNodes) { txSingleNodeContext eContext(aNode, aContext); nsRefPtr res; @@ -177,8 +177,8 @@ PathExpr::evalDescendants(Expr* aStep, Node* aNode, txIMatchContext* aContext, //XXX ErrorReport: report nonnodeset error return NS_ERROR_XSLT_NODESET_EXPECTED; } - resNodes->add(NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, - res))); + resNodes->add(NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, + res))); MBool filterWS = aContext->isStripSpaceAllowed(aNode); diff --git a/content/xslt/src/xpath/txPredicateList.cpp b/content/xslt/src/xpath/txPredicateList.cpp index ec456d24dde2..84db54d59823 100644 --- a/content/xslt/src/xpath/txPredicateList.cpp +++ b/content/xslt/src/xpath/txPredicateList.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txNodeSetContext.h" /* @@ -63,11 +63,11 @@ PredicateList::add(Expr* aExpr) } // add nsresult -PredicateList::evaluatePredicates(NodeSet* nodes, +PredicateList::evaluatePredicates(txNodeSet* nodes, txIMatchContext* aContext) { NS_ASSERTION(nodes, "called evaluatePredicates with NULL NodeSet"); - nsRefPtr newNodes; + nsRefPtr newNodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(newNodes)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/content/xslt/src/xpath/txRelationalExpr.cpp b/content/xslt/src/xpath/txRelationalExpr.cpp index dd819b84dff2..0d905fc3d2c0 100644 --- a/content/xslt/src/xpath/txRelationalExpr.cpp +++ b/content/xslt/src/xpath/txRelationalExpr.cpp @@ -28,7 +28,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "XMLDOMUtils.h" #include "txIXPathContext.h" @@ -50,16 +50,15 @@ RelationalExpr::compareResults(txIEvalContext* aContext, txAExprResult* aLeft, return compareResults(aContext, &leftBool, aRight); } - NodeSet* nodeSet = NS_STATIC_CAST(NodeSet*, aLeft); + txNodeSet* nodeSet = NS_STATIC_CAST(txNodeSet*, aLeft); nsRefPtr strResult; rv = aContext->recycler()->getStringResult(getter_AddRefs(strResult)); NS_ENSURE_SUCCESS(rv, rv); - int i; + PRInt32 i; for (i = 0; i < nodeSet->size(); ++i) { - Node* node = nodeSet->get(i); strResult->mValue.Truncate(); - XMLDOMUtils::getNodeValue(node, strResult->mValue); + XMLDOMUtils::getNodeValue(nodeSet->get(i), strResult->mValue); if (compareResults(aContext, strResult, aRight)) { return PR_TRUE; } @@ -75,16 +74,15 @@ RelationalExpr::compareResults(txIEvalContext* aContext, txAExprResult* aLeft, return compareResults(aContext, aLeft, &rightBool); } - NodeSet* nodeSet = NS_STATIC_CAST(NodeSet*, aRight); + txNodeSet* nodeSet = NS_STATIC_CAST(txNodeSet*, aRight); nsRefPtr strResult; rv = aContext->recycler()->getStringResult(getter_AddRefs(strResult)); NS_ENSURE_SUCCESS(rv, rv); - int i; + PRInt32 i; for (i = 0; i < nodeSet->size(); ++i) { - Node* node = nodeSet->get(i); strResult->mValue.Truncate(); - XMLDOMUtils::getNodeValue(node, strResult->mValue); + XMLDOMUtils::getNodeValue(nodeSet->get(i), strResult->mValue); if (compareResults(aContext, aLeft, strResult)) { return PR_TRUE; } @@ -167,7 +165,7 @@ RelationalExpr::compareResults(txIEvalContext* aContext, txAExprResult* aLeft, return leftDbl >= rightDbl; } - NS_NOTREACHED("We should have cought all cases"); + NS_NOTREACHED("We should have caught all cases"); return PR_FALSE; } diff --git a/content/xslt/src/xpath/txResultRecycler.cpp b/content/xslt/src/xpath/txResultRecycler.cpp index 4f09ee877caa..0d2322c591c1 100644 --- a/content/xslt/src/xpath/txResultRecycler.cpp +++ b/content/xslt/src/xpath/txResultRecycler.cpp @@ -38,7 +38,7 @@ #include "txResultRecycler.h" #include "ExprResult.h" -#include "NodeSet.h" +#include "txNodeSet.h" txResultRecycler::txResultRecycler() : mEmptyStringResult(nsnull), @@ -55,7 +55,7 @@ txResultRecycler::~txResultRecycler() } txStackIterator nodesetIter(&mNodeSetResults); while (nodesetIter.hasNext()) { - delete NS_STATIC_CAST(NodeSet*, nodesetIter.next()); + delete NS_STATIC_CAST(txNodeSet*, nodesetIter.next()); } txStackIterator numberIter(&mNumberResults); while (numberIter.hasNext()) { @@ -111,7 +111,7 @@ txResultRecycler::recycle(txAExprResult* aResult) } case txAExprResult::NODESET: { - rv = mNodeSetResults.push(NS_STATIC_CAST(NodeSet*, aResult)); + rv = mNodeSetResults.push(NS_STATIC_CAST(txNodeSet*, aResult)); if (NS_FAILED(rv)) { delete aResult; } @@ -177,14 +177,14 @@ txResultRecycler::getEmptyStringResult(txAExprResult** aResult) } nsresult -txResultRecycler::getNodeSet(NodeSet** aResult) +txResultRecycler::getNodeSet(txNodeSet** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(this); + *aResult = new txNodeSet(this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - *aResult = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + *aResult = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); (*aResult)->clear(); (*aResult)->mRecycler = this; } @@ -194,14 +194,14 @@ txResultRecycler::getNodeSet(NodeSet** aResult) } nsresult -txResultRecycler::getNodeSet(NodeSet* aNodeSet, NodeSet** aResult) +txResultRecycler::getNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(*aNodeSet, this); + *aResult = new txNodeSet(*aNodeSet, this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - *aResult = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + *aResult = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); (*aResult)->clear(); (*aResult)->append(aNodeSet); (*aResult)->mRecycler = this; @@ -215,11 +215,11 @@ nsresult txResultRecycler::getNodeSet(Node* aNode, txAExprResult** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(aNode, this); + *aResult = new txNodeSet(aNode, this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - NodeSet* nodes = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); nodes->clear(); nodes->append(aNode); nodes->mRecycler = this; @@ -231,14 +231,14 @@ txResultRecycler::getNodeSet(Node* aNode, txAExprResult** aResult) } nsresult -txResultRecycler::getNodeSet(Node* aNode, NodeSet** aResult) +txResultRecycler::getNodeSet(Node* aNode, txNodeSet** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(aNode, this); + *aResult = new txNodeSet(aNode, this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - *aResult = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + *aResult = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); (*aResult)->clear(); (*aResult)->append(aNode); (*aResult)->mRecycler = this; @@ -275,7 +275,7 @@ txResultRecycler::getBoolResult(PRBool aValue, txAExprResult** aResult) } nsresult -txResultRecycler::getNonSharedNodeSet(NodeSet* aNodeSet, NodeSet** aResult) +txResultRecycler::getNonSharedNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult) { if (aNodeSet->mRefCnt > 1) { return getNodeSet(aNodeSet, aResult); diff --git a/content/xslt/src/xpath/txResultRecycler.h b/content/xslt/src/xpath/txResultRecycler.h index f2e82cfedff9..01cbaebc981a 100644 --- a/content/xslt/src/xpath/txResultRecycler.h +++ b/content/xslt/src/xpath/txResultRecycler.h @@ -44,7 +44,7 @@ class txAExprResult; class StringResult; -class NodeSet; +class txNodeSet; class Node; class NumberResult; class BooleanResult; @@ -80,10 +80,10 @@ public: */ nsresult getStringResult(StringResult** aResult); nsresult getStringResult(const nsAString& aValue, txAExprResult** aResult); - nsresult getNodeSet(NodeSet** aResult); - nsresult getNodeSet(NodeSet* aNodeSet, NodeSet** aResult); + nsresult getNodeSet(txNodeSet** aResult); + nsresult getNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult); nsresult getNodeSet(Node* aNode, txAExprResult** aResult); - nsresult getNodeSet(Node* aNode, NodeSet** aResult); + nsresult getNodeSet(Node* aNode, txNodeSet** aResult); nsresult getNumberResult(double aValue, txAExprResult** aResult); /** @@ -96,7 +96,7 @@ public: /** * Functions that return non-shared resultsobjects */ - nsresult getNonSharedNodeSet(NodeSet* aNodeSet, NodeSet** aResult); + nsresult getNonSharedNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult); private: nsAutoRefCnt mRefCnt; diff --git a/content/xslt/src/xpath/txRootExpr.cpp b/content/xslt/src/xpath/txRootExpr.cpp index a211beb5a4ca..e4c62451c0a0 100644 --- a/content/xslt/src/xpath/txRootExpr.cpp +++ b/content/xslt/src/xpath/txRootExpr.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txIXPathContext.h" /** diff --git a/content/xslt/src/xpath/txSingleNodeContext.h b/content/xslt/src/xpath/txSingleNodeContext.h index 8ad834271d3e..b56976398f8a 100644 --- a/content/xslt/src/xpath/txSingleNodeContext.h +++ b/content/xslt/src/xpath/txSingleNodeContext.h @@ -45,7 +45,8 @@ class txSingleNodeContext : public txIEvalContext { public: txSingleNodeContext(Node* aContextNode, txIMatchContext* aContext) - : mNode(aContextNode), mInner(aContext) + : mNode(aContextNode), + mInner(aContext) { NS_ASSERTION(aContextNode, "context node must be given"); NS_ASSERTION(aContext, "txIMatchContext must be given"); diff --git a/content/xslt/src/xpath/txStringFunctionCall.cpp b/content/xslt/src/xpath/txStringFunctionCall.cpp index 28fb55f91aa9..dc8eeee3a811 100644 --- a/content/xslt/src/xpath/txStringFunctionCall.cpp +++ b/content/xslt/src/xpath/txStringFunctionCall.cpp @@ -278,12 +278,13 @@ StringFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) if (!requireParams(3, 3, aContext)) return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT; + nsAutoString src; + evaluateToString((Expr*)iter.next(), aContext, src); + nsRefPtr strRes; rv = aContext->recycler()->getStringResult(getter_AddRefs(strRes)); NS_ENSURE_SUCCESS(rv, rv); - nsAutoString src; - evaluateToString((Expr*)iter.next(), aContext, src); strRes->mValue.SetCapacity(src.Length()); nsAutoString oldChars, newChars; evaluateToString((Expr*)iter.next(), aContext, oldChars); diff --git a/content/xslt/src/xpath/txUnionExpr.cpp b/content/xslt/src/xpath/txUnionExpr.cpp index 667b8700a2ad..7e712acd927c 100644 --- a/content/xslt/src/xpath/txUnionExpr.cpp +++ b/content/xslt/src/xpath/txUnionExpr.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txIXPathContext.h" //-------------/ @@ -78,7 +78,7 @@ nsresult UnionExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) { *aResult = nsnull; - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -93,8 +93,8 @@ UnionExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) //XXX ErrorReport: report nonnodeset error return NS_ERROR_XSLT_NODESET_EXPECTED; } - rv = nodes->add(NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, - exprResult))); + rv = nodes->add(NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, + exprResult))); NS_ENSURE_SUCCESS(rv, rv); } diff --git a/content/xslt/src/xpath/txVariableRefExpr.cpp b/content/xslt/src/xpath/txVariableRefExpr.cpp index 828f9da19745..3ccbacabb7e4 100644 --- a/content/xslt/src/xpath/txVariableRefExpr.cpp +++ b/content/xslt/src/xpath/txVariableRefExpr.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txAtoms.h" #include "txIXPathContext.h" diff --git a/content/xslt/src/xslt/txDocumentFunctionCall.cpp b/content/xslt/src/xslt/txDocumentFunctionCall.cpp index 17c26a59b94a..d93a5deb8ee1 100644 --- a/content/xslt/src/xslt/txDocumentFunctionCall.cpp +++ b/content/xslt/src/xslt/txDocumentFunctionCall.cpp @@ -65,7 +65,7 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, txExecutionState* es = NS_STATIC_CAST(txExecutionState*, aContext->getPrivateContext()); - nsRefPtr nodeSet; + nsRefPtr nodeSet; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodeSet)); NS_ENSURE_SUCCESS(rv, rv); @@ -86,7 +86,7 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, if (iter.hasNext()) { // We have 2 arguments, get baseURI from the first node // in the resulting nodeset - nsRefPtr nodeSet2; + nsRefPtr nodeSet2; rv = evaluateToNodeSet(NS_STATIC_CAST(Expr*, iter.next()), aContext, getter_AddRefs(nodeSet2)); NS_ENSURE_SUCCESS(rv, rv); @@ -103,11 +103,11 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, if (exprResult1->getResultType() == txAExprResult::NODESET) { // The first argument is a NodeSet, iterate on its nodes - NodeSet* nodeSet1 = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprResult1)); - int i; - for (i = 0; i < nodeSet1->size(); i++) { + txNodeSet* nodeSet1 = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult1)); + PRInt32 i; + for (i = 0; i < nodeSet1->size(); ++i) { Node* node = nodeSet1->get(i); nsAutoString uriStr; XMLDOMUtils::getNodeValue(node, uriStr); @@ -121,20 +121,22 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, nodeSet->add(loadNode); } } - } - else { - // The first argument is not a NodeSet - nsAutoString uriStr; - exprResult1->stringValue(uriStr); - nsAString* base = baseURISet ? &baseURI : &mBaseURI; - Node* loadNode = es->retrieveDocument(uriStr, *base); - if (loadNode) { - nodeSet->add(loadNode); - } + + NS_ADDREF(*aResult = nodeSet); + + return NS_OK; } - *aResult = nodeSet; - NS_ADDREF(*aResult); + // The first argument is not a NodeSet + nsAutoString uriStr; + exprResult1->stringValue(uriStr); + nsAString* base = baseURISet ? &baseURI : &mBaseURI; + Node* loadNode = es->retrieveDocument(uriStr, *base); + if (loadNode) { + nodeSet->add(loadNode); + } + + NS_ADDREF(*aResult = nodeSet); return NS_OK; } diff --git a/content/xslt/src/xslt/txElementAvailableFnCall.cpp b/content/xslt/src/xslt/txElementAvailableFnCall.cpp index 2037dadc3cef..b59747600c29 100644 --- a/content/xslt/src/xslt/txElementAvailableFnCall.cpp +++ b/content/xslt/src/xslt/txElementAvailableFnCall.cpp @@ -75,8 +75,6 @@ ElementAvailableFunctionCall::evaluate(txIEvalContext* aContext, return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT; } - - txListIterator iter(¶ms); Expr* param = (Expr*) iter.next(); diff --git a/content/xslt/src/xslt/txExecutionState.cpp b/content/xslt/src/xslt/txExecutionState.cpp index 3856838e9c30..fcaf2c559a74 100644 --- a/content/xslt/src/xslt/txExecutionState.cpp +++ b/content/xslt/src/xslt/txExecutionState.cpp @@ -521,15 +521,16 @@ txExecutionState::retrieveDocument(const nsAString& uri, if (NS_FAILED(rv) || !xmlDoc) { receiveError(NS_LITERAL_STRING("Couldn't load document '") + docUrl + NS_LITERAL_STRING("': ") + errMsg, rv); - return NULL; + return nsnull; } // add to list of documents mLoadedDocuments.Add(xmlDoc); } // return element with supplied id if supplied - if (!frag.IsEmpty()) + if (!frag.IsEmpty()) { return xmlDoc->getElementById(frag); + } return xmlDoc; } @@ -539,7 +540,7 @@ txExecutionState::getKeyNodes(const txExpandedName& aKeyName, Document* aDocument, const nsAString& aKeyValue, PRBool aIndexIfNotFound, - NodeSet** aResult) + txNodeSet** aResult) { return mKeyHash.getKeyNodes(aKeyName, aDocument, aKeyValue, aIndexIfNotFound, *this, aResult); diff --git a/content/xslt/src/xslt/txExecutionState.h b/content/xslt/src/xslt/txExecutionState.h index 147e2acba342..97a27594b601 100644 --- a/content/xslt/src/xslt/txExecutionState.h +++ b/content/xslt/src/xslt/txExecutionState.h @@ -55,8 +55,8 @@ class txInstruction; class txIOutputHandlerFactory; class txExpandedNameMap; - -class txLoadedDocumentEntry : public PLDHashStringEntry { +class txLoadedDocumentEntry : public PLDHashStringEntry +{ public: txLoadedDocumentEntry(const void* aKey) : PLDHashStringEntry(aKey) { @@ -126,7 +126,7 @@ public: Node* retrieveDocument(const nsAString& uri, const nsAString& baseUri); nsresult getKeyNodes(const txExpandedName& aKeyName, Document* aDocument, const nsAString& aKeyValue, PRBool aIndexIfNotFound, - NodeSet** aResult); + txNodeSet** aResult); TemplateRule* getCurrentTemplateRule(); // state-modification functions diff --git a/content/xslt/src/xslt/txInstructions.cpp b/content/xslt/src/xslt/txInstructions.cpp index 01840f558c56..cc70f4c7b475 100644 --- a/content/xslt/src/xslt/txInstructions.cpp +++ b/content/xslt/src/xslt/txInstructions.cpp @@ -434,13 +434,12 @@ txCopyOf::execute(txExecutionState& aEs) switch (exprRes->getResultType()) { case txAExprResult::NODESET: { - NodeSet* nodes = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprRes)); - int i; + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprRes)); + PRInt32 i; for (i = 0; i < nodes->size(); ++i) { - Node* node = nodes->get(i); - rv = copyNode(node, aEs); + rv = copyNode(nodes->get(i), aEs); NS_ENSURE_SUCCESS(rv, rv); } break; @@ -702,8 +701,9 @@ txPushNewContext::execute(txExecutionState& aEs) return NS_ERROR_XSLT_NODESET_EXPECTED; } - NodeSet* nodes = - NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprRes)); if (nodes->isEmpty()) { aEs.gotoInstruction(mBailTarget); @@ -721,7 +721,7 @@ txPushNewContext::execute(txExecutionState& aEs) aEs.getEvalContext()); NS_ENSURE_SUCCESS(rv, rv); } - nsRefPtr sortedNodes; + nsRefPtr sortedNodes; rv = sorter.sortNodeSet(nodes, &aEs, getter_AddRefs(sortedNodes)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/content/xslt/src/xslt/txKeyFunctionCall.cpp b/content/xslt/src/xslt/txKeyFunctionCall.cpp index 02835141cf1b..46b9f5a8d2b1 100644 --- a/content/xslt/src/xslt/txKeyFunctionCall.cpp +++ b/content/xslt/src/xslt/txKeyFunctionCall.cpp @@ -77,20 +77,21 @@ txKeyFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) else contextDoc = contextNode->getOwnerDocument(); - nsRefPtr res; - NodeSet* nodeSet; + nsRefPtr res; + txNodeSet* nodeSet; if (exprResult->getResultType() == txAExprResult::NODESET && - (nodeSet = NS_STATIC_CAST(NodeSet*, + (nodeSet = NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, exprResult)))->size() > 1) { rv = aContext->recycler()->getNodeSet(getter_AddRefs(res)); NS_ENSURE_SUCCESS(rv, rv); - int i; + PRInt32 i; for (i = 0; i < nodeSet->size(); ++i) { nsAutoString val; XMLDOMUtils::getNodeValue(nodeSet->get(i), val); - nsRefPtr nodes; + + nsRefPtr nodes; rv = es->getKeyNodes(keyName, contextDoc, val, i == 0, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -192,7 +193,7 @@ txKeyHash::getKeyNodes(const txExpandedName& aKeyName, const nsAString& aKeyValue, PRBool aIndexIfNotFound, txExecutionState& aEs, - NodeSet** aResult) + txNodeSet** aResult) { NS_ENSURE_TRUE(mKeyValues.mHashTable.ops && mIndexedKeys.mHashTable.ops, NS_ERROR_OUT_OF_MEMORY); @@ -203,6 +204,7 @@ txKeyHash::getKeyNodes(const txExpandedName& aKeyName, if (valueEntry) { *aResult = valueEntry->mNodeSet; NS_ADDREF(*aResult); + return NS_OK; } @@ -215,6 +217,7 @@ txKeyHash::getKeyNodes(const txExpandedName& aKeyName, // indexed, so don't bother investigating. *aResult = mEmptyNodeSet; NS_ADDREF(*aResult); + return NS_OK; } @@ -265,7 +268,7 @@ txKeyHash::init() rv = mIndexedKeys.Init(1); NS_ENSURE_SUCCESS(rv, rv); - mEmptyNodeSet = new NodeSet(nsnull); + mEmptyNodeSet = new txNodeSet(nsnull); NS_ENSURE_TRUE(mEmptyNodeSet, NS_ERROR_OUT_OF_MEMORY); return NS_OK; @@ -366,18 +369,19 @@ nsresult txXSLKey::indexTree(Node* aNode, txKeyValueHashKey& aKey, * @param aKeyValueHash Hash to add values to * @param aEs txExecutionState to use for XPath evaluation */ -nsresult txXSLKey::testNode(Node* aNode, txKeyValueHashKey& aKey, - txKeyValueHash& aKeyValueHash, txExecutionState& aEs) +nsresult txXSLKey::testNode(Node* aNode, + txKeyValueHashKey& aKey, + txKeyValueHash& aKeyValueHash, + txExecutionState& aEs) { - nsresult rv = NS_OK; nsAutoString val; txListIterator iter(&mKeys); while (iter.hasNext()) { - Key* key=(Key*)iter.next(); + Key* key = (Key*)iter.next(); if (key->matchPattern->matches(aNode, &aEs)) { txSingleNodeContext evalContext(aNode, &aEs); - rv = aEs.pushEvalContext(&evalContext); + nsresult rv = aEs.pushEvalContext(&evalContext); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr exprResult; @@ -388,9 +392,9 @@ nsresult txXSLKey::testNode(Node* aNode, txKeyValueHashKey& aKey, aEs.popEvalContext(); if (exprResult->getResultType() == txAExprResult::NODESET) { - NodeSet* res = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprResult)); + txNodeSet* res = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult)); for (int i=0; isize(); i++) { val.Truncate(); XMLDOMUtils::getNodeValue(res->get(i), val); diff --git a/content/xslt/src/xslt/txStylesheet.cpp b/content/xslt/src/xslt/txStylesheet.cpp index 74b227740d08..387f3d098d43 100644 --- a/content/xslt/src/xslt/txStylesheet.cpp +++ b/content/xslt/src/xslt/txStylesheet.cpp @@ -191,11 +191,10 @@ txStylesheet::findTemplate(Node* aNode, } #ifdef PR_LOGGING - nsAutoString mode; + nsAutoString mode, nodeName; if (aMode.mLocalName) { aMode.mLocalName->ToString(mode); } - nsAutoString nodeName; aNode->getNodeName(nodeName); if (matchTemplate) { nsAutoString matchAttr; @@ -218,18 +217,22 @@ txStylesheet::findTemplate(Node* aNode, switch(aNode->getNodeType()) { case Node::ELEMENT_NODE : case Node::DOCUMENT_NODE : + { matchTemplate = mContainerTemplate; break; - + } case Node::ATTRIBUTE_NODE : case Node::TEXT_NODE : case Node::CDATA_SECTION_NODE : + { matchTemplate = mCharactersTemplate; break; - + } default: + { matchTemplate = mEmptyTemplate; break; + } } } @@ -277,7 +280,7 @@ txStylesheet::isStripSpaceAllowed(Node* aNode, txIMatchContext* aContext) { PRInt32 frameCount = mStripSpaceTests.Count(); if (!aNode || frameCount == 0) { - return MB_FALSE; + return PR_FALSE; } switch (aNode->getNodeType()) { @@ -306,7 +309,8 @@ txStylesheet::isStripSpaceAllowed(Node* aNode, txIMatchContext* aContext) return isStripSpaceAllowed(aNode->getParentNode(), aContext); } } - return MB_FALSE; + + return PR_FALSE; } nsresult diff --git a/content/xslt/src/xslt/txXSLTNumber.cpp b/content/xslt/src/xslt/txXSLTNumber.cpp index 87940361a7d4..4bdb8b1b515b 100644 --- a/content/xslt/src/xslt/txXSLTNumber.cpp +++ b/content/xslt/src/xslt/txXSLTNumber.cpp @@ -272,6 +272,7 @@ txXSLTNumber::getValueList(Expr* aValueExpr, txPattern* aCountPattern, Node* node = currNode; PRInt32 value = 0; MBool matchedFrom = MB_FALSE; + while (node) { if (aFromPattern && node != currNode && aFromPattern->matches(node, aContext)) { @@ -314,7 +315,7 @@ txXSLTNumber::getCounters(Expr* aGroupSize, Expr* aGroupSeparator, { aHead.Truncate(); aTail.Truncate(); - + nsresult rv = NS_OK; nsAutoString groupSeparator; @@ -323,7 +324,7 @@ txXSLTNumber::getCounters(Expr* aGroupSize, Expr* aGroupSeparator, nsRefPtr exprRes; rv = aGroupSize->evaluate(aContext, getter_AddRefs(exprRes)); NS_ENSURE_SUCCESS(rv, rv); - + nsAutoString sizeStr; exprRes->stringValue(sizeStr); @@ -332,7 +333,7 @@ txXSLTNumber::getCounters(Expr* aGroupSize, Expr* aGroupSeparator, if ((double)groupSize != size) { groupSize = 0; } - + rv = aGroupSeparator->evaluate(aContext, getter_AddRefs(exprRes)); NS_ENSURE_SUCCESS(rv, rv); @@ -344,27 +345,27 @@ txXSLTNumber::getCounters(Expr* aGroupSize, Expr* aGroupSeparator, nsRefPtr formatRes; rv = aFormat->evaluate(aContext, getter_AddRefs(formatRes)); NS_ENSURE_SUCCESS(rv, rv); - + formatRes->stringValue(format); } PRUint32 formatLen = format.Length(); PRUint32 formatPos = 0; PRUnichar ch = 0; - + // start with header while (formatPos < formatLen && !isAlphaNumeric(ch = format.CharAt(formatPos))) { aHead.Append(ch); ++formatPos; } - + // If there are no formatting tokens we need to create a default one. if (formatPos == formatLen) { txFormattedCounter* defaultCounter; rv = txFormattedCounter::getCounterFor(NS_LITERAL_STRING("1"), groupSize, groupSeparator, defaultCounter); NS_ENSURE_SUCCESS(rv, rv); - + defaultCounter->mSeparator = NS_LITERAL_STRING("."); rv = aCounters.add(defaultCounter); if (NS_FAILED(rv)) { @@ -453,7 +454,6 @@ txXSLTNumber::getSiblingCount(Node* aNode, txPattern* aCountPattern, return value; } - Node* txXSLTNumber::getPrevInDocumentOrder(Node* aNode) { @@ -469,7 +469,6 @@ txXSLTNumber::getPrevInDocumentOrder(Node* aNode) return aNode->getXPathParent(); } - #define TX_CHAR_RANGE(ch, a, b) if (ch < a) return MB_FALSE; \ if (ch <= b) return MB_TRUE #define TX_MATCH_CHAR(ch, a) if (ch < a) return MB_FALSE; \ diff --git a/content/xslt/src/xslt/txXSLTPatterns.cpp b/content/xslt/src/xslt/txXSLTPatterns.cpp index 7b89d6388e49..3d2fe186b7f6 100644 --- a/content/xslt/src/xslt/txXSLTPatterns.cpp +++ b/content/xslt/src/xslt/txXSLTPatterns.cpp @@ -413,7 +413,7 @@ MBool txKeyPattern::matches(Node* aNode, txIMatchContext* aContext) contextDoc = (Document*)aNode; else contextDoc = aNode->getOwnerDocument(); - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = es->getKeyNodes(mName, contextDoc, mValue, PR_TRUE, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, PR_FALSE); @@ -493,7 +493,7 @@ MBool txStepPattern::matches(Node* aNode, txIMatchContext* aContext) */ // Create the context node set for evaluating the predicates - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -520,7 +520,7 @@ MBool txStepPattern::matches(Node* aNode, txIMatchContext* aContext) txListIterator iter(&predicates); Expr* predicate = (Expr*)iter.next(); - nsRefPtr newNodes; + nsRefPtr newNodes; rv = aContext->recycler()->getNodeSet(getter_AddRefs(newNodes)); NS_ENSURE_SUCCESS(rv, rv);