NS_IMETHODIMP
nsXPathExpression::Evaluate(nsIDOMNode *aContextNode,
                            PRUint16 aType,
                            nsISupports *aInResult,
                            nsISupports **aResult)
{
    return EvaluateWithContext(aContextNode, 1, 1, aType, aInResult, aResult);
}
Beispiel #2
0
already_AddRefed<XPathResult>
XPathExpression::EvaluateWithContext(JSContext* aCx,
                                     nsINode& aContextNode,
                                     uint32_t aContextPosition,
                                     uint32_t aContextSize,
                                     uint16_t aType,
                                     JS::Handle<JSObject*> aInResult,
                                     ErrorResult& aRv)
{
    RefPtr<XPathResult> inResult;
    if (aInResult) {
        nsresult rv = UNWRAP_OBJECT(XPathResult, aInResult, inResult);
        if (NS_FAILED(rv) && rv != NS_ERROR_XPC_BAD_CONVERT_JS) {
            aRv.Throw(rv);
            return nullptr;
        }
    }

    return EvaluateWithContext(aContextNode, aContextPosition, aContextSize,
                               aType, inResult, aRv);
}