From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- Source/WebCore/xml/XPathEvaluator.cpp | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) (limited to 'Source/WebCore/xml/XPathEvaluator.cpp') diff --git a/Source/WebCore/xml/XPathEvaluator.cpp b/Source/WebCore/xml/XPathEvaluator.cpp index b405ff1c6..3aa141b27 100644 --- a/Source/WebCore/xml/XPathEvaluator.cpp +++ b/Source/WebCore/xml/XPathEvaluator.cpp @@ -1,6 +1,6 @@ /* * Copyright 2005 Frerich Raabe - * Copyright (C) 2006 Apple Computer, Inc. + * Copyright (C) 2006 Apple Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -37,36 +37,26 @@ namespace WebCore { using namespace XPath; -PassRefPtr XPathEvaluator::createExpression(const String& expression, - XPathNSResolver* resolver, - ExceptionCode& ec) +ExceptionOr> XPathEvaluator::createExpression(const String& expression, RefPtr&& resolver) { - return XPathExpression::createExpression(expression, resolver, ec); + return XPathExpression::createExpression(expression, WTFMove(resolver)); } -PassRefPtr XPathEvaluator::createNSResolver(Node* nodeResolver) +Ref XPathEvaluator::createNSResolver(Node* nodeResolver) { return NativeXPathNSResolver::create(nodeResolver); } -PassRefPtr XPathEvaluator::evaluate(const String& expression, - Node* contextNode, - XPathNSResolver* resolver, - unsigned short type, - XPathResult* result, - ExceptionCode& ec) +ExceptionOr> XPathEvaluator::evaluate(const String& expression, Node* contextNode, RefPtr&& resolver, unsigned short type, XPathResult* result) { - if (!isValidContextNode(contextNode)) { - ec = NOT_SUPPORTED_ERR; - return 0; - } + if (!isValidContextNode(contextNode)) + return Exception { NOT_SUPPORTED_ERR }; - ec = 0; - RefPtr expr = createExpression(expression, resolver, ec); - if (ec) - return 0; - - return expr->evaluate(contextNode, type, result, ec); + auto createResult = createExpression(expression, WTFMove(resolver)); + if (createResult.hasException()) + return createResult.releaseException(); + + return createResult.releaseReturnValue()->evaluate(contextNode, type, result); } } -- cgit v1.2.1