Bug 1029104 - Convert XPathExpression to WebIDL bindings, remove txResultRecycler::init. r=bz.

--HG--
extra : rebase_source : 156d0c9c4da5c7ef1aedce24f8aaa81111623d32
This commit is contained in:
Peter Van der Beken 2014-06-05 15:14:56 +02:00
parent dfa58aaf91
commit 21ffb670ae
6 changed files with 7 additions and 55 deletions

View File

@ -110,13 +110,7 @@ XPathEvaluator::CreateExpression(const nsAString & aExpression,
{
nsresult rv;
if (!mRecycler) {
nsRefPtr<txResultRecycler> recycler = new txResultRecycler;
NS_ENSURE_TRUE(recycler, NS_ERROR_OUT_OF_MEMORY);
rv = recycler->init();
NS_ENSURE_SUCCESS(rv, rv);
mRecycler = recycler;
mRecycler = new txResultRecycler;
}
nsCOMPtr<nsIDocument> doc = do_QueryReferent(mDocument);

View File

@ -8,9 +8,9 @@
#include "txNodeSet.h"
txResultRecycler::txResultRecycler()
: mEmptyStringResult(nullptr),
mTrueResult(nullptr),
mFalseResult(nullptr)
: mEmptyStringResult(new StringResult(nullptr)),
mTrueResult(new BooleanResult(true)),
mFalseResult(new BooleanResult(false))
{
}
@ -28,34 +28,6 @@ txResultRecycler::~txResultRecycler()
while (numberIter.hasNext()) {
delete static_cast<NumberResult*>(numberIter.next());
}
NS_IF_RELEASE(mEmptyStringResult);
NS_IF_RELEASE(mTrueResult);
NS_IF_RELEASE(mFalseResult);
}
nsresult
txResultRecycler::init()
{
NS_ASSERTION(!mEmptyStringResult && !mTrueResult && !mFalseResult,
"Already inited");
mEmptyStringResult = new StringResult(nullptr);
NS_ENSURE_TRUE(mEmptyStringResult, NS_ERROR_OUT_OF_MEMORY);
NS_ADDREF(mEmptyStringResult);
mTrueResult = new BooleanResult(true);
NS_ENSURE_TRUE(mTrueResult, NS_ERROR_OUT_OF_MEMORY);
NS_ADDREF(mTrueResult);
mFalseResult = new BooleanResult(false);
NS_ENSURE_TRUE(mFalseResult, NS_ERROR_OUT_OF_MEMORY);
NS_ADDREF(mFalseResult);
return NS_OK;
}

View File

@ -21,7 +21,6 @@ class txResultRecycler
public:
txResultRecycler();
~txResultRecycler();
nsresult init();
void AddRef()
{
@ -72,9 +71,9 @@ private:
txStack mStringResults;
txStack mNodeSetResults;
txStack mNumberResults;
StringResult* mEmptyStringResult;
BooleanResult* mTrueResult;
BooleanResult* mFalseResult;
nsRefPtr<StringResult> mEmptyStringResult;
nsRefPtr<BooleanResult> mTrueResult;
nsRefPtr<BooleanResult> mFalseResult;
};
#endif //txResultRecycler_h__

View File

@ -80,11 +80,6 @@ txXPathOptimizer::optimize(Expr* aInExpr, Expr** aOutExpr)
if (exprType != Expr::LITERAL_EXPR &&
!aInExpr->isSensitiveTo(Expr::ANY_CONTEXT)) {
nsRefPtr<txResultRecycler> recycler = new txResultRecycler;
NS_ENSURE_TRUE(recycler, NS_ERROR_OUT_OF_MEMORY);
rv = recycler->init();
NS_ENSURE_SUCCESS(rv, rv);
txEarlyEvalContext context(recycler);
nsRefPtr<txAExprResult> exprRes;

View File

@ -125,10 +125,6 @@ txExecutionState::init(const txXPathNode& aNode,
NS_ENSURE_SUCCESS(rv, rv);
mRecycler = new txResultRecycler;
NS_ENSURE_TRUE(mRecycler, NS_ERROR_OUT_OF_MEMORY);
rv = mRecycler->init();
NS_ENSURE_SUCCESS(rv, rv);
// The actual value here doesn't really matter since noone should use this
// value. But lets put something errorlike in just in case

View File

@ -470,10 +470,6 @@ txMozillaXSLTProcessor::AddXSLTParam(const nsString& aName,
if (!mRecycler) {
mRecycler = new txResultRecycler;
NS_ENSURE_TRUE(mRecycler, NS_ERROR_OUT_OF_MEMORY);
rv = mRecycler->init();
NS_ENSURE_SUCCESS(rv, rv);
}
txXSLTParamContext paramContext(&mParamNamespaceMap, *contextNode,