Bug 1157898 part 4. Add ErrorResult::ErrorCodeIs() and use it in various places to get rid of ErrorCode(). r=peterv

This commit is contained in:
Boris Zbarsky 2015-04-27 09:18:52 -04:00
parent b29b29a61d
commit 485eb48959
7 changed files with 16 additions and 11 deletions

View File

@ -2412,7 +2412,7 @@ nsINode::ParseSelectorList(const nsAString& aSelectorString,
// We hit this for syntax errors, which are quite common, so don't
// use NS_ENSURE_SUCCESS. (For example, jQuery has an extended set
// of selectors, but it sees if we can parse them first.)
MOZ_ASSERT(aRv.ErrorCode() == NS_ERROR_DOM_SYNTAX_ERR,
MOZ_ASSERT(aRv.ErrorCodeIs(NS_ERROR_DOM_SYNTAX_ERR),
"Unexpected error, so cached version won't return it");
cache.CacheList(aSelectorString, nullptr);
return nullptr;

View File

@ -724,8 +724,8 @@ nsRange::IsPointInRange(nsINode& aParent, uint32_t aOffset, ErrorResult& aRv)
{
uint16_t compareResult = ComparePoint(aParent, aOffset, aRv);
// If the node isn't in the range's document, it clearly isn't in the range.
if (aRv.ErrorCode() == NS_ERROR_DOM_WRONG_DOCUMENT_ERR) {
aRv = NS_OK;
if (aRv.ErrorCodeIs(NS_ERROR_DOM_WRONG_DOCUMENT_ERR)) {
aRv.SuppressException();
return false;
}

View File

@ -1425,10 +1425,10 @@ nsXMLHttpRequest::GetResponseHeader(const nsACString& header,
}
aRv = httpChannel->GetResponseHeader(header, _retval);
if (aRv.ErrorCode() == NS_ERROR_NOT_AVAILABLE) {
if (aRv.ErrorCodeIs(NS_ERROR_NOT_AVAILABLE)) {
// Means no header
_retval.SetIsVoid(true);
aRv = NS_OK;
aRv.SuppressException();
}
}

View File

@ -129,7 +129,7 @@ public:
// StealJSException steals the JS Exception from the object. This method must
// be called only if IsJSException() returns true. This method also resets the
// ErrorCode() to NS_OK.
// error code to NS_OK.
void StealJSException(JSContext* cx, JS::MutableHandle<JS::Value> value);
void MOZ_ALWAYS_INLINE MightThrowJSException()
@ -164,6 +164,10 @@ public:
return mResult;
}
bool ErrorCodeIs(nsresult rv) const {
return mResult == rv;
}
private:
friend struct IPC::ParamTraits<ErrorResult>;
void SerializeMessage(IPC::Message* aMsg) const;

View File

@ -55,7 +55,7 @@ AudioProcessingEvent::LazilyCreateBuffer(uint32_t aNumberOfChannels,
AudioBuffer::Create(mNode->Context(), aNumberOfChannels,
mNode->BufferSize(),
mNode->Context()->SampleRate(), cx, aRv);
MOZ_ASSERT(buffer || aRv.ErrorCode() == NS_ERROR_OUT_OF_MEMORY);
MOZ_ASSERT(buffer || aRv.ErrorCodeIs(NS_ERROR_OUT_OF_MEMORY));
return buffer.forget();
}

View File

@ -129,7 +129,7 @@ DOMStorage::SetItem(const nsAString& aKey, const nsAString& aData,
return;
}
if (aRv.ErrorCode() != NS_SUCCESS_DOM_NO_OPERATION) {
if (!aRv.ErrorCodeIs(NS_SUCCESS_DOM_NO_OPERATION)) {
BroadcastChangeNotification(aKey, old, aData);
}
}
@ -148,7 +148,7 @@ DOMStorage::RemoveItem(const nsAString& aKey, ErrorResult& aRv)
return;
}
if (aRv.ErrorCode() != NS_SUCCESS_DOM_NO_OPERATION) {
if (!aRv.ErrorCodeIs(NS_SUCCESS_DOM_NO_OPERATION)) {
BroadcastChangeNotification(aKey, old, NullString());
}
}
@ -166,7 +166,7 @@ DOMStorage::Clear(ErrorResult& aRv)
return;
}
if (aRv.ErrorCode() != NS_SUCCESS_DOM_NO_OPERATION) {
if (!aRv.ErrorCodeIs(NS_SUCCESS_DOM_NO_OPERATION)) {
BroadcastChangeNotification(NullString(), NullString(), NullString());
}
}

View File

@ -150,7 +150,8 @@ XPathEvaluator::CreateExpression(const nsAString & aExpression,
aRv = txExprParser::createExpr(PromiseFlatString(aExpression), aContext,
getter_Transfers(expression));
if (aRv.Failed()) {
if (aRv.ErrorCode() != NS_ERROR_DOM_NAMESPACE_ERR) {
if (!aRv.ErrorCodeIs(NS_ERROR_DOM_NAMESPACE_ERR)) {
aRv.SuppressException();
aRv.Throw(NS_ERROR_DOM_INVALID_EXPRESSION_ERR);
}