From 21ffb670aeae4e3e927662fc302f5b2e788964ff Mon Sep 17 00:00:00 2001 From: Peter Van der Beken Date: Thu, 5 Jun 2014 15:14:56 +0200 Subject: [PATCH] Bug 1029104 - Convert XPathExpression to WebIDL bindings, remove txResultRecycler::init. r=bz. --HG-- extra : rebase_source : 156d0c9c4da5c7ef1aedce24f8aaa81111623d32 --- dom/xslt/xpath/XPathEvaluator.cpp | 8 +----- dom/xslt/xpath/txResultRecycler.cpp | 34 +++--------------------- dom/xslt/xpath/txResultRecycler.h | 7 +++-- dom/xslt/xpath/txXPathOptimizer.cpp | 5 ---- dom/xslt/xslt/txExecutionState.cpp | 4 --- dom/xslt/xslt/txMozillaXSLTProcessor.cpp | 4 --- 6 files changed, 7 insertions(+), 55 deletions(-) diff --git a/dom/xslt/xpath/XPathEvaluator.cpp b/dom/xslt/xpath/XPathEvaluator.cpp index 8bb7012aad7d..e6dda07d7aa4 100644 --- a/dom/xslt/xpath/XPathEvaluator.cpp +++ b/dom/xslt/xpath/XPathEvaluator.cpp @@ -110,13 +110,7 @@ XPathEvaluator::CreateExpression(const nsAString & aExpression, { nsresult rv; if (!mRecycler) { - nsRefPtr 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 doc = do_QueryReferent(mDocument); diff --git a/dom/xslt/xpath/txResultRecycler.cpp b/dom/xslt/xpath/txResultRecycler.cpp index 285b8e5381f9..b0f55b6cfc37 100644 --- a/dom/xslt/xpath/txResultRecycler.cpp +++ b/dom/xslt/xpath/txResultRecycler.cpp @@ -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(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; } diff --git a/dom/xslt/xpath/txResultRecycler.h b/dom/xslt/xpath/txResultRecycler.h index 055b00337429..06c34aed4d9a 100644 --- a/dom/xslt/xpath/txResultRecycler.h +++ b/dom/xslt/xpath/txResultRecycler.h @@ -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 mEmptyStringResult; + nsRefPtr mTrueResult; + nsRefPtr mFalseResult; }; #endif //txResultRecycler_h__ diff --git a/dom/xslt/xpath/txXPathOptimizer.cpp b/dom/xslt/xpath/txXPathOptimizer.cpp index a6c37514dd45..a7560ea36ec1 100644 --- a/dom/xslt/xpath/txXPathOptimizer.cpp +++ b/dom/xslt/xpath/txXPathOptimizer.cpp @@ -80,11 +80,6 @@ txXPathOptimizer::optimize(Expr* aInExpr, Expr** aOutExpr) if (exprType != Expr::LITERAL_EXPR && !aInExpr->isSensitiveTo(Expr::ANY_CONTEXT)) { nsRefPtr recycler = new txResultRecycler; - NS_ENSURE_TRUE(recycler, NS_ERROR_OUT_OF_MEMORY); - - rv = recycler->init(); - NS_ENSURE_SUCCESS(rv, rv); - txEarlyEvalContext context(recycler); nsRefPtr exprRes; diff --git a/dom/xslt/xslt/txExecutionState.cpp b/dom/xslt/xslt/txExecutionState.cpp index 9822ae92fd21..c6f635f2851f 100644 --- a/dom/xslt/xslt/txExecutionState.cpp +++ b/dom/xslt/xslt/txExecutionState.cpp @@ -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 diff --git a/dom/xslt/xslt/txMozillaXSLTProcessor.cpp b/dom/xslt/xslt/txMozillaXSLTProcessor.cpp index b9fdd2b00e4a..d12464528851 100644 --- a/dom/xslt/xslt/txMozillaXSLTProcessor.cpp +++ b/dom/xslt/xslt/txMozillaXSLTProcessor.cpp @@ -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,